diff options
| author | Christian Breunig <christian@breunig.cc> | 2026-06-29 18:57:49 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-06-29 18:57:49 +0200 |
| commit | 0b13a48a08559a48a7a5389de6abc874e2182c5f (patch) | |
| tree | 3b2b5d48751b2c5602ca7a383e9175bd00441977 | |
| parent | 0aafa5b25527e5c5d8064ec05c0ed33cc2724fd6 (diff) | |
| parent | 130f2ce23c639eb1f5ca799799a4eb95923da23a (diff) | |
| download | vyos-1x-0b13a48a08559a48a7a5389de6abc874e2182c5f.tar.gz vyos-1x-0b13a48a08559a48a7a5389de6abc874e2182c5f.zip | |
Merge pull request #5295 from c-po/bgp-limit
bgp: T6573: add input/output queue limit CLI commands
| -rw-r--r-- | data/templates/frr/bgpd.frr.j2 | 9 | ||||
| -rw-r--r-- | interface-definitions/include/bgp/afi-route-server-client.xml.i | 2 | ||||
| -rw-r--r-- | interface-definitions/protocols_bgp.xml.in | 30 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_protocols_bgp.py | 11 |
4 files changed, 50 insertions, 2 deletions
diff --git a/data/templates/frr/bgpd.frr.j2 b/data/templates/frr/bgpd.frr.j2 index 3035262a6..fea806c23 100644 --- a/data/templates/frr/bgpd.frr.j2 +++ b/data/templates/frr/bgpd.frr.j2 @@ -1,3 +1,10 @@ +! +{% if parameters.input_queue_limit is vyos_defined %} + bgp input-queue-limit {{ parameters.input_queue_limit }} +{% endif %} +{% if parameters.output_queue_limit is vyos_defined %} + bgp output-queue-limit {{ parameters.output_queue_limit }} +{% endif %} {### MACRO definition for recurring peer patter, this can be either fed by a ###} {### peer-group or an individual BGP neighbor ###} {% macro bgp_neighbor(neighbor, config, peer_group=false) %} @@ -650,7 +657,7 @@ router bgp {{ system_as }} {{ 'vrf ' ~ vrf if vrf is vyos_defined }} {{ 'as-nota bgp network import-check {% endif %} {% if parameters.route_reflector_allow_outbound_policy is vyos_defined %} -bgp route-reflector allow-outbound-policy + bgp route-reflector allow-outbound-policy {% endif %} {% if parameters.no_client_to_client_reflection is vyos_defined %} no bgp client-to-client reflection diff --git a/interface-definitions/include/bgp/afi-route-server-client.xml.i b/interface-definitions/include/bgp/afi-route-server-client.xml.i index 9bb628ee2..5c10e9a51 100644 --- a/interface-definitions/include/bgp/afi-route-server-client.xml.i +++ b/interface-definitions/include/bgp/afi-route-server-client.xml.i @@ -5,4 +5,4 @@ <valueless/> </properties> </leafNode> -<!-- include end -->
\ No newline at end of file +<!-- include end --> diff --git a/interface-definitions/protocols_bgp.xml.in b/interface-definitions/protocols_bgp.xml.in index e1a822999..261055e92 100644 --- a/interface-definitions/protocols_bgp.xml.in +++ b/interface-definitions/protocols_bgp.xml.in @@ -9,6 +9,36 @@ </properties> <children> #include <include/bgp/protocol-common-config.xml.i> + <node name="parameters"> + <children> + <leafNode name="input-queue-limit"> + <properties> + <help>Input queue limit for all peers when messaging parsing</help> + <valueHelp> + <format>u32:1-4294967295</format> + <description>Queue limit, increase only if you have the memory to handle large queues</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-4294967295"/> + </constraint> + </properties> + <defaultValue>10000</defaultValue> + </leafNode> + <leafNode name="output-queue-limit"> + <properties> + <help>Output queue limit for all peers when messaging parsing</help> + <valueHelp> + <format>u32:1-4294967295</format> + <description>Queue limit, increase only if you have the memory to handle large queues</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-4294967295"/> + </constraint> + </properties> + <defaultValue>10000</defaultValue> + </leafNode> + </children> + </node> </children> </node> </children> diff --git a/smoketest/scripts/cli/test_protocols_bgp.py b/smoketest/scripts/cli/test_protocols_bgp.py index ab0fa216f..cf6dd2ab8 100755 --- a/smoketest/scripts/cli/test_protocols_bgp.py +++ b/smoketest/scripts/cli/test_protocols_bgp.py @@ -1942,6 +1942,17 @@ class TestProtocolsBGP(VyOSUnitTestSHIM.TestCase): f' neighbor {interface} interface peer-group {peer_group}', frrconfig ) + def test_bgp_35_queue_limit(self): + input_queue = '20000' + output_queue = '30000' + self.cli_set(base_path + ['parameters', 'input-queue-limit', input_queue]) + self.cli_set(base_path + ['parameters', 'output-queue-limit', output_queue]) + self.cli_commit() + + frrconfig = self.getFRRconfig('bgp', end_marker='') + self.assertIn(f'bgp input-queue-limit {input_queue}', frrconfig) + self.assertIn(f'bgp output-queue-limit {output_queue}', frrconfig) + def test_bgp_99_bmp(self): target_name = 'instance-bmp' target_address = '127.0.0.1' |
