• Toke Høiland-Jørgensen's avatar
    Babel: Add support for the RTT extension · f08abcb8
    Toke Høiland-Jørgensen authored and Ondřej Zajíček's avatar Ondřej Zajíček committed
    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
    f08abcb8