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
