diff options
-rwxr-xr-x | src/conf_mode/vrf.py | 10 |
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 |