Ondrej Zajicek:
I think that if there is no explicit 'requestor' for BFD session (like static protocol on client), you have to explicitly add neighbors in BFD protocol on gateways:
protocol bfd { interface "vlan*" { passive; }; neighbor 192.168.1.3; }
Unfortunately, this doesn't change the outcome me not getting BFD to work at all. There's multiple ways I tried making it work, but this is the current config: # explicit neighbor config on gateway protocol bfd { interface "vlan*" { }; neighbor 192.168.1.6; debug all; } # explicit neighbor config on client protocol bfd { interface "vlan*" { }; neighbor 192.168.1.1; debug all; } # birdc sh bfd session BIRD 1.6.0 ready. bfd1: IP address Interface State Since Interval Timeout 192.168.1.6 vlan11 Down 01:58:34 1.000 0.000 # birdc sh bfd sess BIRD 1.6.0 ready. bfd1: IP address Interface State Since Interval Timeout 192.168.1.1 vlan11 Down 01:44:06 1.000 0.000 In can see in a tcpdump that both are sending "Down" messages back and forth: tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on vlan11, link-type EN10MB (Ethernet), capture size 65535 bytes 02:35:17.378336 IP 192.168.1.1.15324 > 192.168.1.6.3784: BFDv1, Control, State Down, Flags: [none], length: 24 02:35:17.529751 IP 192.168.1.6.56135 > 192.168.1.1.3784: BFDv1, Control, State Down, Flags: [none], length: 24 ,-- This is what the logs say on 192.168.1.1: 2016-10-31 02:38:04 -0600 <TRACE> bfd1: Sending CTL to 192.168.1.6 [Down] 2016-10-31 02:38:04 -0600 <TRACE> bfd1: Sending CTL to 192.168.1.6 [Down] `-- ,-- This is what the logs say on 192.168.1.6: 2016-10-31 02:39:29 <TRACE> bfd1: Sending CTL to 192.168.1.1 [Down] 2016-10-31 02:39:29 <TRACE> bfd1: Sending CTL to 192.168.1.1 [Down] `-- On both nodes: birdc sh proto | grep bfd: bfd1 BFD master up 2016-10-26 birdc sh proto | grep bfd: bfd1 BFD master up 01:44:05 Thanks, J.