- Mar 16, 2021
-
-
Ondřej Zajíček authored
In OSPFv3, only Hello and DBDes packets contain flags specifying whether RFC 7166 authentication trailer is used. Other packets are processed based on stored authentication state in neighbor structure. Update this state with each received Hello to handle authentication change from reconfigurations. Thanks to Joakim Tjernlund and Kenth Eriksson for the bugreport.
-
- Mar 15, 2021
-
-
Ondřej Zajíček authored
When a link-local address is set, use the existing iface for scope. Thanks to Marcel Krüger for the bugreport.
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
-
- Mar 12, 2021
-
-
Ondřej Zajíček authored
In general, events are code handling some some condition, which is scheduled when such condition happened and executed independently from I/O loop. Work-events are a subgroup of events that are scheduled repeatedly until some (often significant) work is done (e.g. feeding routes to protocol). All scheduled events are executed during each I/O loop iteration. Separate work-events from regular events to a separate queue and rate limit their execution to a fixed number per I/O loop iteration. That should prevent excess latency when many work-events are scheduled at one time (e.g. simultaneous reload of many BGP sessions).
-
- Mar 10, 2021
-
-
Ondřej Zajíček authored
-
- Mar 09, 2021
-
-
Ondřej Zajíček authored
-
- Feb 12, 2021
-
-
Ondřej Zajíček authored
Also, no automatic reload for BGP channels without import/export table.
-
- Feb 10, 2021
-
-
Ondřej Zajíček authored
-
This is an implementation of draft-walton-bgp-hostname-capability-02. It is implemented since quite some time for FRR and in datacenter, this gives a nice output to avoid using IP addresses. It is disabled by default. The hostname is retrieved from uname(2) and can be overriden with "hostname" option. The domain name is never set nor displayed. Minor changes by committer.
-
Ondřej Zajíček authored
If there are roa_check() calls in channel filters, then the channel subscribes to ROA table notifications, which are sent when ROA tables are updated (subject to settle time) and trigger channel reload or refeed.
-
- Feb 07, 2021
-
-
Ondřej Zajíček authored
Add macros for recursive filter iteration that allows to examine all instructions reachable from a filter.
-
- Jan 22, 2021
-
-
Ondřej Zajíček authored
Flag signalling that MP-BGP mode should be used got reset after first batch of routes, so remaining routes were processed without that, leading to missing MP_REACH_NLRI attribute. Thanks to Piotr Wydrych for the bugreport.
-
- Jan 14, 2021
-
-
Ondřej Zajíček authored
With net.ipv4.conf.XXX.ignore_routes_with_linkdown sysctl, a user can ensure the kernel does not use a route whose target interface is down. Such route is marked with a 'dead' / RTNH_F_DEAD flag. Ignore these routes or multipath nexthops during scan. Thanks to Vincent Bernat for the original patch.
-
- Jan 12, 2021
-
-
Ondřej Zajíček authored
-
Ondřej Zajíček authored
Add fake MP_REACH_NLRI attribute with BGP next hop when encoding MRT table dumps for IPv6 routes. That is necessary to encode next hop as NEXT_HOP attribute is not used for MP-BGP. Thanks to Santiago Aggio for the bugreport.
-
- Jan 10, 2021
-
-
Ondřej Zajíček authored
Direct BFD sessions needs to be dispatched not only by IP addresses, but also by interfaces, in order to avoid collisions between neighbors with the same IPv6 link-local addresses. Extend BFD session hash_ip key by interface index to handle that. Use 0 for multihop sessions. Thanks to Sebastian Hahn for the original patch.
-
- Jan 07, 2021
-
-
Ondřej Zajíček authored
It was mixed-up if hostname is IPv6 address, and reporting separate values (like port) on separate lines fits better into key-value style of 'show protocols all' output. Also, the patch simplifies transport identification formatting (although it is unused now). Thanks to Alarig Le Lay for the suggestion.
-
Ondřej Zajíček authored
So one can define kernel protocol template without channels. For other protocols, it is either irrelevant or already done. Thanks to Clemens Schrimpe for the bugreport.
-
Ondřej Zajíček authored
Also remove description of (no longer supported) per-route 'bfd' option, and add examples of IPv6 routes with link-local nexthops.
-
- Jan 06, 2021
-
-
Ondřej Zajíček authored
No longer needed after redesign of export handling.
-
Ondřej Zajíček authored
The option is not implemented since transition to 2.0 and no plan to add it. Also remove some deprecated RTS_* valus from documentation. Thanks to Sébastien Parisot for notification.
-
Ondřej Zajíček authored
For ECMP routes, RTA_FLOW attribute must be set per-nexthop, not per-route. Our corresponding krt_realm attribute is per-route. Thanks to Mikhail Petrov for the bugreport.
-
- Dec 29, 2020
-
-
(Minor syntactic changes by committer)
-
- Dec 28, 2020
-
-
Ondřej Zajíček authored
We need to define 'net' field temporarily as it may be accessed by per-route filters. Thanks to Damian Zaremba for the bugreport.
-
Ondřej Zajíček authored
Broken detection of top-level case caused crash when return was called from top-of-stack position. It should behave as reject/accept. Thanks to Damian Zaremba for the bugreport.
-
- Dec 07, 2020
-
-
Ondřej Zajíček authored
The patch add support for per-channel debug flags, currently just 'states', 'routes', and 'filters'. Flag 'states' is used for channel state changes, remaining two for routes passed through the channel. The per-protocol debug flags 'routes'/'filters' still enable reporting of routes for all channels, to keep existing behavior. The patch causes minor changes in some log messages.
-
- Dec 02, 2020
-
-
Ondřej Zajíček authored
Add 'weight' route attribute that allows to get and set ECMP weight of nexthops. Similar to 'gw' attribute, it is limited to the first nexthop, but it is useful for handling BGP multipath, where an ECMP route is merged from multiple regular routes.
-
- Nov 25, 2020
-
-
Ondřej Zajíček authored
This fixes an issue with dirty node passed to add_tail(). Thanks to Andreas Rammhold for the initial patch.
-
Ondřej Zajíček authored
The log subsystem should be locked earlier, as default_log_list() may internally manipulate with the current_log_list (if it is also a default log list).
-
Ondřej Zajíček authored
The static logging structures are reused, we need to reinitialize them otherwise add_tail() would fail in debug build. Reinitializing these structures should be fine as the list they belong to is being reinitialized on entry to the very same function. Thanks to Andreas Rammhold and Mikael Magnusson for patches.
-
- Nov 24, 2020
-
-
Ondřej Zajíček authored
Also fixes some more failed asserts due to add_tail().
-
Ondřej Zajíček authored
When config structures are copied due to template application, we need to reset list node structure before calling add_tail(). Thanks to Mikael Magnusson for patches.
-
Ondřej Zajíček authored
-
The babel protocol code was initialising objects returned from the slab allocator by assigning to each of the struct members individually, but wasn't touching the NODE member while doing so. This leads to warnings on debug builds since commit: baac7009 ("List expensive check.") To fix this, introduce an sl_allocz() variant of the slab allocator which will zero out the memory before returning it, and switch all the babel call sites to use this version. The overhead for doing this should be negligible for small objects, and in the case of babel, the largest object being allocated was being zeroed anyway, so we can drop the memset in babel_read_tlv().
-
- Nov 19, 2020
-
-
Ondřej Zajíček authored
Add support for proper handling of multiple routes with the same network to the static protocol. Routes are distinguished by internal index, which is assigned automatically (sequentially for routes within each network). Having different route preference or igp_metric attribute is optional.
-
- Nov 18, 2020
-
-
-
Ondřej Zajíček authored
When a new link-LSA is originated, we need to notify intra-area-prefix-LSA handling, like when a new link-LSA is received. Otherwise a new network prefix added to a DR is not propagated immediately. Thanks to Bala Sajja for the bugreport.
-
- Nov 15, 2020
-
-
Ondřej Zajíček authored
Thanks to Hexhu for the bugreport.
-
Ondřej Zajíček authored
Logging as a result of triggered receive limit in import table code accesset rte->net, which was not filed yet. Thanks to Pier Carlo Chiodi for the bugreport.
-