diff options
| -rw-r--r-- | data/templates/frr/bgpd.frr.tmpl | 1 | ||||
| -rwxr-xr-x | src/conf_mode/protocols_bgp.py | 4 | 
2 files changed, 3 insertions, 2 deletions
| diff --git a/data/templates/frr/bgpd.frr.tmpl b/data/templates/frr/bgpd.frr.tmpl index 57b9ba8d6..5edd3f97d 100644 --- a/data/templates/frr/bgpd.frr.tmpl +++ b/data/templates/frr/bgpd.frr.tmpl @@ -404,6 +404,7 @@ router bgp {{ local_as }} {{ 'vrf ' ~ vrf if vrf is defined and vrf is not none  {%     endif %}  {%     if parameters.bestpath.as_path is defined and parameters.bestpath.as_path is not none %}  {%       for option in parameters.bestpath.as_path %} +{# replace is required for multipath-relax option #}   bgp bestpath as-path {{ option|replace('_', '-') }}  {%       endfor %}  {%     endif %} diff --git a/src/conf_mode/protocols_bgp.py b/src/conf_mode/protocols_bgp.py index a51fe6d72..74253c2d7 100755 --- a/src/conf_mode/protocols_bgp.py +++ b/src/conf_mode/protocols_bgp.py @@ -47,7 +47,8 @@ def get_config(config=None):      # eqivalent of the C foo ? 'a' : 'b' statement      base = vrf and ['vrf', 'name', vrf, 'protocols', 'bgp'] or base_path -    bgp = conf.get_config_dict(base, key_mangling=('-', '_'), get_first_key=True) +    bgp = conf.get_config_dict(base, key_mangling=('-', '_'), +                               get_first_key=True, no_tag_node_value_mangle=True)      # Assign the name of our VRF context. This MUST be done before the return      # statement below, else on deletion we will delete the default instance @@ -225,7 +226,6 @@ def verify(bgp):              else:                  for key in ['external', 'internal', 'local']:                      if dict_search(f'address_family.{address_family_name}.distance.{key}', bgp) == None: -                        address_family_name = address_family_name.replace('_', '-')                          raise ConfigError('Missing mandatory configuration option for '\                                           f'{address_family_name} administrative distance {key}!') | 
