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.march...@redhat.com] Sent: Monday, July 8, 2019 5:09 PM To: Zhao1, Wei <wei.zh...@intel.com> Cc: dev <dev@dpdk.org>; dpdk stable <sta...@dpdk.org>; Iremonger, Bernard <bernard.iremon...@intel.com>; Yigit, Ferruh <ferruh.yi...@intel.com>; Andrew Rybchenko <arybche...@solarflare.com>; Jerin Jacob Kollanukkaran <jer...@marvell.com>; Ananyev, Konstantin <konstantin.anan...@intel.com>; Olivier Matz <olivier.m...@6wind.com>; Adrien Mazarguil <adrien.mazarg...@6wind.com>; Thomas Monjalon <tho...@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 <tho...@monjalon.net<mailto:tho...@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