bird/proto/babel
Toke Høiland-Jørgensen 7c7d6e576f
babel: Add route metric smoothing
The Babel RTT extension employs metric smoothing to dampen route
oscillations in the face of varying RTT values between two peers[0].

This patch implements such dampening in Bird, roughly following the
implementation in babeld (i.e., using the same exponential function
definition). The main difference is that we calculate everything in the
native Bird microsecond time unit (and increase constants accordingly), and
that we split out the smoothed metric calculation in two function variants,
one that has no side effects and one that does.

  [0] https://arxiv.org/pdf/1403.3488.pdf

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2022-12-07 00:12:14 +08:00
..
babel.c babel: Add route metric smoothing 2022-12-07 00:12:14 +08:00
babel.h babel: Add route metric smoothing 2022-12-07 00:12:14 +08:00
config.Y babel: Add route metric smoothing 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