Attempting to use multi-hop BFD with iBGP, but when the other router happens to only be one hop away, BFD will not establish.
Due to the topology the other router may or may not be only one hop away at any given time, but it appears that the session is rejected as multi-hop if it has a TTL of 255. RFCs 5881 and 5883 only say that single-hop has to be TTL of 255, but does not prohibit multi-hop from also being 255.
I have configured BFD like this:
bfd
multi-hop destination-port 4784
peer-ip x.x.21.1 32 ttl single-hop 255
peer-ip x.x.23.1 32 ttl single-hop 255
peer-ip x.x.23.1 32 ttl multi-hop 254
peer-ip x.x.21.1 32 ttl multi-hop 254
bgp xxxxx
peer reflectors bfd enable
and receive the following error:
Jun 27 2016 14:25:32.173.2-06:00 DST rtr.yung BFD/7/Packet:
16:04701: Receive BFD Packet :
MD(8556) YD(8205) Diag(0) State(2) P(0) F(0) TX(1000) RX(1000) DM(7)
Echo RX(0) Length(24) Ver(1) C(0) A(0) D(0) R(0)
TTL(255) DstPort(4784)
Jun 27 2016 14:25:32.173.3-06:00 DST rtr.yung BFD/7/Packet:
16:04701: Receive BFD Packet. Discr:8205, SrcAddr:x.x.23.1, DestAddr:x.x.21.8, TOS:C0
Jun 27 2016 14:25:32.173.4-06:00 DST rtr.yung BFD/7/Error:
16:04701: BFD ERR : Para(IP:0X____1701, TTL:255, Type:2) Check Err
By(TTLIP:0X____1701, Mask:32, Type:2, TTL:254)
Jun 27 2016 14:25:32.173.5-06:00 DST rtr.yung BFD/7/Error:
16:04731: BFD PKT : Local(Discr:8205) TTL Check ERR (Type:4)
It will not let me specify a value of 255 for multi-hop, and I cannot control the TTL the other side is using either. Is there a way to disable TTL checking for multi-hop BFD?