summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyrylo Yatsenko <hedrok@gmail.com>2025-12-27 20:23:57 +0200
committerKyrylo Yatsenko <hedrok@gmail.com>2025-12-30 10:36:00 +0200
commit39e301c701c4d636df33546dcf879948e9869c81 (patch)
tree2ce62d084d976045c7ba46bde4041c8e94ca81cc
parent017bd072b6ab2b897495f7312e27a9b95dd194b4 (diff)
downloadvyos-1x-39e301c701c4d636df33546dcf879948e9869c81.tar.gz
vyos-1x-39e301c701c4d636df33546dcf879948e9869c81.zip
bgp: T7664: add 'no bgp reject-as-sets'
In FRR 10.5 'bgp reject-as-sets' became default (https://frrouting.org/release/10.5.0/): > BGP rejects AS_SET by default > Until 10.5.0, it was disabled by default, and since RFC 9774 was > published, we switched this on by default (to reject). Add 'no bgp reject-as-sets' when VyOS option reject_as_sets is not set.
-rw-r--r--data/templates/frr/bgpd.frr.j22
-rwxr-xr-xsmoketest/scripts/cli/test_protocols_bgp.py10
2 files changed, 11 insertions, 1 deletions
diff --git a/data/templates/frr/bgpd.frr.j2 b/data/templates/frr/bgpd.frr.j2
index e5a75090f..58a7fee8a 100644
--- a/data/templates/frr/bgpd.frr.j2
+++ b/data/templates/frr/bgpd.frr.j2
@@ -646,6 +646,8 @@ bgp route-reflector allow-outbound-policy
{% endif %}
{% if parameters.reject_as_sets is vyos_defined %}
bgp reject-as-sets
+{% else %}
+ no bgp reject-as-sets
{% endif %}
{% if parameters.router_id is vyos_defined and parameters.router_id is not none %}
bgp router-id {{ parameters.router_id }}
diff --git a/smoketest/scripts/cli/test_protocols_bgp.py b/smoketest/scripts/cli/test_protocols_bgp.py
index 23c2bf592..9bed10615 100755
--- a/smoketest/scripts/cli/test_protocols_bgp.py
+++ b/smoketest/scripts/cli/test_protocols_bgp.py
@@ -398,7 +398,9 @@ class TestProtocolsBGP(VyOSUnitTestSHIM.TestCase):
self.assertIn(f' bgp bestpath compare-routerid', frrconfig)
self.assertIn(f' bgp bestpath peer-type multipath-relax', frrconfig)
self.assertIn(f' bgp minimum-holdtime {min_hold_time}', frrconfig)
- self.assertIn(f' bgp reject-as-sets', frrconfig)
+ self.assertNotIn(
+ f'bgp reject-as-sets', frrconfig
+ ) # default was changed in FRR 10.5 to 'reject-as-sets'
self.assertIn(f' bgp route-reflector allow-outbound-policy', frrconfig)
self.assertIn(f' no bgp ipv6-auto-ra', frrconfig)
self.assertIn(f' bgp shutdown', frrconfig)
@@ -425,6 +427,12 @@ class TestProtocolsBGP(VyOSUnitTestSHIM.TestCase):
self.assertIn(f' maximum-paths {max_path_v6}', afiv6_config)
self.assertIn(f' maximum-paths ibgp {max_path_v6ibgp}', afiv6_config)
+ # Verify reject-as-sets
+ self.cli_delete(base_path + ['parameters', 'reject-as-sets'])
+ self.cli_commit()
+ frrconfig = self.getFRRconfig(f'router bgp {ASN}', stop_section='^exit')
+ self.assertIn(f'no bgp reject-as-sets', frrconfig)
+
def test_bgp_02_neighbors(self):
# Test out individual neighbor configuration items, not all of them are
# also available to a peer-group!