[PATCH v2] net/ice: fix how ice driver handles flows

Medvedkin, Vladimir vladimir.medvedkin at intel.com
Thu Jan 30 21:18:35 CET 2025


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 at intel.com
>> Cc:stable at dpdk.org
>>
>> Signed-off-by: Vladimir Medvedkin<vladimir.medvedkin at 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. Thesefiltersperformdifferent 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/dev/attachments/20250130/f82af4ca/attachment-0001.htm>


More information about the dev mailing list