Hello,

I’m trying to do a reception using DPDK windows using a connectX6DX. I need to redirect some network traffic into a specific queue.

I have set the DevxEnabled to true and the DevxFsRules to 0xffffff

When I try to setup the flow using the testpmd launched with those commands:

./dpdk-testpmd -l 2-3 -n 4 -a 5e:00.0 --log-level=8 --log-level=pmd.common.mlx5:8 --log-level=pmd.net.mlx5:8  -- --socket-num=0 --burst=64 --txd=4096 --rxd=1024 --mbcache=512 --rxq=1 --txq=0 --nb-cores=1 --txpkts=1500 -i --forward-mode=rxonly  --flow-isolate-all

testpmd> flow create 0 ingress pattern eth / ipv4 / end actions queue index 0 / end

mlx5_net: port 0 group=0 transfer=0 external=1 fdb_def_rule=0 translate=STANDARD

mlx5_net: port 0 group=0 table=0

mlx5_common: mlx5 list NIC_ingress_0_0_matcher_list was created.

mlx5_common: mlx5 list Mellanox ConnectX-6 Dx Adapter_ entry 00000196D5E84990 new: 1.

mlx5_net: table_level 0 table_id 0 tunnel 0 group 0 registered.

mlx5_common: mlx5 list NIC_ingress_0_0_matcher_list entry 00000196EE1E8E40 new: 1.

mlx5_common: mlx5 list hrxq entry 00000196EE1E6300 new: 1.

Flow rule #0 created


I see the flow is created correctly.

but when trying to filter on the destination ip I get an error:

testpmd> flow create 0 ingress pattern eth / ipv4 dst is 10.10.1.185 / end actions queue index 0 / end

mlx5_net: port 0 group=0 transfer=0 external=1 fdb_def_rule=0 translate=STANDARD

mlx5_net: port 0 group=0 table=0

mlx5_common: mlx5 list Mellanox ConnectX-6 Dx Adapter_ entry 00000196D5E849E8 ref: 2.

mlx5_net: table_level 0 table_id 0 tunnel 0 group 0 registered.000196D5E84990 new: 1.

mlx5_common: mlx5 list NIC_ingress_0_0_matcher_list entry 00000196EE1E5E80 new: 1.

mlx5_common: mlx5 list hrxq entry 00000196EE1E6380 ref: 2.00000196EE1E8E40 new: 1.

mlx5_common: mlx5 list NIC_ingress_0_0_matcher_list entry 00000196EE1E5E80 removed.

port_flow_complain(): Caught PMD error type 1 (cause unspecified): hardware refuses to create flow: Invalid argument

I also tried to filter on the source Ethernet MAC and I get the same error but on the destination MAC it works ?
testpmd> flow create 0 ingress pattern eth dst is 10:10:10:10:10:10 / ipv4 / end actions queue index 0 / end

mlx5_net: port 0 group=0 transfer=0 external=1 fdb_def_rule=0 translate=STANDARD

mlx5_net: port 0 group=0 table=0

mlx5_common: mlx5 list Mellanox ConnectX-6 Dx Adapter_ entry 00000196D5E849E8 ref: 2.

mlx5_net: table_level 0 table_id 0 tunnel 0 group 0 registered.

mlx5_common: mlx5 list NIC_ingress_0_0_matcher_list entry 00000196EE1E5E80 new: 1.

mlx5_common: mlx5 list hrxq entry 00000196EE1E6380 ref: 2.

Flow rule #1 created

testpmd> flow create 0 ingress pattern eth src is 10:10:10:10:10:10 / ipv4 / end actions queue index 0 / end

mlx5_net: port 0 group=0 transfer=0 external=1 fdb_def_rule=0 translate=STANDARD

mlx5_net: port 0 group=0 table=0

mlx5_common: mlx5 list Mellanox ConnectX-6 Dx Adapter_ entry 00000196D5E849E8 ref: 2.

mlx5_net: table_level 0 table_id 0 tunnel 0 group 0 registered.

mlx5_common: mlx5 list NIC_ingress_0_0_matcher_list entry 00000196EE1E5E80 new: 1.

mlx5_common: mlx5 list hrxq entry 00000196EE1E6380 ref: 2.

mlx5_common: mlx5 list NIC_ingress_0_0_matcher_list entry 00000196EE1E5E80 removed.

port_flow_complain(): Caught PMD error type 1 (cause unspecified): hardware refuses to create flow: Invalid argument


Is that a limitation of the windows version or am I doing something wrong ?


regards,

Antoine Pollenus