summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/conf_mode/vrf.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/conf_mode/vrf.py b/src/conf_mode/vrf.py
index 116d87455..bdd57177c 100755
--- a/src/conf_mode/vrf.py
+++ b/src/conf_mode/vrf.py
@@ -148,16 +148,20 @@ def verify(vrf_config):
if len(vrf['members']) > 0:
raise ConfigError('VRF "{}" can not be deleted as it has active members'.format(vrf['name']))
+ table_ids = []
for vrf in vrf_config['vrf_add']:
# table id is mandatory
if not vrf['table']:
- raise ConfigError('VRF "{}": table id is mandatory'.format(vrf['name']))
+ raise ConfigError('VRF "{}" table id is mandatory'.format(vrf['name']))
# routing table id can't be changed - OS restriction
if vrf['table_mod']:
- raise ConfigError('VRF "{}": modification of table id is not possible'.format(vrf['name']))
+ raise ConfigError('VRF "{}" modification of table id is not possible'.format(vrf['name']))
- # add test to see if routing table already exists or not?
+ # VRf routing table ID must be unique on the system
+ if vrf['table'] in table_ids:
+ raise ConfigError('VRF "{}" routing table id "{}" not unique'.format(vrf['name'], vrf['table']))
+ table_ids.append(vrf['table'])
return None