Debugging down BFD sessions - unknown session id

Nico Schottelius nico.schottelius at ungleich.ch
Tue Jun 18 14:24:13 CEST 2024


Good morning,

we have one server on which all bfd sessions are down, however the
associated BGP protocols are actually up:

bird> show bfd sessions 
bfd1:
IP address                Interface  State      Since         Interval  Timeout
2a0a:e5c0:10:1::122       eth0       Down       11:49:53.211    2.000    0.000
2a0a:e5c0:31:12::1        oserver120 Down       10:54:30.465    1.000    0.000
2a0a:e5c0:10:1::123       eth0       Down       11:59:53.890    2.000    0.000
        
bfd2:   
IP address                Interface  State      Since         Interval  Timeout
bird>   

bird> show protocols outgoing_server120
Name       Proto      Table      State  Since         Info
outgoing_server120 BGP        ---        up     10:54:35.058  Established   
bird> 
bird> show protocols ibgp_server122
Name       Proto      Table      State  Since         Info
ibgp_server122 BGP        ---        up     11:54:09.411  Established   
bird> show protocols ibgp_server123
Name       Proto      Table      State  Since         Info
ibgp_server123 BGP        ---        up     11:59:55.306  Established   
bird> 

The log of bird says:

2024-06-18 12:18:30.095 <RMT> bfd2: Bad packet from 2a0a:e5c0:10:1::123 - unknown session id (4057542731)
2024-06-18 12:18:30.288 <RMT> bfd2: Bad packet from 2a0a:e5c0:31:12::1 - unknown session id (1148668725)
2024-06-18 12:18:30.434 <RMT> bfd2: Bad packet from 2a0a:e5c0:10:1::122 - unknown session id (635122417)
2024-06-18 12:18:30.912 <RMT> bfd2: Bad packet from 2a0a:e5c0:10:1::123 - unknown session id (4057542731)
2024-06-18 12:18:31.058 <RMT> bfd2: Bad packet from 2a0a:e5c0:31:12::1 - unknown session id (1148668725)
2024-06-18 12:18:31.230 <RMT> bfd2: Bad packet from 2a0a:e5c0:10:1::122 - unknown session id (635122417)

It seems like declaring 2 bfd sections is causing this issue:

--------------------------------------------------------------------------------
protocol bfd {
  interface "o*" {
    interval 500 ms;
    idle tx interval 2 s;
  };
  interface "i*" {
    interval 500 ms;
    idle tx interval 2 s;
  };
}
protocol bfd {
  # openvpn
  interface "tun*" {
    interval 500 ms;
    idle tx interval 2 s;
  };
  # transfer
  interface "eth0" {
    interval 500 ms;
    idle tx interval 2 s;
  };
}
--------------------------------------------------------------------------------

Changing the bfd definition to:

--------------------------------------------------------------------------------
protocol bfd { }
--------------------------------------------------------------------------------

Changes the status to all sessions are up:

--------------------------------------------------------------------------------
bird> show bfd sessions 
bfd1:
IP address                Interface  State      Since         Interval  Timeout
2a0a:e5c0:10:1::122       eth0       Up         12:22:52.027    0.100    0.500
2a0a:e5c0:31:12::1        oserver120 Up         12:22:52.445    0.100    0.500
2a0a:e5c0:10:1::123       eth0       Up         12:22:51.658    0.100    0.500
bird> 
--------------------------------------------------------------------------------

So I wonder ... is this a) a bug b) working as expected? If it is
working as expected, should we add a note in the documentation saying
multiple bfd instances might lead to this state / error?

Best regards,

Nico

-- 
Sustainable and modern Infrastructures by ungleich.ch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 873 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20240618/1b3ae4c9/attachment.sig>


More information about the Bird-users mailing list