Question about pattern types for rte_flow RSS rule

lihuisong (C) lihuisong at huawei.com
Mon Aug 1 05:39:02 CEST 2022


在 2022/7/31 17:40, Andrew Rybchenko 写道:
> Hi, Huisong!
>
> On 7/29/22 05:30, lihuisong (C) wrote:
>> Hi Ori, and all,
>>
>> For RSS flow rule, pattern item types and RSS types in action
>> are an inclusive relationship, and RSS types contain pattern item
>> types. 
>
> I disagree with the statement. We can redirect various packets,
> but apply RSS on subset only. Everything else goes to the first
> queue (first entry in the redirection table in fact).
Sorry, the statement above is inaccurate.
I mean, pattern item type and RSS types in action are the same for
creating specified types RSS rule, and this configuration is duplicate
in this case(in <1> command, I think). Use one of them can specify
which packet type flow performs action(like <1> or <2> command).

Create a RSS rule that redirect ipv4-tcp flow to queues 1 and 2:
<1> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss 
types ipv4-tcp end queues 1 2 end / end
<2> flow create 0 ingress pattern end actions rss types ipv4-tcp end 
queues 1 2 end / end
<3> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss end 
queues 1 2 end / end

What do you think about it, @Andrew and @Ori?
>
>> Is it necessary to set pattern item types when specify RSS
>> types to create a rule? 
>
> No, it is not strictly required. It depends on what you want.
>
>> How should the user set and how should the
>> driver do?
>
> Pattern and action are not strictly related in the case of RSS.
> Pattern defines on which packets the rule is applied.
> Action defines what the rule does. If hash function is not
> applicable to a packet, e.g. ARP packet and ipv4-tcp hash function,
> the hash is 0 and goes via redirection table entry 0.
I know this rule. Ori has already explained the usage of RSS rule in 
rte_flow API,
but I still have a confusion momentioned above.
>
> Andrew.
>
>>
>> Looking forward to your reply.
>>
>> Regards,
>> Huisong
>>
>> 在 2022/7/13 9:34, lihuisong (C) 写道:
>>> Hi all,
>>>
>>> Can someone open my confusion?
>>> I'm looking forward to your reply.
>>>
>>> Thanks,
>>> Huisong.
>>>
>>> 在 2022/7/7 11:50, lihuisong (C) 写道:
>>>> Hi all,
>>>>
>>>> From following testpmd command:
>>>> 'flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss 
>>>> types ipv4-tcp l3-src-only end queues end / end'
>>>> and
>>>> "flow create 0 ingress pattern end actions rss types ipv4-tcp 
>>>> l3-src-only end queues end / end"
>>>>
>>>> I have some confusions about rte_flow RSS rule:
>>>> 1> Do pattern item types need to set when configure rte_flow RSS rule?
>>>> 2> Does the driver need to check and process the pattern? (After 
>>>> all, the RSS types in actions alreadly contain all RSS offload types.)
>>>>
>>>> Have someone explains it?
>>>>
>>>> Regards,
>>>> Huisong
>>>>
>>>> .
>>> .
>
> .


More information about the dev mailing list