[dpdk-stable] [PATCH v2] app/testpmd: fix to add offloads confguration for queue

Zhao1, Wei wei.zhao1 at intel.com
Mon Jul 8 11:16:17 CEST 2019


Hi,  Marchand

  That is my list for this issue.
Yes, I have also fix tx related code, but this test case is for rx offloads.



Environment
·         DPDK version:
19.05.0-rc4
·         NIC hardware: i40e, ixgbe
Test Setup

export RTE_TARGET=x86_64-native-linuxapp-gcc
export RTE_SDK=`pwd`
make -j 62 install T=x86_64-native-linuxapp-gcc
modprobe uio
rmmod -f igb_uio
insmod ./x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
usertools/dpdk-devbind.py --force --bind=igb_uio 0000:03:00.0 0000:03:00.1
On DUT:
./x86_64-native-linuxapp-gcc/app/testpmd -c 0x6 -n 4  -- -i --portmask=0x1 --port-topology=loop --disable-crc-strip
port stop all
port config all crc-strip on
port start all


The output is:
Configuring Port 0 (socket 0)
Ethdev port_id=0 rx_queue_id=0, new added offloads 0x10000 must be within per-queue offload capabilities 0x1 in rte_eth_rx_queue_setup()
Fail to configure port 0 rx queues



The first bad commit id:
5e91aeef218c452c370aacf74265c7a42b67dffa


From: David Marchand [mailto:david.marchand at redhat.com]
Sent: Monday, July 8, 2019 5:09 PM
To: Zhao1, Wei <wei.zhao1 at intel.com>
Cc: dev <dev at dpdk.org>; dpdk stable <stable at dpdk.org>; Iremonger, Bernard <bernard.iremonger at intel.com>; Yigit, Ferruh <ferruh.yigit at intel.com>; Andrew Rybchenko <arybchenko at solarflare.com>; Jerin Jacob Kollanukkaran <jerinj at marvell.com>; Ananyev, Konstantin <konstantin.ananyev at intel.com>; Olivier Matz <olivier.matz at 6wind.com>; Adrien Mazarguil <adrien.mazarguil at 6wind.com>; Thomas Monjalon <thomas at monjalon.net>
Subject: Re: [dpdk-stable] [PATCH v2] app/testpmd: fix to add offloads confguration for queue

Hello Wei,

On Sat, Jul 6, 2019 at 6:26 PM Thomas Monjalon <thomas at monjalon.net<mailto:thomas at monjalon.net>> wrote:
06/07/2019 18:24, Thomas Monjalon:
> 04/07/2019 07:35, Wei Zhao:
> > When adding offloads from commandline, not only port
> > related configuration bits should be set, but also queue
> > related offloads configuration bits, or it will cause error.
> > For example, test in this process for ixgbe:
> > (1)./x86_64-native-linuxapp-gcc/app/testpmd -c 0x6 -n 4
> > -- -i --portmask=0x1 --port-topology=loop --disable-crc-strip
> > (2)port stop all
> > (3)port config all crc-strip on
> > (4)port start all
> > we will see "Fail to configure port 0 rx queues" of warning info.
>
> I'm really surprised it was so much broken.
> I did not check the code. Someone else did?

Adding more Cc for double check.

Did not check the code yet, but the Fixes: line is about RX offloads, and you touched both rx and tx offloads.
The incriminated commit comes from 18.02.

I can't reproduce your issue with ixgbe ports.

In 18.11, testpmd starts fine and accepts the configuration change.
In master (before this change), I can see a different issue which has to do with global offloads vs per queue offloads:

# ./master/app/testpmd -w 0000:03:00.0 -w 0000:03:00.1 -- -i --disable-crc-strip
EAL: Detected 28 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: PCI device 0000:03:00.0 on NUMA socket 0
EAL:   probe driver: 8086:154d net_ixgbe
EAL:   using IOMMU type 1 (Type 1)
EAL: Ignore mapping IO port bar(2)
EAL: PCI device 0000:03:00.1 on NUMA socket 0
EAL:   probe driver: 8086:154d net_ixgbe
EAL: Ignore mapping IO port bar(2)
Interactive-mode selected
testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=155456, size=2176, socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
Configuring Port 0 (socket 0)
Port 0: B4:96:91:1B:67:10
Configuring Port 1 (socket 0)
Port 1: B4:96:91:1B:67:12
Checking link statuses...
Done
testpmd> port stop all
Stopping ports...
Checking link statuses...
Done
testpmd> port config all crc-strip on
testpmd> port start all
Configuring Port 0 (socket 0)
Ethdev port_id=0 rx_queue_id=0, new added offloads 0x10000 must be within per-queue offload capabilities 0x1 in rte_eth_rx_queue_setup()
Fail to configure port 0 rx queues

Can you describe your setup, like which driver is used, and the full traces of testpmd ?

Thanks.


--
David Marchand


More information about the stable mailing list