All of lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [DPDK/testpmd Bug 1956] [dpdk-26.07-rc1] ice_buffer_split: testpmd start failed when set multiple mbuf-size
Date: Tue, 16 Jun 2026 01:33:24 +0000	[thread overview]
Message-ID: <bug-1956-3@http.bugs.dpdk.org/> (raw)

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.

                 reply	other threads:[~2026-06-16  1:33 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-1956-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.org \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.