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