Page MenuHomeVyOS Platform

Duplicate IPv6 BFD peers created
Closed, ResolvedPublicBUG

Description

I have a BFD configuration as follows:

trae@cr01a-vyos# show 
 peer 192.168.253.1 {
     interval {
         receive 50
         transmit 50
     }
     multihop
     source {
         address 192.168.253.2
     }
 }
 peer 192.168.253.3 {
     interval {
         receive 50
         transmit 50
     }
     multihop
     source {
         address 192.168.253.2
     }
 }
 peer 192.168.253.12 {
     interval {
         receive 50
         transmit 50
     }
     multihop
     source {
         address 192.168.253.2
     }
 }
 peer fd52:d62e:8011:fffe:192:168:253:1 {
     interval {
         receive 50
         transmit 50
     }
     source {
         address fd52:d62e:8011:fffe:192:168:253:2
         interface dum0
     }
 }
 peer fd52:d62e:8011:fffe:192:168:253:3 {
     interval {
         receive 50
         transmit 50
     }
     source {
         address fd52:d62e:8011:fffe:192:168:253:2
         interface dum0
     }
 }
 peer fd52:d62e:8011:fffe:192:168:253:12 {
     interval {
         receive 50
         transmit 50
     }
     source {
         address fd52:d62e:8011:fffe:192:168:253:2
         interface dum0
     }
 }

You can see that the peers do get created, but there's an additional IPv6 peer for each configured one:

trae@cr01a-vyos# vtysh -c 'show bfd peers brief'
Session count: 9
SessionId  LocalAddress                             PeerAddress                             Status         
=========  ============                             ===========                             ======         
3593528133 fd52:d62e:8011:fffe:192:168:253:2        fd52:d62e:8011:fffe:192:168:253:3       up             
982613625  fd52:d62e:8011:fffe:192:168:253:2        fd52:d62e:8011:fffe:192:168:253:1       up             
3062145522 192.168.253.2                            192.168.253.3                           up             
1513909278 unknown                                  fd52:d62e:8011:fffe:192:168:253:3       down           
3367798349 fd52:d62e:8011:fffe:192:168:253:2        fd52:d62e:8011:fffe:192:168:253:12      init           
1380539671 unknown                                  fd52:d62e:8011:fffe:192:168:253:1       down           
2320718896 192.168.253.2                            192.168.253.1                           up             
2529726712 unknown                                  fd52:d62e:8011:fffe:192:168:253:12      down           
4085521433 192.168.253.2                            192.168.253.12                          up

Here's what the two peers (one configured peer) created look like:

trae@cr01a-vyos# run show protocols bfd peer | grep -A17 'peer fd52:d62e:8011:fffe:192:168:253:1 ' 
        peer fd52:d62e:8011:fffe:192:168:253:1 multihop local-address fd52:d62e:8011:fffe:192:168:253:2 vrf default
                ID: 982613625
                Remote ID: 3545106482
                Status: up
                Uptime: 34 minute(s), 11 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: dynamic
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 300ms
                        Transmission interval: 300ms
                        Echo transmission interval: 50ms
                Remote timers:
                        Detect-multiplier: 3
                        Receive interval: 50ms
                        Transmission interval: 50ms
                        Echo transmission interval: 50ms
--
        peer fd52:d62e:8011:fffe:192:168:253:1 local-address fd52:d62e:8011:fffe:192:168:253:2 vrf default interface dum0
                ID: 1380539671
                Remote ID: 0
                Status: down
                Downtime: 34 minute(s), 19 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: configured
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 50ms
                        Transmission interval: 50ms
                        Echo transmission interval: 50ms
                Remote timers:
                        Detect-multiplier: 3
                        Receive interval: 1000ms
                        Transmission interval: 1000ms
                        Echo transmission interval: 0ms
[edit protocols bfd]

As you can see above, it looks like the two getting created have different local timers, even though I've configured it for 50ms for transmit and receive.

Details

Difficulty level
Normal (likely a few hours)
Version
1.3-rolling-202005051738
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

I can't reproduce it in the latest rolling

vyos@r5-roll:~$ show conf com | match bfd
set protocols bfd peer fd52:d62e:8011:fffe:192:168:253:1 interval receive '50'
set protocols bfd peer fd52:d62e:8011:fffe:192:168:253:1 interval transmit '50'
set protocols bfd peer fd52:d62e:8011:fffe:192:168:253:1 source address 'fd52:d62e:8011:fffe:192:168:253:2'
set protocols bfd peer fd52:d62e:8011:fffe:192:168:253:1 source interface 'dum0'
set protocols bfd peer fd52:d62e:8011:fffe:192:168:253:3 interval receive '50'
set protocols bfd peer fd52:d62e:8011:fffe:192:168:253:3 interval transmit '50'
set protocols bfd peer fd52:d62e:8011:fffe:192:168:253:3 source address 'fd52:d62e:8011:fffe:192:168:253:2'
set protocols bfd peer fd52:d62e:8011:fffe:192:168:253:3 source interface 'dum0'
vyos@r5-roll:~$ show ver

Version:          VyOS 1.3-rolling-202010110146

Peers

vyos@r5-roll:~$ show protocols bfd peer 
BFD Peers:
        peer fd52:d62e:8011:fffe:192:168:253:1 local-address fd52:d62e:8011:fffe:192:168:253:2 vrf default interface dum0
                ID: 3701881819
                Remote ID: 3918036266
                Status: init
                Diagnostics: control detection time expired
                Remote diagnostics: control detection time expired
                Peer Type: configured
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 50ms
                        Transmission interval: 50ms
                        Echo transmission interval: 50ms
                Remote timers:
                        Detect-multiplier: 3
                        Receive interval: 1000ms
                        Transmission interval: 1000ms
                        Echo transmission interval: 50ms

        peer fd52:d62e:8011:fffe:192:168:253:3 local-address fd52:d62e:8011:fffe:192:168:253:2 vrf default interface dum0
                ID: 368611825
                Remote ID: 0
                Status: down
                Downtime: 8 minute(s), 0 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: configured
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 50ms
                        Transmission interval: 50ms
                        Echo transmission interval: 50ms
                Remote timers:
                        Detect-multiplier: 3
                        Receive interval: 1000ms
                        Transmission interval: 1000ms
                        Echo transmission interval: 0ms

It seems one of your commit was wrong?

Check please current config

vtysh -c "show run"

Or describe steps with configurations examples with

show conf com

@trae32566 Are there any updates for this task?

trae32566 claimed this task.

Yes! Turns out the following is what fixed it:
https://phabricator.vyos.net/T2980

It looks like FRR was generating dynamic peers due to the inability to properly configure the static ones specified.

erkin renamed this task from Duplicate IPv6 BFD Peers Created to Duplicate IPv6 BFD peers created.Aug 29 2021, 12:40 PM
erkin set Issue type to Bug (incorrect behavior).
erkin removed a subscriber: Active contributors.