summaryrefslogtreecommitdiff
path: root/python/vyos/configverify.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-06-27 14:58:29 +0200
committerGitHub <noreply@github.com>2020-06-27 14:58:29 +0200
commit4aca048919b2237ce065bf22a775d782e780ff5a (patch)
tree8e9de4aeceba264e3d17f2a385a0e442cbab89de /python/vyos/configverify.py
parent1d97d52120eaa33a3c2edb39e966002dab7f9576 (diff)
parentadfb4c81a41b9eec4b33a27a8d8db7184dbda6da (diff)
downloadvyos-1x-4aca048919b2237ce065bf22a775d782e780ff5a.tar.gz
vyos-1x-4aca048919b2237ce065bf22a775d782e780ff5a.zip
Merge pull request #480 from c-po/t2653
ifconfig: T2653: move macsec interface to get_config_dict()
Diffstat (limited to 'python/vyos/configverify.py')
-rw-r--r--python/vyos/configverify.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/python/vyos/configverify.py b/python/vyos/configverify.py
index 64eb80728..e2fffeca7 100644
--- a/python/vyos/configverify.py
+++ b/python/vyos/configverify.py
@@ -21,14 +21,14 @@
# NOTE: imports should be as local as possible to the function which
# makes use of it!
+from vyos import ConfigError
+
def verify_bridge_vrf(config):
"""
Common helper function used by interface implementations to
perform recurring validation of VRF configuration
"""
from netifaces import interfaces
- from vyos import ConfigError
-
if 'vrf' in config.keys():
if config['vrf'] not in interfaces():
raise ConfigError('VRF "{vrf}" does not exist'.format(**config))
@@ -45,8 +45,6 @@ def verify_bridge_address(config):
perform recurring validation of IP address assignmenr
when interface also is part of a bridge.
"""
- from vyos import ConfigError
-
if {'is_bridge_member', 'address'} <= set(config):
raise ConfigError(
f'Cannot assign address to interface "{ifname}" as it is a '
@@ -59,9 +57,18 @@ def verify_bridge_delete(config):
perform recurring validation of IP address assignmenr
when interface also is part of a bridge.
"""
- from vyos import ConfigError
-
if 'is_bridge_member' in config.keys():
raise ConfigError(
'Interface "{ifname}" cannot be deleted as it is a '
'member of bridge "{is_bridge_member}"!'.format(**config))
+
+
+def verify_source_interface(config):
+ """
+ Common helper function used by interface implementations to
+ perform recurring validation of the existence of a source-interface
+ required by e.g. peth/MACvlan, MACsec ...
+ """
+ if not 'source_interface' in config.keys():
+ raise ConfigError('Physical source-interface required for '
+ 'interface "{ifname}"'.format(**config))