diff options
| -rw-r--r-- | data/templates/frr/bgp.frr.tmpl | 6 | ||||
| -rw-r--r-- | interface-definitions/protocols-bgp.xml.in | 6 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_protocols_bgp.py | 4 | 
3 files changed, 13 insertions, 3 deletions
| diff --git a/data/templates/frr/bgp.frr.tmpl b/data/templates/frr/bgp.frr.tmpl index 30741aa27..43e405222 100644 --- a/data/templates/frr/bgp.frr.tmpl +++ b/data/templates/frr/bgp.frr.tmpl @@ -186,9 +186,11 @@  {% endmacro %}  !  router bgp {{ asn }} -{# Disable eBGP policy by default until there is a CLI option #} -{# Workaround for T3183 until we have decided about a migration script #} +{% if parameters is defined and parameters.ebgp_requires_policy is defined %} + bgp ebgp-requires-policy +{% else %}   no bgp ebgp-requires-policy +{% endif %}  {# Workaround for T2100 until we have decided about a migration script #}   no bgp network import-check  {% if address_family is defined and address_family is not none %} diff --git a/interface-definitions/protocols-bgp.xml.in b/interface-definitions/protocols-bgp.xml.in index 69f4c2d52..46b913830 100644 --- a/interface-definitions/protocols-bgp.xml.in +++ b/interface-definitions/protocols-bgp.xml.in @@ -813,6 +813,12 @@                    </tagNode>                  </children>                </node> +              <leafNode name="ebgp-requires-policy"> +                <properties> +                  <help>Enable RFC8212 functionality</help> +                  <valueless/> +                </properties> +              </leafNode>                <node name="graceful-restart">                  <properties>                    <help>Graceful restart capability parameters</help> diff --git a/smoketest/scripts/cli/test_protocols_bgp.py b/smoketest/scripts/cli/test_protocols_bgp.py index b6a6a493c..607dfc116 100755 --- a/smoketest/scripts/cli/test_protocols_bgp.py +++ b/smoketest/scripts/cli/test_protocols_bgp.py @@ -221,12 +221,13 @@ class TestProtocolsBGP(unittest.TestCase):          self.session.set(base_path + ['parameters', 'router-id', router_id])          self.session.set(base_path + ['parameters', 'log-neighbor-changes']) -        # Default local preference (higher=more preferred) +        # Default local preference (higher = more preferred, default value is 100)          self.session.set(base_path + ['parameters', 'default', 'local-pref', local_pref])          # Deactivate IPv4 unicast for a peer by default          self.session.set(base_path + ['parameters', 'default', 'no-ipv4-unicast'])          self.session.set(base_path + ['parameters', 'graceful-restart', 'stalepath-time', stalepath_time])          self.session.set(base_path + ['parameters', 'graceful-shutdown']) +        self.session.set(base_path + ['parameters', 'ebgp-requires-policy'])          # commit changes          self.session.commit() @@ -240,6 +241,7 @@ class TestProtocolsBGP(unittest.TestCase):          self.assertIn(f' no bgp default ipv4-unicast', frrconfig)          self.assertIn(f' bgp graceful-restart stalepath-time {stalepath_time}', frrconfig)          self.assertIn(f' bgp graceful-shutdown', frrconfig) +        self.assertIn(f' bgp ebgp-requires-policy', frrconfig)      def test_bgp_02_neighbors(self): | 
