summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-05-24 10:26:11 +0200
committerChristian Poessinger <christian@poessinger.com>2021-05-24 10:26:11 +0200
commit38b3dff1ebdf8c26a28d0befa6dcf0b4f51f21be (patch)
tree91514a442655d6b5dc11ffad8a3a4bbff17f8cd2
parent722b88d3d88c8c89cf7bd90b52c97460338b60fa (diff)
downloadvyos-1x-38b3dff1ebdf8c26a28d0befa6dcf0b4f51f21be.tar.gz
vyos-1x-38b3dff1ebdf8c26a28d0befa6dcf0b4f51f21be.zip
pseudo-ethernet: T3575: verify parent interface MTU
-rw-r--r--python/vyos/configverify.py4
-rwxr-xr-xsrc/conf_mode/interfaces-pseudo-ethernet.py7
2 files changed, 8 insertions, 3 deletions
diff --git a/python/vyos/configverify.py b/python/vyos/configverify.py
index 41d80d6e7..88cbf2d5b 100644
--- a/python/vyos/configverify.py
+++ b/python/vyos/configverify.py
@@ -1,4 +1,4 @@
-# Copyright 2020 VyOS maintainers and contributors <maintainers@vyos.io>
+# Copyright 2020-2021 VyOS maintainers and contributors <maintainers@vyos.io>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
@@ -48,7 +48,7 @@ def verify_mtu(config):
def verify_mtu_parent(config, parent):
if 'mtu' not in config or 'mtu' not in parent:
return
-
+
mtu = int(config['mtu'])
parent_mtu = int(parent['mtu'])
if mtu > parent_mtu:
diff --git a/src/conf_mode/interfaces-pseudo-ethernet.py b/src/conf_mode/interfaces-pseudo-ethernet.py
index 34a054837..945a2ea9c 100755
--- a/src/conf_mode/interfaces-pseudo-ethernet.py
+++ b/src/conf_mode/interfaces-pseudo-ethernet.py
@@ -24,6 +24,7 @@ from vyos.configverify import verify_address
from vyos.configverify import verify_bridge_delete
from vyos.configverify import verify_source_interface
from vyos.configverify import verify_vlan_config
+from vyos.configverify import verify_mtu_parent
from vyos.ifconfig import MACVLANIf
from vyos import ConfigError
@@ -45,6 +46,9 @@ def get_config(config=None):
mode = leaf_node_changed(conf, ['mode'])
if mode: peth.update({'mode_old' : mode})
+ if 'source_interface' in peth:
+ peth['parent'] = get_interface_dict(conf, ['interfaces', 'ethernet'],
+ peth['source_interface'])
return peth
def verify(peth):
@@ -55,9 +59,10 @@ def verify(peth):
verify_source_interface(peth)
verify_vrf(peth)
verify_address(peth)
-
+ verify_mtu_parent(peth, peth['parent'])
# use common function to verify VLAN configuration
verify_vlan_config(peth)
+
return None
def generate(peth):