iavf: cannot create 2 rte_flows with E810 VF, but can with E810 PF
https://bugs.dpdk.org/show_bug.cgi?id=1205
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: [email protected]
Reporter: [email protected]
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 / endice_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 / endice_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 / endiavf_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 / endiavf_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 ruleiavf_flow_create(): Failed to create flowport_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.
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.