summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-11-28Nest: Do not hard-reset interface when preferred address is changedOndrej Zajicek (work)
Modify protocols to use preferred address change notification instead on depending on hard-reset of interfaces in that case, and remove hard-reset in that case. This avoids issue when e.g. IPv6 protocol restarts interface when IPv4 preferred address changed (as hard-reset is unavoidable and common for whole iface). The patch also fixes a bug when removing last address does not send preferred address change notification.
2018-11-21Autoconf: Minor cleanupOndrej Zajicek (work)
2018-11-21MRT documentationOndrej Zajicek (work)
2018-11-20The MRT protocolOndrej Zajicek (work)
The new MRT protocol is responsible for periodic RIB table dumps in the MRT format (RFC 6396). Also the existing code for BGP4MP MRT dumps is refactored and splitted between BGP to MRT protocols, will be more integrated into MRT in the future. Example: protocol mrt { table "*"; filename "%N_%F_%T.mrt"; period 60; } It is partially based on the old MRT code from Pavel Tvrdik.
2018-11-18Unix: Implement log file size limit / log rotationOndrej Zajicek (work)
Allow to specify log file size limit and ensure that log file is rotated to secondary name to avoid exceeding of log size limit. The patch also fixes a bug related to keeping old fds open after reconfiguration and using old fds after 'configure undo'.
2018-11-18Unix: Refactor tracked filesOndrej Zajicek (work)
We need access to resource in order to free it.
2018-11-18Configure: Use standard --runstatedir optionOndrej Zajicek (work)
Newer Autoconf defines --runstatedir option for setting directory for run-time variable data. Use it instead our old --with-runtimedir.
2018-11-05Filter: Make ifname attribute modifiableOndrej Zajicek (work)
Allow to change an interface associated with a route by setting ifname attribute. It will also change the route to a direct one.
2018-11-05Nest: Fix crash in rta_show() for RPKI and Babel routesOndrej Zajicek (work)
Some new route source values did not have associated string in rta_show(), which might caused crash in some cases.
2018-10-26BGP: Fix VRF for listening socketOndrej Zajicek (work)
Listening socket should be bound to specified interface and VRF. Thanks to Alexander Zubkov for the bugreport.
2018-10-25OSPF: Fix some trace messagesOndrej Zajicek (work)
Missing argument in MTU change trace message can crash bird when MTU change happens and trace messages are active. Thanks to Alexander Velkov for the bugreport.
2018-10-25Lib: Force output type in ip4_addr constructorOndrej Zajicek (work)
Fixes type issue when u64 is pushed into it.
2018-10-25Filter: Add support for VPN_RD setsOndrej Zajicek (work)
2018-10-25Filter: Fix minor bug in accessing bgp_pathOndrej Zajicek (work)
Not relevant for regular BGP paths, just for BGP paths added by filters to e.g. static routes.
2018-10-11Fix installation with --disable-clientOndrej Zajicek (work)
The old check assumed that @CLIENT@ does not contain birdc, which is not true in 2.0 branc. Thanks to Thomas Petazzoni for the bugreport and original patch.
2018-10-11Nest: Fix 'show interfaces summary' commandOndrej Zajicek (work)
The command showed interfaces that were removed / in shutdown.
2018-10-01Lib: Add and use ev_new_init()Ondrej Zajicek (work)
2018-10-01BGP: Fix bug in show protocol related to LLGROndrej Zajicek (work)
When channel is not active due to not be negotiated during sessino establishment, the LLGR timer is not allocated, so we should not show it.
2018-09-18No more warnings ...Jan Maria Matejka
no more warnings No more warnings over me And while it is being compiled all the log is black and white Release BIRD now and then let it flee (use the melody of well-known Oh Freedom!)
2018-09-11Conf: Show the line:char position where the syntax error happensJan Maria Matejka
2018-08-28Main: Add -b to force background even in debug modeJan Maria Matejka
2018-08-24Doc: Fix description of 'description'Ondrej Zajicek (work)
Thanks to Clemens Schrimpe for the bugreport.
2018-08-22Lib: recursive printfJan Maria Matejka
Use like this: void func(const char *msg, va_list args) { ... bvsnprintf(buf, len, "file %s, line %d: %V (foo %d, bar %d)", file, line, msg, &args, foo, bar); ... }
2018-08-21DOC: Remove pipe mode referenceOndrej Zajicek (work)
Pipe mode was removed in 2.0, remove reference to it in the documentation. Thanks to Piotr Wydrych for the bugreport.
2018-08-14Bison: A bit more verbose error messages in config.Jan Maria Matejka
2018-08-14Make: Add option to force colors in compiler outputJan Maria Matejka
2018-08-14M4: generate synchronization linesJan Maria Matejka
This also includes Bison version check. Versions before 3.0 don't support them in a reliable way and we don't promise to work with versions older than 2.4.
2018-08-13sysdep/unix/main.c: Remove trailing spacesPavel Tvrdik
2018-08-07Doc: Fix notes related to obsolete optionOndrej Zajicek (work)
Thanks to Julien Dessaux for the report.
2018-07-31BGP: Long-lived graceful restartOndrej Zajicek (work)
The patch implements long-lived graceful restart for BGP, namely draft-uttaro-idr-bgp-persistence-03.
2018-07-28BSD: Use MSG_DONTROUTE for unicast packets on FreeBSDOndrej Zajicek (work)
BSD systems cannot use SO_DONTROUTE, because it does not work properly with multicast packets (perhaps it tries to find iface based on multicast group address). But we can use MSG_DONTROUTE sendmsg() flag for unicast packets. Works on FreeBSD, is ignored on OpenBSD and is broken on NetBSD (i guess due to integrated routing table and ARP table).
2018-07-19RAdv: Fix crash during prefix changeOndrej Zajicek (work)
Thanks to Julian Schuh for the bugreport.
2018-07-19OSPF: Fix crash during route removalOndrej Zajicek (work)
The bug was introduced by an earler patch which removed additional eattr argument to rt_notify hook.
2018-07-06Nest: Fix race condition during reconfiguration, part 2Ondrej Zajicek (work)
If export filter is changed during reconfiguration and a route disappears between reconfiguration and refeed (e.g., if the route is a static route also removed during the reconfiguration), the route is not withdrawn. The issue was fixed for regular channels by an earlier patch. This patch fixes the issue for channels in RA_ACCEPTED mode (first-pass-the-filter), used by BGP with 'secondary' option.
2018-07-03Cleanup some warningsOndrej Zajicek (work)
2018-07-03Nest: Fix race condition during reconfigurationOndrej Zajicek (work)
If export filter is changed during reconfiguration and a route disappears between reconfiguration and refeed (e.g., if the route is a static route also removed during the reconfiguration), the route is not withdrawn. The patch fixes that by adding tx reconfiguration timestamp.
2018-07-01BGP: Use implicit-NULL label when announcing MPLS routes with local next-hopOndrej Zajicek (work)
We currently cannot assing local labels, but we can still be LSP egress router. Therefore when we announce labeled route with local next-hop, we should announce implicit-NULL label instead of rejecting it completely.
2018-07-01BGP: Fix parsing of MPLS withdrawalsOndrej Zajicek (work)
RFC 3107 was bit vague with regard to labeled withdrawals, RFC 8277 clarified that. The old code was incompatible with some implementations, namely with Juniper. Thanks to Vadim Fedorenko for the original patch.
2018-06-29BGP: Attribute set function merged with its common counterpartMaria Jan Matejka
2018-06-27BSD: Fix of the previous commitOndrej Zajicek (work)
2018-06-27Nest: Neighbor cache cleanupsOndrej Zajicek (work)
Simplify neighbor cache code, fix several minor bugs, and improve handling of ONLINK flag.
2018-06-26Autotools: updated config.guess and config.subMaria Matejka
Updated to version 63b4ce2e8c28aee6a32133e400436e4ca885215a from git://git.savannah.gnu.org/config.git Previous version was 93b5037172b15ad28952481933517f1ba93d125b
2018-06-26Android: check for extra libs needed for buildMaria Matejka
2018-06-26Doc: renamed progdoc files Doc -> progdoc to fix collision with doc/ folder ↵Maria Matejka
on case-insensitive filesystems
2018-06-26Config: Dropping CF_ADDTO.Jan Maria Matejka
2018-06-19Filter: fixed eattr cached pointerJan Maria Matejka
Use ACCESS_RTE to guard **f_rte, use ACCESS_EATTRS to guard **f_eattrs. Use f_rta_cow() before writing to rta or eattrs, use f_rte_cow() before writing preference (stored in rte). Do not access eattrs indirectly through (*f_rte)->attrs->eattrs, it is way too slow. The cached pointer is faster.
2018-06-19Merge branch 'int-new' into HEADJan Maria Matejka
2018-06-13Babel: Fix handling of missing IPv4 next hopsOndrej Zajicek (work)
In case of missing IPv4 next hop, we should skip such routes on transmit and ignore such routes on receive. Thanks to Julian Schuh for the bugreport and Toke Hoiland-Jorgensen for the original patch.
2018-06-13BGP: Handle missing NEXT_HOP attribute properlyOndrej Zajicek (work)
RFC 7606 specifies handle-as-withdraw instead of session reset.
2018-05-30Nest: Removing separate tmpa from route propagationJan Maria Matejka
This is a fundamental change of an original (1999) concept of route processing inside BIRD. During import/export, there was a temporary ea_list created which was to be used instead of the another one inside the route itself. This led to some confusion, quirks, and strange filter code that handled extended route attributes. Dropping it now. The protocol interface has changed in an uniform way -- the `struct ea_list *attrs` argument has been removed from store_tmp_attrs(), import_control(), rt_notify() and get_route_info().