On 3/11/26 5:32 PM, David Marchand wrote:
> By default, DPDK based dp-packets points to data buffers that can't be
> expanded dynamically.
> Their layout is as follows:
> - a minimum 128 bytes headroom chosen at DPDK build time
>   (RTE_PKTMBUF_HEADROOM),
> - a maximum size chosen at mempool creation,
> 
> In some usecases though (like encapsulating with multiple tunnels),
> a 128 bytes headroom is too short.
> 
> Keep on using mono segment packets but dynamically allocate buffers
> in DPDK memory and make use of DPDK external buffers API
> (previously used for userspace TSO).
> 
> Signed-off-by: David Marchand <[email protected]>
> ---
> Changes since v4:
> - fixed tailroom,
> - added a check on configured DPDK headroom,
> - added more description and renamed ifaces in the unit test,
> 
> Changes since v3:
> - split buffer length calculation in a helper,
> - handled running test without qdisc (net/tap does not require
>   those qdiscs, but spews ERR level logs if absent),
> - added check on firewall,
> 
> Changes since v2:
> - moved check on uint16_t overflow in netdev_dpdk_extbuf_allocate(),
> 
> Changes since v1:
> - fixed new segment length (reset by extbuf attach helper),
> - added a system-dpdk unit test,
> 
> ---
>  acinclude.m4         |   7 +++
>  lib/dp-packet.c      |  21 ++++++++-
>  lib/netdev-dpdk.c    |  47 +++++++++++++++++---
>  lib/netdev-dpdk.h    |   4 ++
>  tests/atlocal.in     |   1 +
>  tests/system-dpdk.at | 100 +++++++++++++++++++++++++++++++++++++++++++
>  6 files changed, 174 insertions(+), 6 deletions(-)
> 

LGTM

Acked-by: Kevin Traynor <[email protected]>

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to