[Babel-users] Restarting MeshPoint – seeking advice on routing for crisis/disaster scenarios
Juliusz Chroboczek
jch at irif.fr
Mon Dec 29 12:07:20 GMT 2025
> Happy holidays!
Wszystkiego najlepszego w Nowym Roku!
> BUGS FOUND
> ----------
Thanks. Please send patches, so you can be propertly credited.
> IP addressing:
> Each node also has a loopback address for stable identification:
I'm confused. With sroamd, all mesh nodes are supposed to have an AP
interface for connecting clients, and all AP interfaces are supposed to
have the same IP address (both IPv4 and IPv6). Did you set up an AP
interface, and did you measure performance on the (unmodified) clients?
If you're measuring on the mesh nodes, then you're just measuring the
performance of babeld, not that of sroamd.
> Babel alone (5 runs):
>
> Run 1: 4.82 seconds
> Run 2: 5.31 seconds
> Run 3: 5.18 seconds
> Run 4: 5.42 seconds
> Run 5: 5.17 seconds
>
> Average: 5.18 seconds
> All runs successful (5/5)
So that's one Hello interval plus a bit. In other words, babeld waits
until it loses 2 Hellos, then converges almost immediately. That's the
expected behaviour if using the wired link estimator.
> Babel with sroamd (5 runs):
>
> Run 1: 10.24 seconds
> Run 2: 11.58 seconds
> Run 3: 12.03 seconds
> Run 4: 10.89 seconds
> Run 5: 10.61 seconds
>
> Average: 11.07 seconds
> All runs successful (5/5)
That's two Hello intervals plus a bit. Babeld doesn't switch until it has
lost three Hellos in this case, so it looks like it's using the wireless
link estimator instead of the wired one (see RFC 8966 Appendix A.2). We'd
need a debug log to make sure, or at least the output of `show interface`
(see the `-g` option).
> OBSERVATION
> -----------
>
> Adding sroamd increases recovery time by approximately 6 seconds (from
> 5.18s to 11.07s). This was unexpected - we assumed sroamd would improve or
> at least not affect failover time.
Agreed.
> If so, what would be the recommended way to test sroamd's intended
> functionality?
It's much more difficult than that.
With sroamd, you're supposed to set up a network with two layers:
- a pure mesh between the sroamd nodes; every mesh node has an AP
interface in addition to its mesh interfaces;
- a set of ordinary, unmodified nodes that only have client interfaces.
For decent performance, the AP interfaces should be using 802.11 with
support for the 802.11 management interface, so that sroamd can be
notified in a timely manner of a client node changing AP. (There is some
support for generic netlink, but it's going to react way slower than the
specific IEEE 802.11 support, since it works by listening on ARP/ND traffic.)
I'm afraid that's not something you'll be able to measure in simulation,
unless you know how to simulate 802.11.
-- Juliusz
More information about the Babel-users
mailing list