summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorNataliia Solomko <natalirs1985@gmail.com>2026-08-04 17:40:11 +0300
committerNataliia Solomko <natalirs1985@gmail.com>2026-08-31 13:45:52 +0300
commitaa1eb26e371e14dad0df002bb8ba784e7c7f6f82 (patch)
treecc19b600492eec95c3676fe813af9e9aa888b5d7 /data
parent2c269ef450f88690d03970fcafb1dbaa8b3b7f54 (diff)
downloadvyos-1x-aa1eb26e371e14dad0df002bb8ba784e7c7f6f82.tar.gz
vyos-1x-aa1eb26e371e14dad0df002bb8ba784e7c7f6f82.zip
vpp: T9146: Enable DPDK no-multi-seg when a full frame fits the buffer
Disabling DPDK multi-segment buffers (no-multi-seg) lets VPP receive each frame into a single buffer, increasing forwarding throughput. The frame must then fit the buffer 'data-size', so 'no-multi-seg' is computed: it is enabled only while the largest MTU across all VPP-bound interfaces, plus its L2 framing overhead (26 bytes), fits 'data-size'. Otherwise VPP keeps multi-seg and Jumbo frames still work without a larger buffer. Changing the MTU of a VPP-bound interface can flip the flag, so interfaces_ethernet reconfigures VPP when it changes, via an initial dependency (set_dependents_initial) to avoid a cycle with the existing vpp -> ethernet dependency.
Diffstat (limited to 'data')
-rw-r--r--data/templates/vpp/startup.conf.j23
1 files changed, 3 insertions, 0 deletions
diff --git a/data/templates/vpp/startup.conf.j2 b/data/templates/vpp/startup.conf.j2
index 82d3753ae..e8f755c9c 100644
--- a/data/templates/vpp/startup.conf.j2
+++ b/data/templates/vpp/startup.conf.j2
@@ -178,6 +178,9 @@ dpdk {
{% endif %}
{% endfor %}
uio-bind-force
+{% if no_multi_seg is vyos_defined %}
+ no-multi-seg
+{% endif %}
}
{% if ipsec_acceleration is vyos_defined %}