[PATCH 0/3] babel: Add support for the RTT extension

Toke Høiland-Jørgensen toke at toke.dk
Sun Feb 26 23:10:03 CET 2023


This series adds support to the Babel protocol for the RTT extension, specified
by this IETF draft:

https://datatracker.ietf.org/doc/html/draft-ietf-babel-rtt-extension-00

The extension adds timestamps to Babel messages and uses them to compute the
RTT between two Babel peers. A configurable additional cost is added to
routes from based on these RTT vales. This is useful in particular for
geographically distributed networks (such as overlay networks) where a route
can be short in terms of hops, but each hop covers a long distance (and thus
a long RTT).

The extension is not currently on the IETF standards track because the document
needs to be rewritten (see earlier message from Juliusz), but it's been in babeld
for a while and considered quite useful there, so I think it would be nice to
have it available in Bird as well.

For details on the implementation, see the individual patches. Note that this
series conflicts with Daniel's patches for moving the route selection into the
Bird nest. Figured I'd send them now so this can be part of the discussion of
that other patch (and also Daniel is one of the current users of this extension
so I expect he'd be interested in having the two be compatible).

Toke Høiland-Jørgensen (3):
  lib/timer: Add current_time_now() function for immediate timestamp
  babel: Add support for the RTT extension
  babel: Add route metric smoothing

 doc/bird.sgml         |  63 +++++++++++--
 lib/timer.c           |  13 +++
 lib/timer.h           |   1 +
 proto/babel/babel.c   | 205 +++++++++++++++++++++++++++++++++++++++---
 proto/babel/babel.h   |  40 +++++++++
 proto/babel/config.Y  |  30 ++++++-
 proto/babel/packets.c | 126 +++++++++++++++++++++++++-
 7 files changed, 452 insertions(+), 26 deletions(-)

-- 
2.39.1



More information about the Bird-users mailing list