summaryrefslogtreecommitdiff
path: root/src/conf_mode/protocols_bgp.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-01-21 18:09:32 +0100
committerGitHub <noreply@github.com>2021-01-21 18:09:32 +0100
commita80cd3058cb8d9a9152c8c205d41175056c6fa52 (patch)
tree9f8b144dabf9bfcefaed16ee73627acbafb620f9 /src/conf_mode/protocols_bgp.py
parent0a6ca540da53d07e19e1186404d706757b2e5942 (diff)
parenta0a88d2dea9710efd80b27b24b4f40b13c613768 (diff)
downloadvyos-1x-a80cd3058cb8d9a9152c8c205d41175056c6fa52.tar.gz
vyos-1x-a80cd3058cb8d9a9152c8c205d41175056c6fa52.zip
Merge pull request #690 from Cheeze-It/current
bgp: T1875: Adding BGP listen range FRR feature
Diffstat (limited to 'src/conf_mode/protocols_bgp.py')
-rwxr-xr-xsrc/conf_mode/protocols_bgp.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/conf_mode/protocols_bgp.py b/src/conf_mode/protocols_bgp.py
index cdae23d27..39d367b97 100755
--- a/src/conf_mode/protocols_bgp.py
+++ b/src/conf_mode/protocols_bgp.py
@@ -109,7 +109,7 @@ def verify(bgp):
if tmp not in afi_config['prefix_list']:
# bail out early
continue
- # get_config_dict() mangles all '-' characters to '_' this is legitim, thus all our
+ # get_config_dict() mangles all '-' characters to '_' this is legitimate, thus all our
# compares will run on '_' as also '_' is a valid name for a prefix-list
prefix_list = afi_config['prefix_list'][tmp].replace('-', '_')
if afi == 'ipv4_unicast':
@@ -127,7 +127,13 @@ def verify(bgp):
route_map = afi_config['route_map'][tmp].replace('-', '_')
if dict_search(f'policy.route_map.{route_map}', asn_config) == None:
raise ConfigError(f'route-map "{route_map}" used for "{tmp}" does not exist!')
-
+
+ # Throw an error if a peer group is not configured for allow range
+ if 'listen' in asn_config:
+ if 'range' in asn_config['listen']:
+ for prefix in asn_config['listen']['range']:
+ if not 'peer_group' in asn_config['listen']['range'].get(prefix):
+ raise ConfigError(f'Listen range for prefix "{prefix}" has no peer group configured.')
return None