Executive summary: VyOS drops multi-hop connections with a TTL <254. As such, hardly any connections can be made:
- The recommended TTL by IETF is 64 and is followed by most systems (incl Linux)
- A multi-hop connection will almost always have more than just one hop. So even if TTL is set to 255 on the target system (e.g., via sysctl -w net.ipv4.ip_default_ttl="255"), it will often be less than 254.
This seems to be a bug of the FRR version included in VyOS: According to the manual, any connection configured as "multihop" should have no restrictions on TTL, but such a restriction is clearly enforced, even for multihop systems.
Please expose minimum-ttl option from FRR.
I recommend giving it a low default value (ideally minimum-ttl=0) or at least documenting it very well. In the latter case, minimum-ttl could be a mandatory option so a user is forced to set the value correctly.
This bug report is based on the forum thread here:
https://forum.vyos.io/t/vyos-wont-establish-bfd-connection-to-bird/13375/10