Hi Bruce,

On 30/01/2025 17:54, Bruce Richardson wrote:
On Thu, Jan 30, 2025 at 04:14:42PM +0000, Vladimir Medvedkin wrote:
Currently ICE PMD uses group attribute to select the appropriate HW engine
to offload the flow. This behavior violates the rte_flow API, existing
documentation/examples, and reveals hardware specific details.

This patch eliminates the use of the group attribute and runs each engine
parser in the order they work in the HW pipeline.

Fixes: 9c5f0070fa3f ("net/ice: map group to pipeline stage")
Cc: qi.z.zhang@intel.com
Cc: stable@dpdk.org

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Thanks, this seems a great idea, to automatically put the flow in place.

Question: is there ever a scenario where a user may need, or want, to
override the automatic choice made here? Or is it just the case that once
the flow is installed, it works the same whatever group it's added into?
I would assume the latter, but just want to confirm.

I don't think a user might have to worry about the internals of the NIC filters. These filters perform different lookups: ACL provides wildcard matching, when FDIR in an exact match, so it depends on what kind of mask is used for a particular field, for example:

I want to install _exact_match_ rule:

- I use FDIR engine: flow create 0 ingress group 2 pattern eth / ipv4 dst spec 192.168.0.1 dst mask 255.255.255.255 / end actions drop / end
and it works as expected.

- I use ACL engine: flow create 0 ingress group 2 pattern eth / ipv4 dst spec 192.168.0.1 dst mask 255.255.255.255 / end actions drop / end
and parser throws an error: Invalid IPv4 mask.: Invalid argument

I want to install _wildcard_match_ rule:

- I use FDIR engine: flow create 0 ingress group 2 pattern eth / ipv4 dst spec 192.168.0.1 dst mask 255.255.255.254 / end actions drop / end
doesn't work, Invalid action.: Invalid argument

- I use ACL engine:flow create 0 ingress group 1 pattern eth / ipv4 dst spec 192.168.0.1 dst mask 255.255.0.255 / end actions drop / end
and it works as expected

 

/Bruce
-- 
Regards,
Vladimir