summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-06-27Additional CLI sockets can be now configured in the config fileMaria Matejka
If the user has such a need, they may configure additional sockets in the config file. This may work for e.g. some advanced access control.
2024-06-27CLI now has a configuration structureMaria Matejka
2024-06-27Typed lists: added forgotten #undefMaria Matejka
2024-06-27Backported typed list updates from v3Maria Matejka
Source: dda37842dcf82dae8e441a6c2bcef4b0ffae3429
2024-06-26Doc: Minor cleanups in BFD documentationOndrej Zajicek
2024-06-26BFD: Add option to accept zero checksum for IPv6 UDP packetsAlexander Zubkov
Some vendors do not fill the checksum for IPv6 UDP packets. For interoperability with such implementations one can set UDP_NO_CHECK6_RX socket option on Linux. Thanks to Ville O for the suggestion. Minor changes by committer.
2024-05-30Kernel: Do not use route replace when krt_metric differsOndrej Zajicek
The krt_metric is a part of the primary key, so it cannot differ for route replace operation. Thanks to Leif Jakob for the bugreport.
2024-05-30Filter: Silence some warnings in clangOndrej Zajicek
2024-05-30Lib: Fix BSD buildOndrej Zajicek
2024-05-29Lib: Use access() function attributeOndrej Zajicek
2024-05-28Lib: Use alloc_size() function attributeOndrej Zajicek
2024-05-28BFD: Fix build when BFD is disabledOndrej Zajicek
Move bfd_opts grammar inside BFD parser code to avoid dependences between nest and BFD grammars, which breaks when BFD build is disabled. Add dummy bfd_opts grammar rule, so protocols can use this nonterminal even with BFD disabled. Thanks to Yuri Honegger for the bugreport.
2024-05-07Formalized our contribution policy which we're currently applyingMaria Matejka
2024-04-17Doc: BFD updateOndrej Zajicek
2024-04-16BFD: Set password per sessionKaterina Kubecova
2024-04-11Doc: Fix datetime format for password entriesOndrej Zajicek
In BIRD 1, we used DD-MM-YYYY, while in BIRD 2 we switched to the usual format YYYY-MM-DD. Thanks to Janne Pisilä for the bugreport.
2024-04-04OSPF: Allow loopback nexthop in OSPFv3-IPv4Ondrej Zajicek
In OSPFv3-IPv4 there is no requirement that link-local next hop announced in Link-LSA must be in interface address range. Therefore, for interfaces that do not have IPv4 address we can use some loopback IP address and announce it as a next hop. Also we should accept such address.
2024-03-25ASPA: checks done in filters; no autoreload yetMaria Matejka
2024-03-25ASPA: basic data structures and Static protocol supportMaria Matejka
2024-03-25Expanded usage of stdbool.h to the whole BIRDMaria Matejka
2024-03-22NEWS and version updateOndrej Zajicek
2024-03-22Static: Fix invalid combination of nexthop optionsOndrej Zajicek
BFD requires defined local IP, but for nexthop with onlink there might not be such address. So we reject this combination of nexthop options. This prevent crash where such combination of options is used.
2024-03-21Revert "OSPF: On physical PtP links, skip next-hop resolving"Ondrej Zajicek
This reverts commit 31aa62ae6d2e111e87c08b4b27a16ead968f0689.
2024-03-21Merge commit '44e351d1522f0099687aac9fd65dcea73a04af43'Ondrej Zajicek
2024-03-19Babel: Fix build with limited set of protocolsOndrej Zajicek
2024-03-19Aggregator: Fix build with limited set of protocolsOndrej Zajicek
2024-03-11Static: Fix build with limited set of protocolsMichal Zagorski
2024-03-10NEWS and version updateOndrej Zajicek
2024-03-05Client: Add support for completion of command optionsOndrej Zajicek
We can easily extend command completion to handle also keywords for command options. Help for command options is not yet supported.
2024-03-05Filter: Add route attribute gw_mpls_stackOndrej Zajicek
Add route attribute gw_mpls_stack to make MPLS stack of route nexthop accessible from filters. Its type is T_CLIST, which is really not correct (as it is a list, while T_CLIST is a set). Therefore, we keep this attribute *undocumented* and it will be *changed* without further notice. Based on a patch from Trisha Biswas <tbiswas@fastly.com>, thanks!
2024-03-05BFD: Add arguments to 'show bfd sessions' commandOndrej Zajicek
Add several arguments to 'show bfd sessions' command to filter the list of sessions.
2024-03-04BFD: Improve 'show bfd sessions all' commandOndrej Zajicek
2024-03-04BFD: Show session for ip / ip prefixKaterina Kubecova
2024-03-04BFD: show bfd sessions allKaterina Kubecova
2024-02-22RPKI: Add 'local address' configuration optionJob Snijders
Allow to explicitly configure the source IP address for RPKI-To-Router sessions. Predictable source addresses are useful for minimizing the holes to be poked in ACLs. Changed from 'source address' to 'local address' by committer.
2024-02-20BGP: Maintain valid route attribute flags even in local tablesOndrej Zajicek
BGP route attributes have flags (Optional, Transitive) that are validated on decode and set to valid value on export. But if such attribute is modified by filter or set internally by BGP during import, then its flags would be zero in local tables. That usually does not matter, as they are not used locally and they were fixed on export, but invalid flags leaked in BMP and MRT dumps. Keep route attribute flags set to valid values even when set by filters or modified by BGP.
2024-02-18BGP: Update SendHoldTimer BGP Error codeJob Snijders
IANA registered an "Early Allocation" BGP Error code for 'Send Hold Timer Expired' event. Update BIRD to use that error code.
2024-02-16Static: Allow to define both nexthop and interfaceOndrej Zajicek
Allow to define both nexthop and interface using iproute2-like syntax, e.g.: route 10.0.0.0/16 via 10.1.0.1 dev "eth0"; Now we can avoid to use link-local scope hack (e.g. 10.1.0.1%eth0) for cases where both nexthop and interface have to be defined. Thanks to Marcin Saklak for the suggestion.
2024-02-16Netlink: Fix spelling of krt_ssthresh / krt_lock_ssthreshOndrej Zajicek
BIRD route attribute for RTAX_SSTHRESH metric was krt_sstresh instead of krt_ssthresh. Fix that and keep old name as an depreacted alias.
2024-02-16Netlink: Cleanups in route metricsOndrej Zajicek
- Add krt_fastopen_no_cookie atttibute - Add missing krt_lock_* bits - Fix krt_feature_allfrag - Fix type of EA_KRT_LOCK and EA_KRT_FEATURES
2024-02-14Filter: Add support for setting TCP congestion control algorithmOndrej Zajicek
Allow to set TCP congestion control algorithm using krt_congctl route attribute. Based on patch from Trisha Biswas <tbiswas@fastly.com>, thanks!
2024-02-14Filter: Add support for string route attributeOndrej Zajicek
2024-02-07BGP: Allow multiple EBGP neighbors with the same peer.Alexander Zubkov
We can distinguish BGP sessions if at least one side uses a different IP address. Extend olock mechanism to handle local IP as a part of key, with optional wildcard, so BGP sessions could local IP in the olock and not block themselves.
2024-02-06birdc: Do not execute cmd on noninteractive help requestInrin
The help command triggered by '?' keeps the message in readline buffer, so it could be edited. For noninteractive shell it leads to an unexpected side effect that `echo <cmd> ? | birdc` executes the command <cmd> after showing its help. Avoid this by clearing the readline buffer in such case.
2024-02-06BGP: Increase max length of notification data in error logsOndrej Zajicek
Increase max length of notification data in error logs from 16 to 128. There is already enough space in the buffer. Thanks to Marco d'Itri for the suggestion.
2024-01-27Nest: Fix bug in recursive routes with MPLS-labeled nexthopsOndrej Zajicek
When a recursive route with MPLS-labeled nexthop was exported to kernel and read back, the nexthop_same() failed due to different labels_orig field and kernel protocol reinstalled it unnecessarily. For comparing hext hops, route cache has to distinguish ones with different labels_orig, but KRT has to ignore that, so we need two nexthop compare functions. Thanks to Marcel Menzel for the bugreport.
2024-01-22Filter: Tests for net_addrKaterina Kubecova
Minor changes by committer.
2024-01-22Trivial code cleanupsOndrej Zajicek
2023-12-20RPKI: retry timer doesn't reset connections when more data is pendingMaria Matejka
With very busy deployments, RPKI may kill cache connection too early. Instead of that, we want it to keep loading if any data is waiting to be read and the reason for delay is just our congestion. Also, when we kill the session because of actually slow cache, we want to reload from scratch as the data we have is unreliable and nobody knows whether the state is still valid.
2023-12-13OSPF: Cleanup some warningsOndrej Zajicek