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:26:11 +0200 |
commit | 38b3dff1ebdf8c26a28d0befa6dcf0b4f51f21be (patch) | |
tree | 91514a442655d6b5dc11ffad8a3a4bbff17f8cd2 | |
parent | 722b88d3d88c8c89cf7bd90b52c97460338b60fa (diff) | |
download | vyos-1x-38b3dff1ebdf8c26a28d0befa6dcf0b4f51f21be.tar.gz vyos-1x-38b3dff1ebdf8c26a28d0befa6dcf0b4f51f21be.zip |
pseudo-ethernet: T3575: verify parent interface MTU
-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 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): |