Page MenuHomeVyOS Platform

"show protocols bfd peer <>" shows incorrect peer information.
Closed, ResolvedPublicBUG

Description

For example there are 2 BFD peers:

10.0.0.1
10.0.0.111

When checking with "show protocols bfd peers brief" the output looks like this:

vyos@vyos:~$ show protocols bfd peers brief
Session count: 8
SessionId  LocalAddress                             PeerAddress                             Status
=========  ============                             ===========                             ======
1044513574 10.0.0.11                                10.0.0.1                                up
3371887583 10.0.0.11                                10.0.0.4                                up
403759659  10.0.0.11                                10.0.0.2                                down
3341894939 10.1.11.1                                10.1.11.0                               up
2759287233 10.0.0.11                                10.0.0.3                                down
1559812295 10.0.0.11                                10.0.0.112                              up
2917226787 10.0.0.11                                10.0.0.111                              up
3854247992 10.2.11.1                                10.2.11.0                               up

But when we need to check BFD session information for the 10.0.0.1, it's showing 10.0.0.111 instead (same if we'll type non-existing peer 10.0.0.11:

vyos@vyos:~$ show protocols bfd peer 10.0.0.1
BFD Peer:
        peer 10.0.0.111 multihop local-address 10.0.0.11 vrf default
                ID: 2917226787
                Remote ID: 3143461838
                Active mode
                Minimum TTL: 254
                Status: up
                Uptime: 8 minute(s), 29 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: configured
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 3000ms
                        Transmission interval: 3000ms
                        Echo receive interval: 50ms
                        Echo transmission interval: disabled
                Remote timers:
                        Detect-multiplier: 3
                        Receive interval: 300ms
                        Transmission interval: 300ms
                        Echo receive interval: 50ms

vyos@vyos:~$ show protocols bfd peer 10.0.0.11
BFD Peer:
        peer 10.0.0.111 multihop local-address 10.0.0.11 vrf default
                ID: 2917226787
                Remote ID: 3143461838
                Active mode
                Minimum TTL: 254
                Status: up
                Uptime: 8 minute(s), 31 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: configured
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 3000ms
                        Transmission interval: 3000ms
                        Echo receive interval: 50ms
                        Echo transmission interval: disabled
                Remote timers:
                        Detect-multiplier: 3
                        Receive interval: 300ms
                        Transmission interval: 300ms
                        Echo receive interval: 50ms

vyos@vyos:~$ show protocols bfd peer 10.0.0.111
BFD Peer:
        peer 10.0.0.111 multihop local-address 10.0.0.11 vrf default
                ID: 2917226787
                Remote ID: 3143461838
                Active mode
                Minimum TTL: 254
                Status: up
                Uptime: 13 minute(s), 8 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: configured
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 3000ms
                        Transmission interval: 3000ms
                        Echo receive interval: 50ms
                        Echo transmission interval: disabled
                Remote timers:
                        Detect-multiplier: 3
                        Receive interval: 300ms
                        Transmission interval: 300ms
                        Echo receive interval: 50ms

Details

Difficulty level
Easy (less than an hour)
Version
1.4-rolling-202112131826
Why the issue appeared?
Design mistake
Is it a breaking change?
Perfectly compatible
Issue type
Cosmetic issue (typos etc.)

Event Timeline

Can you please provide a CLI config to reproduce this issue?

In T4073#113759, @c-po wrote:

Can you please provide a CLI config to reproduce this issue?

Sure, here is the configuration part that I've used:

set interfaces dummy dum0 address '10.0.0.11/32'
set interfaces ethernet eth1 address '10.1.11.1/31'
set interfaces ethernet eth1 description '===To P1==='
set interfaces ethernet eth2 address '10.2.11.1/31'
set interfaces ethernet eth2 description '===To P2==='

set protocols bfd peer 10.0.0.1 multihop
set protocols bfd peer 10.0.0.1 profile 'BFD_iBGP'
set protocols bfd peer 10.0.0.1 source address '10.0.0.11'
set protocols bfd peer 10.0.0.2 multihop
set protocols bfd peer 10.0.0.2 profile 'BFD_iBGP'
set protocols bfd peer 10.0.0.2 source address '10.0.0.11'
set protocols bfd peer 10.0.0.3 multihop
set protocols bfd peer 10.0.0.3 profile 'BFD_iBGP'
set protocols bfd peer 10.0.0.3 source address '10.0.0.11'
set protocols bfd peer 10.0.0.4 multihop
set protocols bfd peer 10.0.0.4 profile 'BFD_iBGP'
set protocols bfd peer 10.0.0.4 source address '10.0.0.11'
set protocols bfd peer 10.0.0.111 multihop
set protocols bfd peer 10.0.0.111 profile 'BFD_iBGP'
set protocols bfd peer 10.0.0.111 source address '10.0.0.11'
set protocols bfd peer 10.0.0.112 multihop
set protocols bfd peer 10.0.0.112 profile 'BFD_iBGP'
set protocols bfd peer 10.0.0.112 source address '10.0.0.11'
set protocols bfd peer 10.1.11.0 profile 'BFD_OSPF'
set protocols bfd peer 10.2.11.0 profile 'BFD_OSPF'
set protocols bfd profile BFD_OSPF interval multiplier '3'
set protocols bfd profile BFD_OSPF interval receive '150'
set protocols bfd profile BFD_OSPF interval transmit '150'
set protocols bfd profile BFD_iBGP interval multiplier '3'
set protocols bfd profile BFD_iBGP interval receive '3000'
set protocols bfd profile BFD_iBGP interval transmit '3000'
set protocols bgp local-as '65000'
set protocols bgp neighbor 10.0.0.1 address-family ipv4-vpn addpath-tx-all
set protocols bgp neighbor 10.0.0.1 address-family ipv4-vpn route-reflector-client
set protocols bgp neighbor 10.0.0.1 peer-group 'iBGP'
set protocols bgp neighbor 10.0.0.2 address-family ipv4-vpn addpath-tx-all
set protocols bgp neighbor 10.0.0.2 address-family ipv4-vpn route-reflector-client
set protocols bgp neighbor 10.0.0.2 peer-group 'iBGP'
set protocols bgp neighbor 10.0.0.3 address-family ipv4-vpn addpath-tx-all
set protocols bgp neighbor 10.0.0.3 address-family ipv4-vpn route-reflector-client
set protocols bgp neighbor 10.0.0.3 peer-group 'iBGP'
set protocols bgp neighbor 10.0.0.4 address-family ipv4-vpn addpath-tx-all
set protocols bgp neighbor 10.0.0.4 address-family ipv4-vpn route-reflector-client
set protocols bgp neighbor 10.0.0.4 peer-group 'iBGP'
set protocols bgp neighbor 10.0.0.111 address-family ipv4-vpn addpath-tx-all
set protocols bgp neighbor 10.0.0.111 address-family ipv4-vpn route-reflector-client
set protocols bgp neighbor 10.0.0.111 peer-group 'iBGP'
set protocols bgp neighbor 10.0.0.112 address-family ipv4-vpn addpath-tx-all
set protocols bgp neighbor 10.0.0.112 address-family ipv4-vpn route-reflector-client
set protocols bgp neighbor 10.0.0.112 peer-group 'iBGP'
set protocols bgp parameters cluster-id '10.0.0.0'
set protocols bgp parameters router-id '10.0.0.11'
set protocols bgp peer-group iBGP bfd
set protocols bgp peer-group iBGP remote-as 'internal'
set protocols bgp peer-group iBGP update-source '10.0.0.11'

I've also checked this behaviour on VyOS 1.3.0-epa3 an it seems similar, steps to reproduce:

  1. Created fresh VM
  2. Added the following configuration:
set interfaces dummy dum0 address '10.0.0.11/32'
set interfaces ethernet eth1 address '10.1.11.1/31'
set interfaces ethernet eth1 description '===To P1==='
set interfaces ethernet eth1 ip ospf bfd
set interfaces ethernet eth1 ip ospf dead-interval '40'
set interfaces ethernet eth1 ip ospf hello-interval '10'
set interfaces ethernet eth1 ip ospf priority '1'
set interfaces ethernet eth1 ip ospf retransmit-interval '5'
set interfaces ethernet eth1 ip ospf transmit-delay '1'
set interfaces ethernet eth2 address '10.2.11.1/31'
set interfaces ethernet eth2 description '===To P2==='
set interfaces ethernet eth2 ip ospf bfd
set interfaces ethernet eth2 ip ospf dead-interval '40'
set interfaces ethernet eth2 ip ospf hello-interval '10'
set interfaces ethernet eth2 ip ospf priority '1'
set interfaces ethernet eth2 ip ospf retransmit-interval '5'
set interfaces ethernet eth2 ip ospf transmit-delay '1'

set protocols bfd peer 10.0.0.1 interval receive '3000'
set protocols bfd peer 10.0.0.1 interval transmit '3000'
set protocols bfd peer 10.0.0.1 multihop
set protocols bfd peer 10.0.0.1 source address '10.0.0.11'
set protocols bfd peer 10.0.0.2 interval receive '3000'
set protocols bfd peer 10.0.0.2 interval transmit '3000'
set protocols bfd peer 10.0.0.2 multihop
set protocols bfd peer 10.0.0.2 source address '10.0.0.11'
set protocols bfd peer 10.0.0.3 interval receive '3000'
set protocols bfd peer 10.0.0.3 interval transmit '3000'
set protocols bfd peer 10.0.0.3 multihop
set protocols bfd peer 10.0.0.3 source address '10.0.0.11'
set protocols bfd peer 10.0.0.4 interval receive '3000'
set protocols bfd peer 10.0.0.4 interval transmit '3000'
set protocols bfd peer 10.0.0.4 multihop
set protocols bfd peer 10.0.0.4 source address '10.0.0.11'
set protocols bfd peer 10.0.0.111 interval receive '3000'
set protocols bfd peer 10.0.0.111 interval transmit '3000'
set protocols bfd peer 10.0.0.111 multihop
set protocols bfd peer 10.0.0.111 source address '10.0.0.11'
set protocols bfd peer 10.0.0.112 interval receive '3000'
set protocols bfd peer 10.0.0.112 interval transmit '3000'
set protocols bfd peer 10.0.0.112 multihop
set protocols bfd peer 10.0.0.112 source address '10.0.0.11'
set protocols bfd peer 10.1.11.0 interval receive '3000'
set protocols bfd peer 10.1.11.0 interval transmit '3000'
set protocols bfd peer 10.2.11.0 interval receive '3000'
set protocols bfd peer 10.2.11.0 interval transmit '3000'
set protocols bgp 65000 neighbor 10.0.0.1 address-family ipv4-unicast
set protocols bgp 65000 neighbor 10.0.0.1 peer-group 'iBGP'
set protocols bgp 65000 neighbor 10.0.0.2 address-family ipv4-unicast
set protocols bgp 65000 neighbor 10.0.0.2 peer-group 'iBGP'
set protocols bgp 65000 neighbor 10.0.0.3 address-family ipv4-unicast
set protocols bgp 65000 neighbor 10.0.0.3 peer-group 'iBGP'
set protocols bgp 65000 neighbor 10.0.0.4 address-family ipv4-unicast
set protocols bgp 65000 neighbor 10.0.0.4 peer-group 'iBGP'
set protocols bgp 65000 neighbor 10.0.0.111 address-family ipv4-unicast
set protocols bgp 65000 neighbor 10.0.0.111 peer-group 'iBGP'
set protocols bgp 65000 neighbor 10.0.0.112 address-family ipv4-unicast
set protocols bgp 65000 neighbor 10.0.0.112 peer-group 'iBGP'
set protocols bgp 65000 parameters router-id '10.0.0.11'
set protocols bgp 65000 peer-group iBGP bfd
set protocols bgp 65000 peer-group iBGP remote-as 'internal'
set protocols bgp 65000 peer-group iBGP update-source '10.0.0.11'
set protocols ospf area 0 network '0.0.0.0/0'
set protocols ospf auto-cost reference-bandwidth '10000'
set protocols ospf log-adjacency-changes
set protocols ospf parameters abr-type 'cisco'
set protocols ospf parameters router-id '10.0.0.11'
  1. Checked BFD for peer 10.0.0.1 and 10.0.0.111, everything seems to be correct:
vyos@vyos:~$ show protocols bfd peers
Session count: 8
SessionId  LocalAddress                             PeerAddress                             Status
=========  ============                             ===========                             ======
2572423542 10.0.0.11                                10.0.0.2                                down
3179756390 10.0.0.11                                10.0.0.3                                down
1634634568 unknown                                  10.2.11.0                               down
3111971345 10.0.0.11                                10.0.0.4                                down
773330877  10.0.0.11                                10.0.0.112                              down
2992243431 10.0.0.11                                10.0.0.111                              down
3119207169 unknown                                  10.1.11.0                               down
420289891  10.0.0.11                                10.0.0.1                                down
vyos@vyos:~$ show protocols bfd peer 10.0.0.1
BFD Peer:
        peer 10.0.0.1 multihop local-address 10.0.0.11 vrf default
                ID: 420289891
                Remote ID: 0
                Active mode
                Minimum TTL: 254
                Status: down
                Downtime: 12 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: configured
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 3000ms
                        Transmission interval: 3000ms
                        Echo transmission interval: 50ms
                Remote timers:
                        Detect-multiplier: 3
                        Receive interval: 1000ms
                        Transmission interval: 1000ms
                        Echo transmission interval: 0ms

vyos@vyos:~$ show protocols bfd peer 10.0.0.111
BFD Peer:
        peer 10.0.0.111 multihop local-address 10.0.0.11 vrf default
                ID: 2992243431
                Remote ID: 0
                Active mode
                Minimum TTL: 254
                Status: down
                Downtime: 14 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: configured
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 3000ms
                        Transmission interval: 3000ms
                        Echo transmission interval: 50ms
                Remote timers:
                        Detect-multiplier: 3
                        Receive interval: 1000ms
                        Transmission interval: 1000ms
                        Echo transmission interval: 0ms

vyos@vyos:~$ show protocols bfd peer 10.0.0.1
BFD Peer:
        peer 10.0.0.1 multihop local-address 10.0.0.11 vrf default
                ID: 420289891
                Remote ID: 0
                Active mode
                Minimum TTL: 254
                Status: down
                Downtime: 17 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: configured
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 3000ms
                        Transmission interval: 3000ms
                        Echo transmission interval: 50ms
                Remote timers:
                        Detect-multiplier: 3
                        Receive interval: 1000ms
                        Transmission interval: 1000ms
                        Echo transmission interval: 0ms
  1. Rebooted the router
  2. Checked again and the output is wrong now for the 10.0.0.1 as well as for non-configured 10.0.0.11 address:
vyos@vyos:~$ show protocols bfd peer 10.0.0.1
BFD Peer:
        peer 10.0.0.112 multihop local-address 10.0.0.11 vrf default
                ID: 4264961461
                Remote ID: 0
                Active mode
                Minimum TTL: 254
                Status: down
                Downtime: 4 minute(s), 38 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: configured
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 3000ms
                        Transmission interval: 3000ms
                        Echo transmission interval: 50ms
                Remote timers:
                        Detect-multiplier: 3
                        Receive interval: 1000ms
                        Transmission interval: 1000ms
                        Echo transmission interval: 0ms

vyos@vyos:~$ show protocols bfd peer 10.0.0.11
BFD Peer:
        peer 10.0.0.112 multihop local-address 10.0.0.11 vrf default
                ID: 4264961461
                Remote ID: 0
                Active mode
                Minimum TTL: 254
                Status: down
                Downtime: 4 minute(s), 52 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: configured
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 3000ms
                        Transmission interval: 3000ms
                        Echo transmission interval: 50ms
                Remote timers:
                        Detect-multiplier: 3
                        Receive interval: 1000ms
                        Transmission interval: 1000ms
                        Echo transmission interval: 0ms
c-po triaged this task as Low priority.
c-po changed Difficulty level from Unknown (require assessment) to Easy (less than an hour).
c-po changed Why the issue appeared? from Will be filled on close to Design mistake.
c-po changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.