diff options
| author | Christian Breunig <christian@breunig.cc> | 2025-11-25 16:22:57 +0100 |
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2025-11-25 16:22:57 +0100 |
| commit | cc4d2167cf756d37cc60c3e415b2ac30f622b85b (patch) | |
| tree | d201e0688ea898eccd7f8ae774ec05b278317b44 /src/conf_mode/protocols_bgp.py | |
| parent | fdda826b48688e253c30d3578ca5edd45b034ab0 (diff) | |
| download | vyos-1x-cc4d2167cf756d37cc60c3e415b2ac30f622b85b.tar.gz vyos-1x-cc4d2167cf756d37cc60c3e415b2ac30f622b85b.zip | |
frr: T8034: use dict_search() for routing protocols to check if VRF is used
dict_search() is save when passing in keys that do not exist in the dict
we are working on.
Diffstat (limited to 'src/conf_mode/protocols_bgp.py')
| -rwxr-xr-x | src/conf_mode/protocols_bgp.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/conf_mode/protocols_bgp.py b/src/conf_mode/protocols_bgp.py index fe5740a18..a7b9ea39b 100755 --- a/src/conf_mode/protocols_bgp.py +++ b/src/conf_mode/protocols_bgp.py @@ -184,7 +184,8 @@ def verify(config_dict): vrf = config_dict['vrf_context'] # eqivalent of the C foo ? 'a' : 'b' statement - bgp = vrf and config_dict['vrf']['name'][vrf]['protocols']['bgp'] or config_dict['bgp'] + bgp = vrf and dict_search(f'vrf.name.{vrf}.protocols.bgp', + config_dict) or config_dict['bgp'] bgp['policy'] = config_dict['policy'] if 'deleted' in bgp: @@ -331,7 +332,7 @@ def verify(config_dict): peer_group = peer_config['interface']['v6only']['peer_group'] if 'remote_as' in peer_config['interface']['v6only'] and 'remote_as' in bgp['peer_group'][peer_group]: raise ConfigError(f'Peer-group member "{peer}" cannot override remote-as of peer-group "{peer_group}"!') - + for afi in ['ipv4_unicast', 'ipv4_multicast', 'ipv4_labeled_unicast', 'ipv4_flowspec', 'ipv6_unicast', 'ipv6_multicast', 'ipv6_labeled_unicast', 'ipv6_flowspec', 'l2vpn_evpn']: |
