diff options
author | Christian Poessinger <christian@poessinger.com> | 2021-05-24 10:26:11 +0200 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2021-05-24 10:46:22 +0200 |
commit | 1064c5f901b8fb656793dd374a63635ac5375719 (patch) | |
tree | 08610dcab58020562fc3acbab074aa7acd4ec656 | |
parent | f0020ef10d601c5e8dbcc4ed8fb1dab402170c9e (diff) | |
download | vyos-1x-1064c5f901b8fb656793dd374a63635ac5375719.tar.gz vyos-1x-1064c5f901b8fb656793dd374a63635ac5375719.zip |
pseudo-ethernet: T3575: verify parent interface MTU
(cherry picked from commit 38b3dff1ebdf8c26a28d0befa6dcf0b4f51f21be)
-rw-r--r-- | python/vyos/configverify.py | 4 | ||||
-rwxr-xr-x | src/conf_mode/interfaces-pseudo-ethernet.py | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/python/vyos/configverify.py b/python/vyos/configverify.py index 7f6fc040d..0ff45da2a 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 ddbef56ac..4bd75f770 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): |