bird/proto/babel
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.c babel: Add support for the RTT extension 2022-12-07 00:12:14 +08:00
babel.h babel: Add support for the RTT extension 2022-12-07 00:12:14 +08:00
config.Y babel: Add support for the RTT extension 2022-12-07 00:12:14 +08:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00
Makefile Babel: Add MAC authentication support 2021-06-06 16:28:18 +02:00
packets.c babel: Add support for the RTT extension 2022-12-07 00:12:14 +08:00