From aa1eb26e371e14dad0df002bb8ba784e7c7f6f82 Mon Sep 17 00:00:00 2001 From: Nataliia Solomko Date: Tue, 4 Aug 2026 17:40:11 +0300 Subject: 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. --- data/templates/vpp/startup.conf.j2 | 3 +++ 1 file changed, 3 insertions(+) (limited to 'data') 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 %} -- cgit v1.2.3