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

David Marchand david.marchand at redhat.com
Mon Jul 8 11:09:11 CEST 2019


Hello Wei,

On Sat, Jul 6, 2019 at 6:26 PM Thomas Monjalon <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