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