From: "lihuisong (C)" <lihuisong@huawei.com>
To: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
"orika@nvidia.com >> Ori Kam" <orika@nvidia.com>,
"dev@dpdk.org" <dev@dpdk.org>
Cc: Stephen Hemminger <stephen@networkplumber.org>,
Thomas Monjalon <thomas@monjalon.net>,
Ferruh Yigit <ferruh.yigit@xilinx.com>,
huangdaode <huangdaode@huawei.com>,
"fengchengwen@huawei.com" <fengchengwen@huawei.com>,
"liudongdong (C)" <liudongdong3@huawei.com>
Subject: Re: Question about pattern types for rte_flow RSS rule
Date: Mon, 1 Aug 2022 21:27:19 +0800 [thread overview]
Message-ID: <ab9a1aba-a4fc-7a7c-9614-0ef2b812d74f@huawei.com> (raw)
In-Reply-To: <63d3c19c-9806-4ad5-2b7a-d5ec2b30406d@oktetlabs.ru>
在 2022/8/1 19:53, Andrew Rybchenko 写道:
> On 8/1/22 06:39, lihuisong (C) wrote:
>>
>> 在 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).
>
> No, I still disagree. Pattern is about filtering. It defines on which
> packets flow rule actions are applied. RSS types choose packet header
> fields (if applicable) to calculate hash. I.e. RSS types are no about
> filtering.
>
>>
>> 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
>
> Yes, this one will redirect IPv4 TCP packets only.
>
>> <2> flow create 0 ingress pattern end actions rss types ipv4-tcp end
>> queues 1 2 end / end
>
> The rule will redirect all packets to queues 1 and 2. Some packets will
> always go to queue 1, e.g. ARP packets.
>
In this case, only nonfrag ipv4 TCP packet flow calculate RSS hash and may
distribute to queue 1 and 2 in hardware, and other packets will always go
to queue 1, right?
>> <3> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss
>> end queues 1 2 end / end
>
> This one will redirect IPv4 TCP and will use RSS hash function specified
> in dev_conf on device configuration or default RSS hash function chosen
> by corresponding driver.
>
>>
>> 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
>>>>>>
>>>>>> .
>>>>> .
>>>
>>> .
>
> .
next prev parent reply other threads:[~2022-08-01 13:27 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-07 3:50 Question about pattern types for rte_flow RSS rule lihuisong (C)
2022-07-13 1:34 ` lihuisong (C)
2022-07-29 2:30 ` lihuisong (C)
2022-07-31 9:40 ` Andrew Rybchenko
2022-08-01 3:39 ` lihuisong (C)
2022-08-01 11:53 ` Andrew Rybchenko
2022-08-01 13:27 ` lihuisong (C) [this message]
2022-08-01 14:12 ` Andrew Rybchenko
2022-08-02 1:27 ` lihuisong (C)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ab9a1aba-a4fc-7a7c-9614-0ef2b812d74f@huawei.com \
--to=lihuisong@huawei.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=dev@dpdk.org \
--cc=fengchengwen@huawei.com \
--cc=ferruh.yigit@xilinx.com \
--cc=huangdaode@huawei.com \
--cc=liudongdong3@huawei.com \
--cc=orika@nvidia.com \
--cc=stephen@networkplumber.org \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).