bird/proto
Toke Høiland-Jørgensen ac724bde4c
babel: Add support for the RTT extension
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

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2022-12-07 00:12:14 +08:00
..
babel babel: Add support for the RTT extension 2022-12-07 00:12:14 +08:00
bfd BFD: Add 'strict bind' option 2022-04-07 19:33:40 +02:00
bgp BGP: Display neighbor port on show protocol 2022-05-21 16:21:34 +02:00
mrt Routing tables list iteration should use explicit node struct position 2021-03-30 21:56:08 +02:00
ospf Nest: Clean up main channel handling 2021-06-17 16:56:51 +02:00
perf Perf: changed route update pattern to be more like common protocols 2020-03-12 09:26:05 +01:00
pipe BGP: Implement flowspec validation procedure 2022-02-06 23:27:13 +01:00
radv Nest: Clean up main channel handling 2021-06-17 16:56:51 +02:00
rip Nest: Clean up main channel handling 2021-06-17 16:56:51 +02:00
rpki RPKI: Display cache server port on show protocol 2022-05-21 16:03:08 +02:00
static Nest: Clean up main channel handling 2021-06-17 16:56:51 +02:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00