diff options
author | aapostoliuk <108394744+aapostoliuk@users.noreply.github.com> | 2025-03-18 17:26:06 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-18 15:26:06 +0000 |
commit | 3f595e5d47a78cb38c891567aa5d66ac6d5dc62b (patch) | |
tree | 39c382f4ad9ec8e6f7f28c2e2426d518a19645b7 /src | |
parent | 0af5728700b0b5da30e7713a4596aeadaf537b49 (diff) | |
download | vyos-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-x | src/conf_mode/protocols_bgp.py | 11 |
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) |