* [DPDK/testpmd Bug 1956] [dpdk-26.07-rc1] ice_buffer_split: testpmd start failed when set multiple mbuf-size
@ 2026-06-16 1:33 bugzilla
0 siblings, 0 replies; only message in thread
From: bugzilla @ 2026-06-16 1:33 UTC (permalink / raw)
To: dev
http://bugs.dpdk.org/show_bug.cgi?id=1956
Bug ID: 1956
Summary: [dpdk-26.07-rc1] ice_buffer_split: testpmd start
failed when set multiple mbuf-size
Product: DPDK
Version: 26.07
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: testpmd
Assignee: dev@dpdk.org
Reporter: songx.jiale@intel.com
Target Milestone: ---
Environment
===========
dpdk-25.11.0-rc1: 39b54f2dcf44ad1f91eabc7080cd5dea763607fd
OS: openEuler24.03/6.6.0-145.0.4.135.oe2403sp3.x86_64
Compiler: gcc version 12.3.1 (openEuler 12.3.1-105.oe2403sp3) (GCC)
NIC hardware: CVL,Intel Corporation Ethernet Controller E810-C for SFP
[8086:1593] (rev 02)
NIC firmware:
driver: vfio-pci
kdriver: ice-2.6.4
fw: 5.00 0x80021c11 1.4002.0
ddp: ice os default 1.3.59.0
Test Setup
Steps to reproduce
==================
1. Compile DPDK
rm -rf x86_64-native-linuxapp-gcc
CC=gcc meson -Dlibdir=lib -Dc_args='-DRTE_ETHDEV_DEBUG_RX=1'
--default-library=static x86_64-native-linuxapp-gcc
ninja -C x86_64-native-linuxapp-gcc -j 72
2. bind port to vfio-pci
./usertools/dpdk-devbind.py -b vfio-pci 0000:18:00.0 0000:18:00.1
3. start testpmd
./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 -a 0000:18:00.0 -a
0000:18:00.1 --force-max-simd-bitwidth=64 -- -i --mbuf-size=2048,2048
Results:
========
Configuring Port 0 (socket 0)
ETHDEV: No Rx segmentation offload configured
Fail to configure port 0 rx queues
Start ports failed
Expected Result:
================
testpmd started successfully and the buff split is working fine
bad commit:
===========
commit 0be0ad196b52ab4fab88a51de35a2a4c83b21362
Author: Gregory Etelson <getelson@nvidia.com>
Date: Sat Jun 6 01:33:43 2026 +0200
app/testpmd: support selective Rx
Add support for selective Rx using existing rxpkts and mbuf-size
command line parameters.
When a segment is specified with rxpkts and a matching 0 mbuf-size
on PMDs supporting selective Rx,
testpmd set the mempool of the segment to NULL,
meaning the segment won't be received.
Example usage to receive only Ethernet header and 64 bytes at offset 128:
--rxpkts=14,114,64,0 --mbuf-size=256,0,256,0
This creates segments:
- [0-13]: 14 bytes with mempool (received)
- [14-127]: 114 bytes with NULL mempool (discarded)
- [128-191]: 64 bytes with mempool (received)
- [192-max]: remaining bytes with NULL mempool (discarded)
If the first segment has no mempool,
there will be no mempool created with the index 0.
That's why the lookup of the first mempool is now achieved
in the new function mbuf_pool_find_first(socket)
instead of mbuf_pool_find(socket, index 0)
Note: RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT is required for this feature
and is checked at ethdev API level.
This check is removed from testpmd to allow negative testing of the API.
Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
app/test-pmd/cmdline.c | 2 +-
app/test-pmd/parameters.c | 5 ++-
app/test-pmd/testpmd.c | 48 +++++++++++++++++------------
app/test-pmd/testpmd.h | 16 ++++++++++
doc/guides/testpmd_app_ug/run_app.rst | 16 ++++++++++
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 3 +-
6 files changed, 66 insertions, 24 deletions
--
You are receiving this mail because:
You are the assignee for the bug.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-16 1:33 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-16 1:33 [DPDK/testpmd Bug 1956] [dpdk-26.07-rc1] ice_buffer_split: testpmd start failed when set multiple mbuf-size bugzilla
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.