summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2024-06-27Additional CLI sockets may now be restrictedMaria Matejka
This allows to have one main socket for the heavy operations very restricted just for the appropriate users, whereas the looking glass socket may be more open. Implemented an idea originally submitted and requested by Akamai.
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-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-04-17Doc: BFD updateOndrej Zajicek
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-03-25ASPA: basic data structures and Static protocol supportMaria Matejka
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-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-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!
2023-12-13Log: Add support for UDP loggingOndrej Zajicek
Add support for UDP logging, using RFC 3164 syslog protocol. Based on the patch from Alexander Zubkov <green@qrator.net>, thanks!
2023-12-08Merge commit '54ddf90f'Maria Matejka
2023-12-07Conf: debug tablesMaria Matejka
For now just a dummy config but it is needed for forward compatibility with v3.
2023-12-05BGP: Send hold timerKaterina Kubecova
Implement BGP Send hold timer according to draft-ietf-idr-bgp-sendholdtimer. The Send hold timer drops the session if the neighbor is sending keepalives, but does not receive our messages, causing the TCP connection to stall.
2023-11-23BGP: Add options to require BGP capabilitiesOndrej Zajicek
Some BGP capabilities change the BGP behavior in a significant way, so if the configuration depends on it, it is better to not establish BGP session when the capability is not available. Add several BGP option to require individual BGP capabilities during session negotiation.
2023-10-24Doc: prefix match prefix pattern definition typo (in sets of prefixes ↵Michal Rada
definition)
2023-10-06Doc: Minor fixesOndrej Zajicek
2023-10-06Conf: Bytestrings with hex: should use the same general format as ones without.Ondrej Zajicek
Either hex:01234567, or hex:01:23:45:67. No confusing formats like hex:0123:4567:ab:cdef, which looks like there is an implicit zero byte.
2023-10-06KRT: Allow to learn routes with RTPROT_KERNELPavel Šorejs
The Kernel protocol, even with the option 'learn' enabled, ignores direct routes created by the OS kernel (on Linux these are routes with rtm_protocol == RTPROT_KERNEL). Implement optional behavior where both OS kernel and third-party routes are learned, it can be enabled by 'learn all' option. Minor changes by committer.
2023-10-05BGP: Improve custom BGP attributesOndrej Zajicek
- Implement EA_GET for custom BGP attributes - Forbid EA_SET on existing opaque attributes - Forbid redefining existing attributes - Document possible compatibility problems
2023-10-04Doc: Fix syntax errors in SGMLOndrej Zajicek
2023-10-04Doc: L3VPN documentationOndrej Zajicek
2023-10-04Doc: MPLS documentationOndrej Zajicek
2023-10-04MPLS: Add command 'show mpls ranges'Ondrej Zajicek
Add command to show MPLS label ranges and their stats.
2023-09-27BGP config: Splitting Route Refresh and Enhanced Route RefreshMaria Matejka
Both toggles are on by default but if some implementation needs one or another to be switched off separately, then it's possible now.
2023-09-26Aggregator: brief documentationMaria Matejka
2023-09-20BGP: Setting and unsetting unknown attributeskaterina.kubecova
All these must be declared as bytestring. Allows operators to delete unwanted attributes breaking the Internet: https://blog.benjojo.co.uk/post/bgp-path-attributes-grave-error-handling
2023-09-12Filter: Better syntax for function return typesOndrej Zajicek
The C-style syntax does not really fit into rest of our syntax.
2023-09-12Filter: Methods reworkMaria Matejka
Methods can now be called as x.m(y), as long as x can have its type inferred in config time. If used as a command, it modifies the object, if used as a value, it keeps the original object intact. Also functions add(x,y), delete(x,y), filter(x,y) and prepend(x,y) now spit a warning and are considered deprecated. It's also possible to call a method on a constant, see filter/test.conf for examples like bgp_path = +empty+.prepend(1). Inside instruction definitions (filter/f-inst.c), a METHOD_CONSTRUCTOR() call is added, which registers the instruction as a method for the type of its first argument. Each type has its own method symbol table and filter parser switches between them based on the inferred type of the object calling the method. Also FI_CLIST_(ADD|DELETE|FILTER) instructions have been split to allow for this method dispatch. With type inference, it's now possible.
2023-09-12Filter: functions can and should have typed return valuesMaria Matejka
2023-09-12Filter: any lvalue can get its methods calledMaria Matejka
2023-08-24Doc: Document bytestring typeAlexander Zubkov
2023-08-24Doc: Document RAdv "custom option" configuration definitionAlexander Zubkov
2023-08-22BGP: Update RFC referenceOndrej Zajicek
RFC 5549 was obsoleted by RFC 8950.
2023-06-30Fixed a typo in documentationAlexander Zubkov
The problem was the "/" symbol in the prefix mask that finished the formatting definition prematurely.
2023-06-02Babel: Add support for the RTT extensionToke Høiland-Jørgensen
This adds support to the Babel protocol for the RTT extension specified in draft-ietf-babel-rtt-extension. While this extension is not yet at the RFC stage, it is one of the more useful extensions to Babel[0], so it seems worth having in Bird as well. The extension adds timestamps to Hello and IHU TLVs and uses these to compute an RTT to each neighbour. An extra per-neighbour cost is then computed from the RTT based on a minimum and maximum interval and cost value specified in the configuration. The primary use case for this is improving routing in a geographically distributed tunnel-based overlay network. The implementation follows the babeld implementation when picking constants and default configuration values. It also uses the same RTT smoothing algorithm as babeld, and follows it in adding a new 'tunnel' interface type which enables RTT by default. [0] https://alioth-lists.debian.net/pipermail/babel-users/2022-April/003932.html
2023-04-21BMP: Add some basic documentationOndrej Zajicek
2023-04-14BGP: Add 'allow bgp_med' option for EBGP sessionsTrisha Biswas
This option allows to treat bgp_med as regular transitive attribute on EBGP sessions (without hacks in filters). Minor changes from committer.
2023-03-18Add missing references to "show route in" in the cli-help and doc.Johannes Moos
The feature of showing all prefixes inside the given one has been added in v2.0.9 but not well documented. Fixing it by this update. Text in doc and commit message added by commiter.
2023-02-19BGP: Update RFC referencesOndrej Zajicek
2023-02-19Babel: Update RFC referencesOndrej Zajicek
2023-02-14Babel: Implement IPv4 via IPv6 extension (RFC 9229)Andreas Rammhold
The patch implements an IPv4 via IPv6 extension (RFC 9229) to the Babel routing protocol (RFC 8966) that allows annoncing routes to an IPv4 prefix with an IPv6 next hop, which makes it possible for IPv4 traffic to flow through interfaces that have not been assigned an IPv4 address. The implementation is compatible with the current Babeld version. Thanks to Toke Høiland-Jørgensen for early review on this work. Minor changes from committer.
2023-02-03Documentation: Adding roadmap as decided in January 2023Maria Matejka
2023-01-17Filter: Allow setting the 'onlink' route attribute in filtersRadu Carpa
Add static route attribute to set onlink flag for route next hop. Can be used to build a dynamically routed IP-in-IP overlay network. Usage: ifname = "tunl0"; onlink = true; gw = bgp_next_hop;
2022-12-09Doc: Document issue with import tablesOndrej Zajicek
The import table does not work reliably together with re-evaluation of routes due to recursive next hops or flowspec validation. We will at least document that here, as import tables are completely redesigned and this issue is fixed in BIRD 3.x branch.
2022-12-09BGP: Improve handling of hold and keepalive timersOndrej Zajicek
The effective keepalive time now scales relative to the negotiated hold time, to maintain proportion between the keepalive time and the hold time. This avoids issues when both keepalive and hold times were configured, the hold time was negotiated to a smaller value, but the keepalive time stayed the same. Add new options 'min hold time' and 'min keepalive time', which reject session attempts with too small hold time. Improve validation of config options an their documentation. Thanks to Alexander Zubkov and Sergei Goriunov for suggestions.
2022-11-09Conf: Free stored old config before parsing new oneOndrej Zajicek
BIRD keeps a previous (old) configuration for the purpose of undo. The existing code frees it after a new configuration is successfully parsed during reconfiguration. That causes memory usage spikes as there are temporarily three configurations (old, current, and new). The patch changes it to free the old one before parsing the new one (as user already requested a new config). The disadvantage is that undo is not available after failed reconfiguration.