diff options
author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2022-07-12 08:39:36 +0000 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2022-07-18 08:14:33 +0200 |
commit | 3a1c690e22e397bbdecf47364c3f885df7a8e8ef (patch) | |
tree | bae5603042684e17cb2a77959fd63e6af1bcd975 | |
parent | 51455fc033cd41e1a105800b2a901e4a32df6058 (diff) | |
download | vyos-1x-3a1c690e22e397bbdecf47364c3f885df7a8e8ef.tar.gz vyos-1x-3a1c690e22e397bbdecf47364c3f885df7a8e8ef.zip |
vrf: T4527: Prevent to create VRF with reserved names
VRF names: "add, all, broadcast, default, delete, dev, get, inet,
mtu, link, type, vrf" are reserved and cannot be used for vrf name
(cherry picked from commit 52342f389af2da2995b858d026e6fbcad5c8bfaa)
-rwxr-xr-x | src/conf_mode/vrf.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/conf_mode/vrf.py b/src/conf_mode/vrf.py index fb2182fff..def4cc70d 100755 --- a/src/conf_mode/vrf.py +++ b/src/conf_mode/vrf.py @@ -108,8 +108,14 @@ def verify(vrf): f'static routes installed!') if 'name' in vrf: + reserved_names = ["add", "all", "broadcast", "default", "delete", "dev", "get", "inet", "mtu", "link", "type", + "vrf"] table_ids = [] for name, config in vrf['name'].items(): + # Reserved VRF names + if name in reserved_names: + raise ConfigError(f'VRF name "{name}" is reserved and connot be used!') + # table id is mandatory if 'table' not in config: raise ConfigError(f'VRF "{name}" table id is mandatory!') |