DPDK patches and discussions
 help / color / mirror / Atom feed
From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
To: "lihuisong (C)" <lihuisong@huawei.com>,
	"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 14:53:16 +0300	[thread overview]
Message-ID: <63d3c19c-9806-4ad5-2b7a-d5ec2b30406d@oktetlabs.ru> (raw)
In-Reply-To: <55f8cb7c-22c6-bbf1-b3a2-59cc02bfdb91@huawei.com>

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.

> <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
>>>>>
>>>>> .
>>>> .
>>
>> .


  reply	other threads:[~2022-08-01 11:53 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-07  3:50 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 [this message]
2022-08-01 13:27           ` lihuisong (C)
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=63d3c19c-9806-4ad5-2b7a-d5ec2b30406d@oktetlabs.ru \
    --to=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=ferruh.yigit@xilinx.com \
    --cc=huangdaode@huawei.com \
    --cc=lihuisong@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).