summaryrefslogtreecommitdiff
path: root/src/conf_mode/interfaces-bridge.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-04-07 22:02:49 +0200
committerChristian Poessinger <christian@poessinger.com>2020-04-07 22:02:49 +0200
commitfcce4714146a39f608ddd141338547a5a952c63f (patch)
tree3b521908928e0cae15c2e8f8979088b5f7d2c0a5 /src/conf_mode/interfaces-bridge.py
parent681576fff6a268ed04ae1a73ad7771882672cdb6 (diff)
downloadvyos-1x-fcce4714146a39f608ddd141338547a5a952c63f.tar.gz
vyos-1x-fcce4714146a39f608ddd141338547a5a952c63f.zip
bridge: T2232: prevent deletion of enslaved interfaces
Interfaces enslaved to a bridge are not allowed to be deleted. If an interface is deleted from the config but it is still enslaved to a bridge will cause a configuration error on the subsequent boot.
Diffstat (limited to 'src/conf_mode/interfaces-bridge.py')
-rwxr-xr-xsrc/conf_mode/interfaces-bridge.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/conf_mode/interfaces-bridge.py b/src/conf_mode/interfaces-bridge.py
index 28e5957e4..79247ee51 100755
--- a/src/conf_mode/interfaces-bridge.py
+++ b/src/conf_mode/interfaces-bridge.py
@@ -243,6 +243,9 @@ def verify(bridge):
if intf['name'] not in interfaces():
raise ConfigError('Can not add non existing interface "{}" to bridge "{}"'.format(intf['name'], bridge['intf']))
+ if intf['name'] == 'lo':
+ raise ConfigError('Loopback interface "lo" can not be added to a bridge')
+
# bridge members are not allowed to be bond members, too
for intf in bridge['member']:
for bond in conf.list_nodes('interfaces bonding'):