Page MenuHomeVyOS Platform

Wrong dependencies or priorities for zebra vni vrf interfaces and bgpd
Closed, ResolvedPublicBUG

Description

To reproduce:

set interfaces vxlan vxlan3000 mtu '1500'
set interfaces vxlan vxlan3000 parameters nolearning
set interfaces vxlan vxlan3000 port '4789'
set interfaces vxlan vxlan3000 source-address '172.29.255.1'
set interfaces vxlan vxlan3000 vni '3000'

set interfaces bridge br3000 address '10.2.1.1/24'
set interfaces bridge br3000 description 'customer red'
set interfaces bridge br3000 member interface eth5
set interfaces bridge br3000 member interface vxlan3000
set interfaces bridge br3000 vrf 'red'

set protocols bgp address-family l2vpn-evpn advertise ipv4 unicast
set protocols bgp address-family l2vpn-evpn advertise-all-vni
set protocols bgp system-as '65001'

set vrf name red protocols bgp address-family ipv4-unicast redistribute connected
set vrf name red protocols bgp address-family l2vpn-evpn advertise ipv4 unicast
set vrf name red protocols bgp system-as '65001'
set vrf name red table '3000'
set vrf name red vni '3000'

commit

Then delete either vrf protocol or interfaces and vrf:

###

delete vrf name red protocols bgp 
commit

### Requires to commit 2 times

delete interfaces bridge 
delete interfaces vxlan 
delete vrf 
commit

###

Traceback:

Traceback (most recent call last):
  File "/usr/libexec/vyos/conf_mode/protocols_bgp.py", line 515, in <module>
    apply(c)
  File "/usr/libexec/vyos/conf_mode/protocols_bgp.py", line 506, in apply
    frr_cfg.commit_configuration(bgp_daemon)
  File "/usr/lib/python3/dist-packages/vyos/frr.py", line 480, in commit_configuration
    raise ConfigurationNotValid(f'Config commit retry counter ({count_max}) exceeded for {daemon} dameon!')
vyos.frr.ConfigurationNotValid: Config commit retry counter (5) exceeded for bgpd dameon!



delete [ vrf name red protocols bgp ] failed
Commit failed
[edit]
vyos@r14#

FRR debug:

frr-reload output: 117 2023-04-25 18:09:08,954  INFO: Failed to execute no router bgp 65001 vrf red
frr-reload output: 118 2023-04-25 18:09:08,989  INFO: Failed to execute no router bgp 65001 vrf
frr-reload output: 119 2023-04-25 18:09:09,021  INFO: Failed to execute no router bgp 65001
frr-reload output: 120 2023-04-25 18:09:09,051  INFO: Failed to execute no router bgp
frr-reload output: 121 2023-04-25 18:09:09,083  INFO: Failed to execute no router
frr-reload output: 122 2023-04-25 18:09:09,083   ERROR: "no router" we failed to remove this command
frr-reload output: 123 2023-04-25 18:09:09,083   ERROR: % Please unconfigure l3vni 3000
frr-reload output: 124

The second bug or main bug, vni is not deleted

delete vrf name red vni
commit

Zebra config after deleting VNI

vyos@r14# vtysh -c "show run zebra"
Building configuration...

Current configuration:
!
frr version 8.5
frr defaults traditional
hostname debian
log syslog
log facility local7
hostname r14
service integrated-vtysh-config
!
vrf red
 vni 3000
exit-vrf
!
end
[edit]
vyos@r14#

Details

Difficulty level
Normal (likely a few hours)
Version
VyOS 1.4-rolling-202304250317
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

Viacheslav renamed this task from Wrong dependencies or priorities for zebra vni vrf and bgpd to Wrong dependencies or priorities for zebra vni vrf interfaces and bgpd.Apr 25 2023, 3:13 PM

Incorrect modify modify_section: starting search for '^vrf protocols' until '^exit-vrf'

vyos@r14# delete vrf name red vni 
[edit]
vyos@r14# commit
[ vrf name red vni 3000 ]
{'name': {'protocols': {'bgp': {'address_family': {'ipv4_unicast': {'redistribute': {'connected': {}}},
                                                   'l2vpn_evpn': {'advertise': {'ipv4': {'unicast': {}}}}},
                                'system_as': '65001'}},
          'table': '3000'}}
load_configuration: Configuration loaded from FRR daemon zebra
load_configuration:  loaded      0 !
load_configuration:  loaded      1 frr version 8.5
load_configuration:  loaded      2 frr defaults traditional
load_configuration:  loaded      3 hostname debian
load_configuration:  loaded      4 log syslog
load_configuration:  loaded      5 log facility local7
load_configuration:  loaded      6 hostname r14
load_configuration:  loaded      7 service integrated-vtysh-config
load_configuration:  loaded      8 !
load_configuration:  loaded      9 vrf red
load_configuration:  loaded     10  vni 3000
load_configuration:  loaded     11 exit-vrf
load_configuration:  loaded     12 !
load_configuration:  loaded     13 end
modify_section: starting search for '^vrf protocols' until '^exit-vrf'
Viacheslav moved this task from Need Triage to Finished on the VyOS 1.4 Sagitta board.