Page MenuHomeVyOS Platform

Error when deleting VLAN-VNI mapping
Closed, InvalidPublicBUG

Description

Error when deleting VLAN-VNI mapping.

If enable vni-filter, there is no error.

Workaround

# Enable VNI-filter all the time, even there is no other VXLAN interface with "external"

set interface vxlan vxlan1 parameters vni-filter

Reproduce Step

set interfaces bridge br0 enable-vlan
    set interfaces bridge br0 member interface vxlan1 allowed-vlan '2-4094'
    set interfaces vxlan vxlan1 mtu '1450'
    set interfaces vxlan vxlan1 parameters external
    set interfaces vxlan vxlan1 parameters nolearning
    set interfaces vxlan vxlan1 source-interface 'eth0'
    set interfaces vxlan vxlan1 vlan-to-vni 2 vni '10002'
    set interfaces vxlan vxlan1 vlan-to-vni 3 vni '10003'
    set interfaces vxlan vxlan1 vlan-to-vni 4 vni '10004'
commit

delete interfaces vxlan vxlan1 vlan-to-vni 2
commit

Or

set interfaces bridge br0 enable-vlan
    set interfaces bridge br0 member interface vxlan1 allowed-vlan '2-4094'
    set interfaces vxlan vxlan1 mtu '1450'
    set interfaces vxlan vxlan1 parameters external
    set interfaces vxlan vxlan1 parameters nolearning
    set interfaces vxlan vxlan1 source-interface 'eth0'
    set interfaces vxlan vxlan1 vlan-to-vni 2 vni '10002'
    set interfaces vxlan vxlan1 vlan-to-vni 3 vni '10003'
    set interfaces vxlan vxlan1 vlan-to-vni 4 vni '10004'

bridge vni show dev vxlan1
# will fail

Log

Traceback (most recent call last):
  File "/usr/libexec/vyos/conf_mode/interfaces_vxlan.py", line 231, in <module>
    apply(c)
  File "/usr/libexec/vyos/conf_mode/interfaces_vxlan.py", line 222, in apply
    v.update(vxlan)
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/vxlan.py", line 188, in update
    self.set_vlan_vni_mapping(dict_search('vlan_to_vni', config) != None)
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/vxlan.py", line 141, in set_vlan_vni_mapping
    cur_vni_filter = get_vxlan_vni_filter(self.ifname)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/utils/network.py", line 508, in get_vxlan_vni_filter
    tmp = loads(cmd(f'bridge --json vni show dev {interface}'))
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/utils/process.py", line 155, in cmd
    raise OSError(code, feedback)
PermissionError: [Errno 1] failed to run command: bridge --json vni show dev vxlan1
returned: [
exit code: 1

noteworthy:
cmd 'bridge --json vni show dev vxlan1'
returned (out):
[
returned (err):
RTNETLINK answers: Invalid argument
Dump ternminated

[[interfaces vxlan vxlan1]] failed
Commit failed
[edit]
vyos@h1# bridge --json vni show dev vxlan1
RTNETLINK answers: Invalid argument
Dump ternminated
[[edit]
vyos@h1#

date@home:~$ bridge -V
bridge utility, 6.9.0

Version

date@home:~$ show version
Version:          VyOS 1.5-rolling-202407250020
Release train:    current
Release flavor:   generic

Built by:         [email protected]
Built on:         Thu 25 Jul 2024 02:50 UTC
Build UUID:       90eb0b8f-c45d-4b73-9b2a-1c4bcb447ec9
Build commit ID:  abe46eca69bcea

Architecture:     x86_64
Boot via:         installed image
System type:      bare metal

Hardware vendor:  Accton
Hardware model:   Default string
Hardware S/N:     AI16073733
Hardware UUID:    03000200-0400-0500-0006-000700080009

Copyright:        VyOS maintainers and contributors
date@home:~$

Details

Version
VyOS 1.5-rolling-202407250020
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Unspecified (please specify)