Bug ID 1205
Summary iavf: cannot create 2 rte_flows with E810 VF, but can with E810 PF
Product DPDK
Version 23.03
Hardware All
OS All
Status UNCONFIRMED
Severity normal
Priority Normal
Component ethdev
Assignee dev@dpdk.org
Reporter maxime.leroy@6wind.com
Target Milestone ---

Environnement
-------------

distribution for host/vm: Ubuntu 22.04.2 LTS, kernel 5.15.0-67-generic
kernel driver: 1.10.1.2.2
firmware-version: 4.10 0x80015191 1.3310.0
COMMS DDP: 1.3.37
ICE OS Default Package version 1.3.30.0
testpmd cmdline: ./build/app/dpdk-testpmd --log-level=.*ice.*,debug
--legacy-mem -c 7 -a 17:00.0 -a 0000:17:00.1  --  -i --nb-cores=2 --nb-ports=2
--total-num-mbufs=2048
dpdk version: 23.03.0-rc4
NIC: Intel Corporation Ethernet Controller E810-C for QSFP 

With PF (ice pmd)
-----------------

Working case, no sriov, no VM. 

ICE PMD is able to create the following flows:

./build/app/dpdk-testpmd --log-level=.*ice.*,debug --legacy-mem -c 7 -a 17:00.0
-a 0000:17:00.1  --  -i --nb-cores=2 --nb-ports=2 --total-num-mbufs=2048
testpmd> flow create 0 ingress pattern eth / ipv4 proto is 1  / end actions
queue index 0 / end
ice_flow_create(): Succeeded to create (2) flow
Flow rule #0 created
testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 22 / end 
actions queue index 0 / end
ice_flow_create(): Succeeded to create (2) flow
Flow rule #1 created


With VF (iavf pmd)
------------------

No working case sriov with a VM on the same device/hardware.

sriov devices:
 On PF : echo 1 > "/sys/bus/pci/devices/0000:17:00.0/sriov_numvfs" -> for VF
17.01.0
 On PF : echo 1 > "/sys/bus/pci/devices/0000:17:00.1/sriov_numvfs" -> for VF
17.11.0

QEMU ARGS: -device vfio-pci,host=0000:17:01.0,addr=04 -device
vfio-pci,host=0000:17:11.0,addr=05 


./build/app/dpdk-testpmd --log-level=.*iavf.*,debug -c 0x6   -a 0000:00:04.0 -a
0000:00:05.0   --  -i  --total-num-mbufs=2048
testpmd> flow create 0 ingress pattern eth / ipv4 proto is 1  / end actions
queue index 0 / end
iavf_handle_virtchnl_msg(): adminq response is received, opcode = 47
iavf_fdir_add(): Succeed in adding rule request by PF
iavf_flow_create(): Succeeded to create (2) flow
Flow rule #0 created
testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 22 / end 
actions queue index 0 / end
iavf_handle_virtchnl_msg(): adminq response is received, opcode = 47
iavf_fdir_add(): Failed to add rule request due to the rule is conflict with
existing rule
iavf_flow_create(): Failed to create flow
port_flow_complain(): Caught PMD error type 2 (flow rule (handle)): Failed to
create parser engine.: Invalid argument

Conclusion
----------
IAVF is not able to create the second flow. Because the kernel driver
1.10.1.2.2 rejects the creation of second flow. There are no such issue with
ICE pmd of dpdk 23.03.0-rc4.
          


You are receiving this mail because: