diff options
author | Christian Breunig <christian@breunig.cc> | 2024-07-20 10:35:44 +0200 |
---|---|---|
committer | Christian Breunig <christian@breunig.cc> | 2024-07-20 20:21:07 +0200 |
commit | 031eebc1ee473196cffe9e4b7b0164444cf88905 (patch) | |
tree | 8829805685e492b8cc6f3ddd2390adfd39ea8393 /interface-definitions/interfaces_virtual-ethernet.xml.in | |
parent | 5ae173c05defa1e230552271018133816ca00467 (diff) | |
download | vyos-1x-031eebc1ee473196cffe9e4b7b0164444cf88905.tar.gz vyos-1x-031eebc1ee473196cffe9e4b7b0164444cf88905.zip |
interfaces: T6592: moving an interface between VRF instances failed
To reproduce:
set vrf name mgmt table '150'
set vrf name no-mgmt table '151'
set interfaces ethernet eth2 vrf 'mgmt'
commit
set interfaces ethernet eth2 vrf no-mgmt
commit
This resulted in an error while interacting with nftables:
[Errno 1] failed to run command: nft add element inet vrf_zones ct_iface_map { "eth2" : 151 }
The reason is that the old mapping entry still exists and was not removed.
This commit adds a new utility function get_vrf_tableid() and compares the
current and new VRF table IDs assigned to an interface. If the IDs do not
match, the nftables ct_iface_map entry is removed before the new entry is added.
(cherry picked from commit 452068ce78581bb6fba2df4dba197e95b9aeb33d)
# Conflicts:
# python/vyos/ifconfig/interface.py
# python/vyos/utils/network.py
Diffstat (limited to 'interface-definitions/interfaces_virtual-ethernet.xml.in')
0 files changed, 0 insertions, 0 deletions