Page MenuHomeVyOS Platform

Changes to VxLAN interfaces erases FRR config
Open, HighPublic

Description

Version:          VyOS 2025.03.18-0018-rolling
Release train:    current
Release flavor:   generic

Built by:         autobuild@vyos.net
Built on:         Tue 18 Mar 2025 00:18 UTC
Build UUID:       9b3dbf46-3f13-4f2d-85c4-87352a024e55
Build commit ID:  30d687b5dc5ced

Architecture:     x86_64
Boot via:         installed image
System type:      KVM guest
Secure Boot:      n/a (BIOS)

Hardware vendor:  QEMU
Hardware model:   Standard PC (i440FX + PIIX, 1996)
Hardware S/N:     
Hardware UUID:    2e4fdea9-10a8-45ec-9bcb-b44be84eac59

Copyright:        VyOS maintainers and contributors

When changing anything on a VxLAN interface, the FRR config is removed back to a default config.

Before change:

vyos@PE2# run show ip ospf nei

Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL
10.1.2.1          1 Full/-          3.746s            33.700s 10.1.2.1        eth1:10.1.2.2                        1     0     0
vyos@PE2# sudo vtysh -c "show run"
Building configuration...

Current configuration:
!
frr version 10.2.2
frr defaults traditional
hostname PE2
service integrated-vtysh-config
!
ip route 0.0.0.0/0 10.0.101.1 eth0.101 tag 210 210
ip route 0.0.0.0/0 10.0.101.1 245
!
interface bond0
 evpn mh es-df-pref 500
 evpn mh es-id 100
 evpn mh es-sys-mac aa:bb:cc:dd:ee:f0
 evpn mh uplink
exit
!
interface dum0
 ip ospf area 0
 ip ospf dead-interval 40
exit
!
interface eth1
 evpn mh uplink
 ip ospf area 0
 ip ospf dead-interval 40
 ip ospf network point-to-point
exit
!
router bgp 65000
 no bgp ebgp-requires-policy
 no bgp default ipv4-unicast
 no bgp network import-check
 neighbor 10.1.2.1 remote-as 65000
 neighbor 10.1.2.1 solo
 !
 address-family l2vpn evpn
  neighbor 10.1.2.1 activate
  advertise-all-vni
 exit-address-family
exit
!
router ospf
 auto-cost reference-bandwidth 100
 timers throttle spf 200 1000 10000
 redistribute nhrp
exit

After Change:

vyos@PE2# set interfaces vxlan vxlan0 parameters neighbor-suppress 
[edit]
vyos@PE2# commit
vyos@PE2# run show ip ospf nei
% OSPF is not enabled in vrf default
vyos@PE2# sudo vtysh -c "show run"
Building configuration...

Current configuration:
!
frr version 10.2.2
frr defaults traditional
hostname PE2
service integrated-vtysh-config
NOTE: This happens with any change to the VxLAN interface, not just parameters

Restoring Config:

The config can be restored by making any change to BGP (likely other sections that would generate an FRR config as well):

vyos@PE2# set protocols bgp address-family l2vpn-evpn vni 100
vyos@PE2# commit
vyos@PE2# run show ip ospf nei

Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL
10.1.2.1          1 Full/-          8m40s             39.826s 10.1.2.1        eth1:10.1.2.2                        0     0     0

Log:

This is from right after changing something on the VxLAN interface:

vyos@PE2# run show log
Mar 22 15:19:53 systemd-journald[756]: System Journal (/var/log/journal/9d9d5510bf7d4aee845f090a38d1a769) is 16.0M, max 770.9M, 754.9M free.
Mar 22 15:19:53 systemd-journald[756]: Received client request to rotate journal, rotating.
Mar 22 15:19:53 systemd-journald[756]: Deleted empty archived journal /var/log/journal/9d9d5510bf7d4aee845f090a38d1a769/user-1002@f1b919a6596a48fb84c54ed40613b00d-0000000000000000-0000000000000000.journal (2.6M).
Mar 22 15:19:53 systemd-journald[756]: Vacuuming done, freed 2.6M of archived journals from /var/log/journal/9d9d5510bf7d4aee845f090a38d1a769.
Mar 22 15:20:10 vyos-configd[769]: Received message: {"type": "init"}
Mar 22 15:20:10 vyos-configd[769]: config session pid is 3152
Mar 22 15:20:10 vyos-configd[769]: config session sudo_user is vyos
Mar 22 15:20:10 vyos-configd[769]: commit_scripts: ['interfaces_vxlan_vxlan0']
Mar 22 15:20:10 vyos-configd[769]: Received message: {"type": "node", "last": true, "data": "VYOS_TAGNODE_VALUE=vxlan0/usr/libexec/vyos/conf_mode/interfaces_vxlan.py"}
Mar 22 15:20:10 kernel: br0: port 2(vxlan0) entered disabled state
Mar 22 15:20:10 kernel: vxlan0 (unregistering): left allmulticast mode
Mar 22 15:20:10 kernel: vxlan0 (unregistering): left promiscuous mode
Mar 22 15:20:10 kernel: br0: port 2(vxlan0) entered disabled state
Mar 22 15:20:10 netplugd[1020]: br0: state INSANE flags 0x00001043 UP,BROADCAST,RUNNING,MULTICAST -> 0x00001003 UP,BROADCAST,MULTICAST
Mar 22 15:20:10 (udev-worker)[9226]: Network interface NamePolicy= disabled on kernel command line.
Mar 22 15:20:11 kernel: br0: port 2(vxlan0) entered blocking state
Mar 22 15:20:11 kernel: br0: port 2(vxlan0) entered disabled state
Mar 22 15:20:11 kernel: vxlan0: entered allmulticast mode
Mar 22 15:20:11 kernel: vxlan0: entered promiscuous mode
Mar 22 15:20:11 kernel: br0: port 2(vxlan0) entered blocking state
Mar 22 15:20:11 kernel: br0: port 2(vxlan0) entered forwarding state
Mar 22 15:20:11 netplugd[1020]: br0: state INSANE flags 0x00001003 UP,BROADCAST,MULTICAST -> 0x00001043 UP,BROADCAST,RUNNING,MULTICAST
Mar 22 15:20:11 vyos-configd[769]: Sending reply: SUCCESS with output
Mar 22 15:20:11 vyos-configd[769]: scripts_called: ['interfaces_vxlan_vxlan0']
Mar 22 15:20:11 systemd[1]: opt-vyatta-config-tmp-new_config_3152.mount: Deactivated successfully.
Mar 22 15:20:11 watchfrr[1417]: [VTVCM-Y2NW3] Configuration Read in Took: 00:00:00
Mar 22 15:20:11 watchfrr[1417]: [VTVCM-Y2NW3] Configuration Read in Took: 00:00:00
Mar 22 15:20:11 watchfrr[1417]: [WFP93-1D146] configuration write completed with exit code 0

Config:

set interfaces bonding bond0 evpn es-df-pref '500'
set interfaces bonding bond0 evpn es-id '100'
set interfaces bonding bond0 evpn es-sys-mac 'aa:bb:cc:dd:ee:f0'
set interfaces bonding bond0 evpn uplink
set interfaces bonding bond0 member interface 'eth2'
set interfaces bonding bond0 min-links '1'
set interfaces bonding bond0 mode '802.3ad'
set interfaces bonding bond0 system-mac 'aa:bb:cc:dd:ee:f0'
set interfaces bridge br0 address '10.0.1.1/24'
set interfaces bridge br0 mac 'aa:bb:cc:dd:ee:f1'
set interfaces bridge br0 member interface bond0
set interfaces bridge br0 member interface vxlan0
set interfaces dummy dum0 address '10.0.0.2/32'
set interfaces ethernet eth0 vif 101 address 'dhcp'
set interfaces ethernet eth1 address '10.1.2.2/24'
set interfaces ethernet eth1 evpn uplink
set interfaces loopback lo
set interfaces vxlan vxlan0 description 'TEST'
set interfaces vxlan vxlan0 mtu '1500'
set interfaces vxlan vxlan0 port '4789'
set interfaces vxlan vxlan0 source-address '10.1.2.2'
set interfaces vxlan vxlan0 vni '100'

set nat source rule 10 outbound-interface name 'eth0.101'
set nat source rule 10 translation address 'masquerade'

set protocols bgp address-family l2vpn-evpn advertise-all-vni
set protocols bgp neighbor 10.1.2.1 address-family l2vpn-evpn nexthop-self
set protocols bgp neighbor 10.1.2.1 remote-as '65000'
set protocols bgp neighbor 10.1.2.1 solo
set protocols bgp system-as '65000'
set protocols ospf area 0
set protocols ospf interface dum0 area '0'
set protocols ospf interface eth1 area '0'
set protocols ospf interface eth1 network 'point-to-point'
set protocols static route 0.0.0.0/0 next-hop 10.0.101.1 distance '245'

set service lldp interface all
set service ntp allow-client address '127.0.0.0/8'
set service ntp allow-client address '169.254.0.0/16'
set service ntp allow-client address '10.0.0.0/8'
set service ntp allow-client address '172.16.0.0/12'
set service ntp allow-client address '192.168.0.0/16'
set service ntp allow-client address '::1/128'
set service ntp allow-client address 'fe80::/10'
set service ntp allow-client address 'fc00::/7'
set service ntp server time1.vyos.net
set service ntp server time2.vyos.net
set service ntp server time3.vyos.net

set system config-management commit-revisions '100'
set system console device ttyS0 speed '115200'
set system host-name 'PE2'
set system login user vyos authentication encrypted-password '$6$rounds=656000$m45uHv/m4o1f.Ueq$CXgDJ9ycTxlhsbxB/Ept.Knk0FXJ742dRnIVj4Kf6tdvkdFwl/a6QBwz2ZjJX.muGiB02M2WymNUHna8lOf.J0'
set system login user vyos authentication plaintext-password ''
set system syslog local facility all level 'info'
set system syslog local facility local7 level 'debug'
NOTE: This occurs whether there are active peerings or not. This should be able to be replicated with the supplied config.

Details

Version
1.5
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)