summaryrefslogtreecommitdiff
path: root/python/vyos/configverify.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2022-07-14 21:48:23 +0200
committerChristian Poessinger <christian@poessinger.com>2022-07-18 08:14:33 +0200
commit6f53eb48d5c9d79354d4349c042eec02b8051560 (patch)
tree02c6a3d64fea19fe9976677ba7cfad3133fd7761 /python/vyos/configverify.py
parent8bbde65979519d38712b1bd55cf50042513546bf (diff)
downloadvyos-1x-6f53eb48d5c9d79354d4349c042eec02b8051560.tar.gz
vyos-1x-6f53eb48d5c9d79354d4349c042eec02b8051560.zip
interfaces: T4525: interfaces can not be member of a bridge/bond and a VRF
(cherry picked from commit 81e0f4a8dece85da7169ba05448e870206aaf57b)
Diffstat (limited to 'python/vyos/configverify.py')
-rw-r--r--python/vyos/configverify.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/python/vyos/configverify.py b/python/vyos/configverify.py
index 6566e8863..44342f289 100644
--- a/python/vyos/configverify.py
+++ b/python/vyos/configverify.py
@@ -84,6 +84,18 @@ def verify_mtu_ipv6(config):
tmp = dict_search('ipv6.address.eui64', config)
if tmp != None: raise ConfigError(error_msg)
+def verify_bond_bridge_member(config):
+ """
+ Checks if interface has a VRF configured and is also part of a bond or
+ bridge, which is not allowed!
+ """
+ if 'vrf' in config:
+ ifname = config['ifname']
+ if 'is_bond_member' in config:
+ raise ConfigError(f'Can not add interface "{ifname}" to bond, it has a VRF assigned!')
+ if 'is_bridge_member' in config:
+ raise ConfigError(f'Can not add interface "{ifname}" to bridge, it has a VRF assigned!')
+
def verify_tunnel(config):
"""
This helper is used to verify the common part of the tunnel