-
Bug
-
Resolution: Done
-
Undefined
-
None
-
None
-
None
-
False
-
-
False
-
rhel-9
-
None
-
rhel-net-ovs-dpdk
-
-
-
ssg_networking
-
OVS/DPDK - FDP 24.H
-
1
Description of problem:
Version-Release number of selected component (if applicable):
5.14.0-427.el9.x86_64
dpdk-23.11-1.el9
ConnectX-6 Lx card
How reproducible:
echo 0 > /sys/devices/pci0000:5d/0000:5d:02.0/0000:5f:00.0/sriov_numvfs
echo 0 > /sys/devices/pci0000:5d/0000:5d:02.0/0000:5f:00.1/sriov_numvfs
devlink dev eswitch set pci/0000:5f:00.0 mode legacy
devlink dev eswitch set pci/0000:5f:00.1 mode legacy
modprobe -r mlx5_vdpa
modprobe -r virtio_vdpa
modprobe -r vhost_vdpa
modprobe -r vdpa
modprobe vdpa
modprobe vhost_vdpa
modprobe mlx5_vdpa
echo 1 > /sys/devices/pci0000:5d/0000:5d:02.0/0000:5f:00.0/sriov_numvfs
echo 1 > /sys/devices/pci0000:5d/0000:5d:02.0/0000:5f:00.1/sriov_numvfs
echo 0000:5f:00.2 >/sys/bus/pci/drivers/mlx5_core/unbind
echo 0000:5f:01.2 >/sys/bus/pci/drivers/mlx5_core/unbind
devlink dev eswitch set pci/0000:5f:00.0 mode switchdev
devlink dev eswitch set pci/0000:5f:00.1 mode switchdev
echo 0000:5f:00.2 >/sys/bus/pci/drivers/mlx5_core/bind
echo 0000:5f:01.2 >/sys/bus/pci/drivers/mlx5_core/bind
##single queue
vdpa dev add name vdpa0 mgmtdev pci/0000:07:00.2 mac 52:54:00:11:8f:ea
vdpa dev add name vdpa1 mgmtdev pci/0000:07:01.2 mac 52:54:00:11:8f:eb
ip li set ens2f0npf0vf0 up
ip li set ens2f1npf1vf0 up
ethtool -K ens2f0npf0vf0 hw-tc-offload on
ethtool -K ens2f1npf1vf0 hw-tc-offload on
ovs-vsctl set Open_vSwitch . other_config:hw-offload=true
ovs-vsctl add-br ens2f0np0_br
ovs-vsctl add-port ens2f0np0_br ens2f0np0
ovs-vsctl add-port ens2f0np0_br ens2f0npf0vf0
ovs-vsctl add-br ens2f1np1_br
ovs-vsctl add-port ens2f1np1_br ens2f1np1
ovs-vsctl add-port ens2f1np1_br ens2f1npf1vf0
ip link set ens2f0np0_br up
ip link set ens2f1np1_br up
ulimit -l unlimited
dpdk-testpmd --socket-mem=8192,0 -l 2,4,6 -d /usr/lib64/dpdk-pmds/librte_net_virtio.so.24 --vdev 'virtio_user0,path=/dev/vhost-vdpa-0' --vdev 'virtio_user1,path=/dev/vhost-vdpa-1' -b 0000:5f:00.2 -b 0000:5f:01.2 -b 0000:5f:00.0 -b 0000:5f:00.1 – --disable-rss -i --rxq=1 --txq=1 --rxd=512 --txd=512 --nb-cores=2 --burst=64 --auto-start
#send traffic with T-rex sender
[root@dell-per740-03 trafficgen]# python ./binary-search.py --trex-host=dell-per730-56.rhts.eng.pek2.redhat.com --traffic-generator=trex-txrx --frame-size=64 --traffic-direction=bidirectional --search-runtime=60 --search-granularity=0.1 --validation-runtime=60 --negative-packet-loss=pass --max-loss-pct=0.2 --rate-unit=% --rate=100 --use-device-stats --use-dst-mac-flows=0 --one-shot=0 --dst-macs=52:54:00:11:8f:ea,52:54:00:11:8f:eb
Actual results:
The testpmd start failed, and it cannot receive any packet.
[root@dell-per740-03 ~]# dpdk-testpmd --socket-mem=8192,0 -l 2,4,6 -d /usr/lib64/dpdk-pmds/librte_net_virtio.so.24 --vdev 'virtio_user0,path=/dev/vhost-vdpa-0' --vdev 'virtio_user1,path=/dev/vhost-vdpa-1' -b 0000:5f:00.2 -b 0000:5f:01.2 -b 0000:5f:00.0 -b 0000:5f:00.1 – --disable-rss -i --rxq=1 --txq=1 --rxd=512 --txd=512 --nb-cores=2 --burst=64 --auto-start
EAL: Detected CPU lcores: 48
EAL: Detected NUMA nodes: 2
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:af:00.0 (socket 1)
EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:af:00.1 (socket 1)
virtio_user_kick_queue(): (/dev/vhost-vdpa-0) Shadow control queue expected but missing
virtio_user_kick_queue(): (/dev/vhost-vdpa-0) Failed to kick queue 2
virtio_user_queue_setup(): (/dev/vhost-vdpa-0) setup VQ 2 failed
virtio_user_start_device(): (/dev/vhost-vdpa-0) Failed to start device
virtio_user_kick_queue(): (/dev/vhost-vdpa-1) Shadow control queue expected but missing
virtio_user_kick_queue(): (/dev/vhost-vdpa-1) Failed to kick queue 2
virtio_user_queue_setup(): (/dev/vhost-vdpa-1) setup VQ 2 failed
virtio_user_start_device(): (/dev/vhost-vdpa-1) Failed to start device
TELEMETRY: No legacy callbacks, legacy socket not created
Interactive-mode selected
Auto-start selected
testpmd: Flow tunnel offload support might be limited or unavailable on port 0
testpmd: Flow tunnel offload support might be limited or unavailable on port 1
Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.
testpmd: create a new mbuf pool <mb_pool_0>: n=163456, size=2176, socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
testpmd: create a new mbuf pool <mb_pool_1>: n=163456, size=2176, socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
Configuring Port 0 (socket 1)
Port 0: EC:0D:9A:A0:1E:24
Configuring Port 1 (socket 1)
Port 1: EC:0D:9A:A0:1E:25
Configuring Port 2 (socket 0)
EAL: Registering with invalid input parameter
Port 2: 52:54:00:11:8F:EA
Configuring Port 3 (socket 0)
EAL: Registering with invalid input parameter
Port 3: 52:54:00:11:8F:EB
Checking link statuses...
Done
Error during enabling promiscuous mode for port 2: Operation not supported - ignore
Error during enabling promiscuous mode for port 3: Operation not supported - ignore
Start automatic packet forwarding
io packet forwarding - ports=4 - cores=2 - streams=4 - NUMA support enabled, MP allocation mode: native
Logical Core 4 (socket 0) forwards packets on 2 streams:
RX P=0/Q=0 (socket 1) -> TX P=1/Q=0 (socket 1) peer=02:00:00:00:00:01
RX P=1/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 6 (socket 0) forwards packets on 2 streams:
RX P=2/Q=0 (socket 0) -> TX P=3/Q=0 (socket 0) peer=02:00:00:00:00:03
RX P=3/Q=0 (socket 0) -> TX P=2/Q=0 (socket 0) peer=02:00:00:00:00:02
io packet forwarding packets/burst=64
nb forwarding cores=2 - nb forwarding ports=4
port 0: RX queue number: 1 Tx queue number: 1
Rx offloads=0x0 Tx offloads=0x10000
RX queue: 0
RX desc=512 - RX free threshold=64
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x0
TX queue: 0
TX desc=512 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x10000 - TX RS bit threshold=0
port 1: RX queue number: 1 Tx queue number: 1
Rx offloads=0x0 Tx offloads=0x10000
RX queue: 0
RX desc=512 - RX free threshold=64
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x0
TX queue: 0
TX desc=512 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x10000 - TX RS bit threshold=0
port 2: RX queue number: 1 Tx queue number: 1
Rx offloads=0x0 Tx offloads=0x0
RX queue: 0
RX desc=512 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x0
TX queue: 0
TX desc=512 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
port 3: RX queue number: 1 Tx queue number: 1
Rx offloads=0x0 Tx offloads=0x0
RX queue: 0
RX desc=512 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x0
TX queue: 0
TX desc=512 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
testpmd> stop
Telling cores to stop...
Waiting for lcores to finish...
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 0 TX-dropped: 0 TX-total: 0
----------------------------------------------------------------------------
---------------------- Forward statistics for port 1 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 0 TX-dropped: 0 TX-total: 0
----------------------------------------------------------------------------
---------------------- Forward statistics for port 2 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 0 TX-dropped: 0 TX-total: 0
----------------------------------------------------------------------------
---------------------- Forward statistics for port 3 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 0 TX-dropped: 0 TX-total: 0
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 0 TX-dropped: 0 TX-total: 0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
testpmd> quit
Stopping port 0...
Stopping ports...
Done
Stopping port 1...
Stopping ports...
Done
Stopping port 2...
Stopping ports...
EAL: Unregistering with invalid input parameter
Done
Stopping port 3...
Stopping ports...
EAL: Unregistering with invalid input parameter
Done
Shutting down port 0...
Closing ports...
Port 0 is closed
Done
Shutting down port 1...
Closing ports...
Port 1 is closed
Done
Shutting down port 2...
Closing ports...
Port 2 is closed
Done
Shutting down port 3...
Closing ports...
Port 3 is closed
Done
Bye...
Expected results:
The testpmd start successfully, it can receive packet.
It can work well for dpdk-22.11-4.el9.