summaryrefslogtreecommitdiff
path: root/src/conf_mode/interfaces_vxlan.py
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-07-23 19:05:21 +0200
committerChristian Breunig <christian@breunig.cc>2024-07-23 19:09:20 +0200
commitdd0ebffa33728e452ac6e11737c2283f0e390359 (patch)
tree008abe370a9e8102cb97117443781d2d98d443da /src/conf_mode/interfaces_vxlan.py
parent1f5cb9d01536f2005f80e94845972e90dfcdd0fd (diff)
downloadvyos-1x-dd0ebffa33728e452ac6e11737c2283f0e390359.tar.gz
vyos-1x-dd0ebffa33728e452ac6e11737c2283f0e390359.zip
vrf: T6602: verify supplied VRF name on all interface types
Only some (e.g. ethernet or wireguard) interfaces validate if the supplied VRF actually exists. If this is not validated, one can pass an invalid VRF to the system which generates an OSError exception. To reproduce set interfaces vxlan vxlan1 vni 1000 set interfaces vxlan vxlan1 remote 1.2.3.4 set interfaces vxlan vxlan1 vrf smoketest results in OSError: [Errno 255] failed to run command: ip link set dev vxlan1 master smoketest_mgmt This commit adds the missing verify_vrf() call to the missing interface types and an appropriate smoketest for all interfaces supporting VRF assignment.
Diffstat (limited to 'src/conf_mode/interfaces_vxlan.py')
-rwxr-xr-xsrc/conf_mode/interfaces_vxlan.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/conf_mode/interfaces_vxlan.py b/src/conf_mode/interfaces_vxlan.py
index aca0a20e4..68646e8ff 100755
--- a/src/conf_mode/interfaces_vxlan.py
+++ b/src/conf_mode/interfaces_vxlan.py
@@ -28,6 +28,7 @@ from vyos.configverify import verify_mtu_ipv6
from vyos.configverify import verify_mirror_redirect
from vyos.configverify import verify_source_interface
from vyos.configverify import verify_bond_bridge_member
+from vyos.configverify import verify_vrf
from vyos.ifconfig import Interface
from vyos.ifconfig import VXLANIf
from vyos.template import is_ipv6
@@ -216,6 +217,7 @@ def verify(vxlan):
verify_mtu_ipv6(vxlan)
verify_address(vxlan)
+ verify_vrf(vxlan)
verify_bond_bridge_member(vxlan)
verify_mirror_redirect(vxlan)