summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoraapostoliuk <108394744+aapostoliuk@users.noreply.github.com>2025-03-18 17:26:06 +0200
committerGitHub <noreply@github.com>2025-03-18 15:26:06 +0000
commit3f595e5d47a78cb38c891567aa5d66ac6d5dc62b (patch)
tree39c382f4ad9ec8e6f7f28c2e2426d518a19645b7 /src
parent0af5728700b0b5da30e7713a4596aeadaf537b49 (diff)
downloadvyos-1x-3f595e5d47a78cb38c891567aa5d66ac6d5dc62b.tar.gz
vyos-1x-3f595e5d47a78cb38c891567aa5d66ac6d5dc62b.zip
bgp: T7157: Allow using route-maps for VRF route leaking in BGP (#4404)
* bgp: T7157: Allow using route-maps for VRF route leaking in BGP Added the possibility of using route-map in route leaking. * Improve the constraint error message --------- Co-authored-by: Daniil Baturin <daniil@baturin.org>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/protocols_bgp.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/conf_mode/protocols_bgp.py b/src/conf_mode/protocols_bgp.py
index c4af717af..53e83c3b4 100755
--- a/src/conf_mode/protocols_bgp.py
+++ b/src/conf_mode/protocols_bgp.py
@@ -523,12 +523,21 @@ def verify(config_dict):
raise ConfigError(
'Please unconfigure import vrf commands before using vpn commands in dependent VRFs!')
+ if (dict_search('route_map.vrf.import', afi_config) is not None
+ or dict_search('import.vrf', afi_config) is not None):
# FRR error: please unconfigure vpn to vrf commands before
# using import vrf commands
- if 'vpn' in afi_config['import'] or dict_search('export.vpn', afi_config) != None:
+ if ('vpn' in afi_config['import']
+ or dict_search('export.vpn', afi_config) is not None):
raise ConfigError('Please unconfigure VPN to VRF commands before '\
'using "import vrf" commands!')
+ if (dict_search('route_map.vpn.import', afi_config) is not None
+ or dict_search('route_map.vpn.export', afi_config) is not None) :
+ raise ConfigError('Please unconfigure route-map VPN to VRF commands before '\
+ 'using "import vrf" commands!')
+
+
# Verify that the export/import route-maps do exist
for export_import in ['export', 'import']:
tmp = dict_search(f'route_map.vpn.{export_import}', afi_config)