Uploaded image for project: 'Fast Datapath Product'
  1. Fast Datapath Product
  2. FDP-456

vdpa test: testpmd start failed with the vhost-vdpa port on dpdk-23.11-1.el9

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • dpdk
    • None
    • False
    • Hide

      None

      Show
      None
    • 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.

              mcoqueli@redhat.com Maxime Coquelin
              tli@redhat.com Ting Li
              Ting Li Ting Li
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: