summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/templates/frr/bgp.frr.tmpl6
-rw-r--r--interface-definitions/protocols-bgp.xml.in6
-rwxr-xr-xsmoketest/scripts/cli/test_protocols_bgp.py4
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):