summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-11-12Netlink: Handle IPv4 routes with IPv6 nexthopsOndrej Zajicek
Accept RTA_VIA attribute in all cases. The old code always used RTA_GATEWAY for IPv4 / IPv6 and RTA_VIA for MPLS. The new code uses RTA_VIA in cases where AF of network and AF of nexthop differs.
2019-11-10BGP: Add option to enforce first AS in AS_PATHOndrej Zajicek (work)
This is optional check described in RFC 4271. Although this can be also done by filters, it is widely implemented option in BGP implementations. Thanks to Eugene Bogomazov for the original patch.
2019-11-05Doc: Minor fixOndrej Zajicek (work)
2019-11-05Doc: Add documentation for BGP option 'allow as sets'Ondrej Zajicek (work)
2019-11-05Filter: Add type info for more instructionsOndrej Zajicek (work)
2019-11-05Filter: Improve typecheck error messagesOndrej Zajicek (work)
2019-11-05Filter: Better constant promotionOndrej Zajicek (work)
We use constant promotion from IPv4 to Router-ID values, as they have same literals. Instead of ad-hoc code in filter instructions, add constant promotion code to parse-time typecheck code.
2019-11-05Filter: Improved parse-time typechecksOndrej Zajicek (work)
2019-11-05Filter: Parse-time typechecksOndrej Zajicek
Most expressions can be type-validated in parse time. It is not strong enough to eliminate runtime checks, but at least one gets errors immediately during reconfigure.
2019-11-04BGP: Add option to reject AS_SETsOndrej Zajicek (work)
There is a pending draft to make them obsolete
2019-11-03Support for address family constantsOndrej Zajicek (work)
We already had them defined on BGP level, but they are more general.
2019-11-03Nest: Fix bug in export tableOndrej Zajicek (work)
For regular channels do not compare src in export table, as we want to keep here only the best (exported) route per network.
2019-10-26BGP: RFC 8654 got releasedOndrej Zajicek (work)
2019-10-25Nest: Fix primary flag in show routeOndrej Zajicek (work)
The route is changed by rte_make_tmp_attrs(), so we need to compare net->routes to the original one. Thanks to Kenth Eriksson for the bugreport.
2019-10-24BGP: Fix handling of transitive extended communitiesOndrej Zajicek (work)
Transitive extended communities should be removed on external sessions, the old code them in all cases. Thanks to Jean-Daniel Pauget for the original patch.
2019-10-22Accept uppercase letters in iproute2 namesOndrej Zajicek
Names read from texfiles in /etc/iproute2/* are normalized by replacing non-alphanumeric chars with underscore. The patch fixes handling of uppercase letters, which were handled as non-alphanumberic. Thanks to Igor Gavrilov for the bugreport.
2019-10-19Nest: Fix build without protocolsFabrice Fontaine
(CHECK keyword added by commiter)
2019-10-19RPKI: Fix handling of IPv6 cache addressesOndrej Zajicek (work)
The old code used just sizeof(struct sockaddr) bytes of IP address.
2019-10-11NEWS and version updatev2.0.7Ondrej Zajicek (work)
2019-10-10BGP: Fix reconfiguration with import tableOndrej Zajicek (work)
Change of some options requires route refresh, but when import table is active, channel reload is done from it instead of doing full route refresh. So in this case we request it internally.
2019-10-10Doc: Minor documentation fixesOndrej Zajicek (work)
Thanks to Christoph for the bugreport.
2019-10-10Nest: Handle non-MPLS on MPLS case in recursive route updateOndrej Zajicek (work)
When non-MPLS recursive route resolves to MPLS underlying route, then it should get MPLS labels from the the underlying route.
2019-10-10Nest: Handle PtP links in recursive route updateOndrej Zajicek (work)
Underlying (IGP) route may lead to PtP link, in this case it does not need gateway. Which is different than direct route without gateway. When recursive (BGP) route uses PtP route, it should not use recursive next hop as immediate next hop, while for direct routes it should.
2019-10-10Nest: Fix recursive route updateOndrej Zajicek (work)
Missing cleanup can lead to dangling pointer to old next hops.
2019-10-09BGP: AIGP metric support (RFC 7311)Ondrej Zajicek (work)
2019-10-09Lib: Support for 64-bit numbers in bvsnprintf()Ondrej Zajicek (work)
Use 'l' for s64/u64 instead of for long/ulong, as that is much more useful. Also make number() correct with regard to signed/unsigned typecasts.
2019-10-09Build: Pass -g to cc called as linker to explicitly keep debug infoMaria Matejka
2019-10-09Testing measures timesMaria Matejka
2019-10-09LTO: debug info also kept with the final binaryMaria Matejka
2019-10-09Perf: allow testing with cached route attributes.Maria Matejka
2019-10-08Doc: Fix duplicated linesOndrej Zajicek
Thanks to elados93 for the patch.
2019-10-04Testing: Don't call vsnprintf with NULL formatMaria Matejka
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.