summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-04Fixed undefined behavior on signals.Maria Matejka
The C11 specification allows only sig_atomic_t and _Atomic variable access. All other accesses to global variables are undefined behavior. Using int was probably OK on x86 and x86_64; yet there were some reports from other architectures (especially some MIPS) that in rare cases, after issuing SIGHUP, BIRD did strange things.
2019-09-30BFD: Fix reconfiguration of neighborsOndrej Zajicek (work)
The bfd_reconfigure_neighbors() returned after first reconfigured neighbor instead of continuing with the next one. Thanks to Winston Chen for the bugreport and a patch.
2019-09-24Nest: Fix bug in export tableOndrej Zajicek (work)
Exported route may be in modified state, we need to get cached one for rte_same() and rta_clone() to work properly.
2019-09-24Filter: Fix eval commandOndrej Zajicek (work)
2019-09-23Nest: Fix help for 'graceful restart' commandOndrej Zajicek (work)
Multi-worded commands are not automatically added to top-level help output. Thanks to Christoph for the bugreport.
2019-09-23Filters: Function body comparison result now used.Maria Matejka
Function bodies were compared in post-parse time, yet the result was not used and the functions were incorrectly considered the same as before. Now the result is used to reload affected protocols.
2019-09-17BGP: Fix setup with multiple dynamic BGP rangesOndrej Zajicek (work)
Based on a patch from Liam Nattrass, thanks.
2019-09-10NEWS and version updatev2.0.6Ondrej Zajicek (work)
2019-09-10Doc: Update BGP mask documentationOndrej Zajicek (work)
2019-09-10Filter: Fix crash with 'where' filters and function callsOndrej Zajicek (work)
The old 'where' code computed size value incorrectly, which leads to invalid instruction lines and filter errors or crashes.
2019-09-09BGP: Fix handling of bgp_aggregator atttributeOndrej Zajicek (work)
The attribute should not be modifiable by filters as we do not support its type.
2019-09-09BGP: Fix bugs in handling of shutdown messagesOndrej Zajicek (work)
There is an improper check for valid message size, which may lead to stack overflow and buffer leaks to log when a large message is received. Thanks to Daniel McCarney for bugreport and analysis.
2019-08-29OSPF: Fix 'show ospf lsadb' cmd without proto argOndrej Zajicek (work)
It crashed when used without protocol argument. Thanks to Alexander for the bugreport.
2019-08-27Channel refeed with import table splitting between routes for one prefixMaria Matejka
2019-08-21Sysdep: Drop supplementary groups when dropping GIDOndrej Zajicek (work)
We forgot to do that. Oops.
2019-08-21BGP: Use reallocation for capability structureOndrej Zajicek (work)
Instead of having large stack buffer for max amount of AFI/SAFI pairs. The old code is not correct w.r.t. extendeded option length, as more AFI/SAFI pairs may fit into the capability option.
2019-08-20BGP: Implement extended optional parameters lengthOndrej Zajicek (work)
Extends BGP options/capabilities data length to 16bit, to avoid issues with too many capabilities. See draft-ietf-idr-ext-opt-param-07
2019-08-14Nest: Fix crash in route reload when some channels are not up.Ondrej Zajicek (work)
Only channels that are up can be reloaded.
2019-08-14BGP: implement Adj-RIB-OutOndrej Zajicek (work)
The patch implements optional internal export table to a channel and hooks it to BGP so it can be used as Adj-RIB-Out. When enabled, all exported (post-filtered) routes are stored there. An export table can be examined using e.g. 'show route export table bgp1.ipv4'.
2019-08-13Filter: Fixing empty block and never-executed-statement bugMaria Matejka
2019-08-12RAdv: Allow solicited RAs to be sent as unicastOndrej Zajicek (work)
Add option to send solicited router advertisements as unicast directly to soliciting nodes instead of as multicast to all-nodes group.
2019-08-06Filter: Allow to use set constants / expressions in path masksOndrej Zajicek (work)
Allow to not only use set literals in path masks, but also existing set constants or set expressions.
2019-08-06Filter: Allow to use sets in path masksOndrej Zajicek (work)
2019-08-06BGP: Improve reconfigurationOndrej Zajicek (work)
Several BGP channel options (including 'next hop self') could be reconfigured without session reset, with just route refeed/refresh. The patch improves reconfiguration code to do it that way.
2019-08-06BGP: Fix 'deterministic med' to work with 'merge paths'Ondrej Zajicek (work)
The 'deterministic med' option is implemented by suppressing other than best-in-group routes (grouped by ASN) from best route selection. This interferes with 'merge paths' as supressed routes are no longer mergable with best route. This is fixed by suppressing only those routes that are not mergable with best-in-group route.
2019-08-06Configure: CFLAGS updateOndrej Zajicek (work)
- add -flto only to default CFLAGS - add -fno-strict-aliasing, -fno-strict-overflow always - remove -Wno-implicit-fallthrough
2019-08-01Show LDFLAGS in configurev2.0.5Ondrej Zajicek
2019-08-01Enable more threads for fltoOndrej Zajicek
2019-08-01Fix output of CFLAGS in configure scriptOndrej Zajicek
2019-07-31NEWS and version updateOndrej Zajicek (work)
2019-07-31Change 'graceful down' command to 'graceful restart' and update docsOndrej Zajicek (work)
The command initiating planned graceful restart including bird shutdown should be called 'graceful restart' instead of 'graceful down', as the later should be reserved for graceful shutdown in style of RFC 8326.
2019-07-30Doc: Update documentation about VRFs and BFDOndrej Zajicek (work)
2019-07-30Conf: Fixed symbol redefinitionMaria Matejka
2019-07-30Log: Fixed race condition in reconfigure while BFD is runningMaria Matejka
2019-07-29RPKI: Fix allocation of hostname when using an IPv6 addressVincent Bernat
2019-07-25BFD: Fix formatting of 'show bfd sessions'Ondrej Zajicek (work)
The formatting was broken due to longer date in 'since' column.
2019-07-24Merge remote-tracking branch 'origin/mq-filter-stack'Ondrej Zajicek (work)
2019-07-24Nest: VRF of protocol can be explicitly specified as 'default'Ondrej Zajicek (work)
Protocol can have specified VRF, in such case it is restricted to a set of ifaces associated with the VRF, otherwise it can use all interfaces. The patch allows to specify VRF as 'default', in which case it is restricted to a set of iface not associated with any VRF.
2019-07-23OSPF: Fix formatting of 'show ospf neighbors'Ondrej Zajicek (work)
The formatting was broken when too short router-id was used.
2019-07-23RPKI: Fix reconfiguration when ssh parameters are undefinedOndrej Zajicek (work)
2019-07-18Lib: Improve printf() testsOndrej Zajicek (work)
Includes patch from Maximilian Eschenbacher
2019-07-18Lib: Fix print of 64-bit router idOndrej Zajicek (work)
Mismatched types to printf(). The old code coincidentally worked on amd64 due to its calling conventions. Thanks to Maximilian Eschenbacher for the bugreport.
2019-07-17BFD: Support for VRFsOndrej Zajicek (work)
Allow multiple BFD instances in separate VRFs, dispatch BFD requests according to VRFs. Thanks to Alexander Zubkov for notice and patches.
2019-07-15Netlink: Fix parsing of multipath routes with MPLS labelsOndrej Zajicek (work)
2019-07-15Netlink: Use route replace for IPv4Ondrej Zajicek (work)
Use route replace netlink op instead of delete+add netlink ops for kernel IPv4 route replace. This avoids some packetloss during route replace. Still use the old behavior for IPv6, as some kernel bugs are hidden in IPv6 ECMP handling.
2019-07-15Merge remote-tracking branch 'origin/master' into mq-filter-stackMaria Matejka
2019-07-15Filter: further split of print & die to FI_PRINT, FI_FLUSH and FI_DIEMaria Matejka
2019-07-15Filter: Simpler filter context allocationMaria Matejka
2019-07-15Filter: FID_MEMBER debug string is a C constant stringMaria Matejka
2019-07-15Filter: Converted FI_PRINT and FI_PATHMASK_CONSTRUCT to VARARGMaria Matejka