diff options
author | Jernej Jakob <jernej.jakob@gmail.com> | 2020-05-01 19:44:17 +0200 |
---|---|---|
committer | Jernej Jakob <jernej.jakob@gmail.com> | 2020-05-04 22:59:39 +0200 |
commit | 50ca89433c2a29367a36f5f049821a9bedb39d24 (patch) | |
tree | a61a4943b36e00b8c69c1247b117aa83b02121ea /src | |
parent | f11ce49a670507f814183e27c4f3e50e29e54e6e (diff) | |
download | vyos-1x-50ca89433c2a29367a36f5f049821a9bedb39d24.tar.gz vyos-1x-50ca89433c2a29367a36f5f049821a9bedb39d24.zip |
pseudo-ethernet: T2241: make address and bridge membership mutually exclusive
Bridge members should not have any addresses assigned.
Diffstat (limited to 'src')
-rwxr-xr-x | src/conf_mode/interfaces-pseudo-ethernet.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/conf_mode/interfaces-pseudo-ethernet.py b/src/conf_mode/interfaces-pseudo-ethernet.py index 9f01cf0c1..e06f14a95 100755 --- a/src/conf_mode/interfaces-pseudo-ethernet.py +++ b/src/conf_mode/interfaces-pseudo-ethernet.py @@ -122,6 +122,14 @@ def verify(peth): if not peth['source_interface'] in interfaces(): raise ConfigError('Pseudo-ethernet source-interface does not exist') + if ( peth['is_bridge_member'] + and ( peth['address'] + or peth['ipv6_eui64_prefix'] + or peth['ipv6_autoconf'] ) ): + raise ConfigError(( + f'Cannot assign address to interface "{peth["intf"]}" ' + f'as it is a member of bridge "{peth["is_bridge_member"]}"!')) + if peth['vrf']: if peth['vrf'] not in interfaces(): raise ConfigError(f'VRF "{peth["vrf"]}" does not exist') |