Page MenuHomeVyOS Platform

BFD flapping loop
Closed, ResolvedPublicBUG

Description

{F3441029}BFD starts to flap either by network event or manually shut down neighbor interface and it won't come back anymore.

BFD packets can be seen at neighbor router but they won't create the session, they will take 3-4 seconds, then from the session and drop (and then this cycle repeats)

Workaround being used is either define a source interface or source address and if it doesn't work delete all bfd and ospf config from that interface. Also if this does not work, deleting all the configuration from that interface > commit > and add the ospf and bfd command without source address/interface > bfd session will turn up again.

set interfaces ethernet eth0 address '10.221.3.18/30'
set interfaces ethernet eth0 mtu '9000'
set interfaces ethernet eth0 offload gro
set interfaces ethernet eth0 offload gso
set interfaces ethernet eth0 offload sg
set interfaces ethernet eth0 offload tso
set protocols ospf interface eth0 area '0'
set protocols ospf interface eth0 bfd
set protocols ospf interface eth0 network 'point-to-point'
set protocols bfd peer 10.221.3.17 interval multiplier '5'
set protocols bfd peer 10.221.3.17 interval receive '100'
set protocols bfd peer 10.221.3.17 interval transmit '100'

This may be related to https://phabricator.vyos.net/T2616 as well

Attached there is a packet capture of BFD control packets from the peer's side (routerboard/mikrotik)

Details

Difficulty level
Unknown (require assessment)
Version
-
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Behavior change
Issue type
Bug (incorrect behavior)

Event Timeline

m1nus updated the task description. (Show Details)
Viacheslav changed the subtype of this task from "Feature Request" to "Bug".Dec 24 2022, 1:11 PM
Viacheslav subscribed.

Which version?

Which version?

Version: VyOS 1.4-rolling-202208291850

@m1nus FRR used in VyOS gets updated frequently. Can you please try a more recent rolling release?

I reproduced this configuration. Version VyOS 1.4-rolling-202212270317 - BFD works fine.

Configuration:

set interfaces ethernet eth0 address '10.221.3.18/30'
set interfaces ethernet eth0 mtu '9000'
set interfaces ethernet eth0 offload gro
set interfaces ethernet eth0 offload gso
set interfaces ethernet eth0 offload sg
set interfaces ethernet eth0 offload tso

BFD peer status:

BFD Peers:
        peer 10.221.3.17 vrf default
                ID: 2428685750
                Remote ID: 2382320760
                Active mode
                Status: up
                Uptime: 30 minute(s), 19 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: configured
                RTT min/avg/max: 0/0/0 usec
                Local timers:
                        Detect-multiplier: 5
                        Receive interval: 100ms
                        Transmission interval: 100ms
                        Echo receive interval: 50ms
                        Echo transmission interval: disabled
                Remote timers:
                        Detect-multiplier: 5
                        Receive interval: 100ms
                        Transmission interval: 100ms
                        Echo receive interval: 50ms

[edit]

Try upgrading the VyOS to the latest version.

I reproduced this configuration. Version VyOS 1.4-rolling-202212270317 - BFD works fine.

Configuration:

set interfaces ethernet eth0 address '10.221.3.18/30'
set interfaces ethernet eth0 mtu '9000'
set interfaces ethernet eth0 offload gro
set interfaces ethernet eth0 offload gso
set interfaces ethernet eth0 offload sg
set interfaces ethernet eth0 offload tso

BFD peer status:

BFD Peers:
        peer 10.221.3.17 vrf default
                ID: 2428685750
                Remote ID: 2382320760
                Active mode
                Status: up
                Uptime: 30 minute(s), 19 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: configured
                RTT min/avg/max: 0/0/0 usec
                Local timers:
                        Detect-multiplier: 5
                        Receive interval: 100ms
                        Transmission interval: 100ms
                        Echo receive interval: 50ms
                        Echo transmission interval: disabled
                Remote timers:
                        Detect-multiplier: 5
                        Receive interval: 100ms
                        Transmission interval: 100ms
                        Echo receive interval: 50ms

[edit]

Try upgrading the VyOS to the latest version.

I posted more details here: https://forum.vyos.io/t/ospf-w-bfd-issues-interop-with-mikrotik/10764

Tested in VyOS 1.4-rolling-202311100309:

set protocols bfd peer 192.168.0.2 interval multiplier '5'
set protocols bfd peer 192.168.0.2 interval receive '100'
set protocols bfd peer 192.168.0.2 interval transmit '100'

Checking:

$ show bfd peers
BFD Peers:
        peer 192.168.0.2 vrf default
                ID: 3333451357
                Remote ID: 3333451357
                Active mode
                Status: up
                Uptime: 1 minute(s), 43 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: configured
                RTT min/avg/max: 0/0/0 usec
                Local timers:
                        Detect-multiplier: 5
                        Receive interval: 100ms
                        Transmission interval: 100ms
                        Echo receive interval: 50ms
                        Echo transmission interval: disabled
                Remote timers:
                        Detect-multiplier: 5
                        Receive interval: 100ms
                        Transmission interval: 100ms
                        Echo receive interval: 50ms

Works good