Missing BFD session with OSPFv3 and same link-local addresses.
Christos Trochalakis
yatiohi at ideopolis.gr
Fri Sep 25 12:04:45 CEST 2015
Hello all,
Our issue is reproducible with 2 routers connected with 2 links. Those
links are tagged vlans on the same physical interface (so both links
share the same macaddress).
bird> show ospf neighbors
ospf1:
Router ID Pri State DTime Interface Router IP
B.B.B.B 1 full/other 00:08 vlan3509 fe80::d6ae:52ff:febf:74a6
B.B.B.B 1 full/dr 00:08 vlan106 fe80::d6ae:52ff:febf:74a6
bird> show bfd sessions
bfd1:
IP address Interface State Since Interval Timeout
fe80::d6ae:52ff:febf:74a6 vlan3509 Up 2015-09-23 0.100 0.500
There is only one bfd session instead of two (one for each link).
After digging a bit in the source code, it seems that the OSPF protocol
calls `bfd_request_session()` which leads to a call to `bfd_add_request()`.
`bfd_add_request()` tries to reuse an already established session with
**the same destination address** before creating a new one. But B.B.B.B
has the same link-local address on both interfaces (they share the same
mac) so the second session is never created and the first one is
returned. Perhaps a better approach would be to use the (address, iface)
pair when trying to reuse a session.
thank you,
chris
More information about the Bird-users
mailing list