DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Ori Kam <orika@mellanox.com>,
	Andrew Rybchenko <arybchenko@solarflare.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	"david.marchand@redhat.com" <david.marchand@redhat.com>,
	John McNamara <john.mcnamara@intel.com>,
	Marko Kovacevic <marko.kovacevic@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v2] doc: update RSS action with best effort
Date: Mon, 14 Sep 2020 15:38:11 +0100
Message-ID: <c6a09f22-7071-5fde-c904-f6db87721d99@intel.com> (raw)
In-Reply-To: <AM6PR05MB51768F2EBA2929FF8E4F5E67DB4B0@AM6PR05MB5176.eurprd05.prod.outlook.com>

On 8/5/2020 3:08 PM, Ori Kam wrote:
> Hi Andrew,
> 
>> -----Original Message-----
>> From: Andrew Rybchenko <arybchenko@solarflare.com>
>>
>> On 8/4/20 11:13 AM, Ori Kam wrote:
>>> Using the rte_flow action RSS types field,
>>> may result in undefined outcome.
>>>
>>> For example selecting both UDP and TCP,
>>> selecting TCP RSS type but the pattern is targeting UDP traffic.
>>> another option is that the PMD doesn't support all requested types.
>>>
>>> Until now, it wasn't clear what will happen in such cases.
>>> This commit clarify this issue by stating that the PMD
>>> will work in the best-effort mode.
>>>
>>> Signed-off-by: Ori Kam <orika@mellanox.com>
>>> ---
>>> v2:
>>>  * Based on ML, update that using only unsupported hash type
>>>    may cause the flow to be rejected by PMD.
>>> ---
>>>  doc/guides/prog_guide/rte_flow.rst | 11 +++++++++++
>>>  1 file changed, 11 insertions(+)
>>>
>>> diff --git a/doc/guides/prog_guide/rte_flow.rst
>> b/doc/guides/prog_guide/rte_flow.rst
>>> index 3e5cd1e..d730b66 100644
>>> --- a/doc/guides/prog_guide/rte_flow.rst
>>> +++ b/doc/guides/prog_guide/rte_flow.rst
>>> @@ -1735,6 +1735,17 @@ unspecified "best-effort" settings from the
>> underlying PMD, which depending
>>>  on the flow rule, may result in anything ranging from empty (single queue)
>>>  to all-inclusive RSS.
>>>
>>> +Best effort will be used, in case there is a conflict inside the rule.
>>> +The conflict can be the result of:
>>> +
>>> +- Conflicting RSS types, for example setting both UDP and TCP.
>>
>> Thinking more about it, I see no conflict at all. It is common
>> to specify both TCP and UDP in hash function if user wants to
>> take TCP ports for TCP packets and UDP ports for UDP into
>> account.
>>
> I fully agree with you that it is common to use both UDP and TCP and
> expect it to work based on the traffic. this is the point of this patch.
> To clarify that this is valid input and the PMD will work in best effort mode.
> 

I think confusion occurs when the the RSS hash function set part of flow
rule rss action.
Than providing a UDP flow and setting UDP & TCP RSS hash types looks
confusing/wrong.

Does mlx support selecting hash function per flow?
Can it be possible to set RSS functions separately from any specific flow?

>
>>> +
>>> +- Conflicting between RSS types and the requested pattern to match,
>>> +  for example matching on UDP and hashing RSS on TCP.
>>
>> I'd not name it a conflict either. It is just common rule when
>> applicable fields are used only.
>>
> Just like my comment from above.
> 
>>> +
>>> +If requested RSS hash type is not supported,
>>> +and no supported hash type is requested then the PMD may reject the flow.
>>> +
>>
>> I disagree with such description. If requested RSS hash type is
>> not supported (not present in dev_info.flow_type_rss_offloads),
>> it must be rejected and error returned.
>> If requested RSS hash type is not supported for a packet
>> matching the rule, but supported in general (present in
>> dev_info.flow_type_rss_offloads), part of RSS hash type
>> specification may be ignored and only applicable bits are used.
>> If result is empty, PMD may reject the flow rule.
>>
> The flow should be rejected even if it is used with some type that is supported?
> 
> 
>>>  Note: RSS hash result is stored in the ``hash.rss`` mbuf field which
>>>  overlaps ``hash.fdir.lo``. Since `Action: MARK`_ sets the ``hash.fdir.hi``
>>>  field only, both can be requested simultaneously.
>>>
> 


  parent reply	other threads:[~2020-09-14 14:38 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-03 14:28 [dpdk-dev] [PATCH] " Ori Kam
2020-08-03 14:33 ` Andrew Rybchenko
2020-08-03 15:22   ` Ori Kam
2020-08-03 15:33     ` Andrew Rybchenko
2020-08-03 15:47       ` Ori Kam
2020-08-03 16:03         ` Andrew Rybchenko
2020-08-03 16:53           ` Ori Kam
2020-08-03 15:40     ` David Marchand
2020-08-03 15:49       ` Ori Kam
2020-08-03 15:55         ` Andrew Rybchenko
2020-08-03 16:12           ` Thomas Monjalon
2020-09-14 14:29           ` Ferruh Yigit
2020-08-04  8:13 ` [dpdk-dev] [PATCH v2] " Ori Kam
2020-08-05 12:39   ` Ori Kam
2020-08-05 13:39   ` Andrew Rybchenko
2020-08-05 14:08     ` Ori Kam
2020-08-06 12:14       ` Andrew Rybchenko
2020-08-06 16:55         ` Ori Kam
2020-09-14 14:38       ` Ferruh Yigit [this message]
2020-08-07  5:02 ` [dpdk-dev] [PATCH v3] " Ori Kam
2020-08-07  9:41   ` Andrew Rybchenko
2020-08-10  7:40     ` Ori Kam
2020-08-10  9:53       ` Andrew Rybchenko
2020-08-10 15:08 ` [dpdk-dev] [PATCH v4] " Ori Kam
2020-09-14 14:43   ` Ferruh Yigit

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=c6a09f22-7071-5fde-c904-f6db87721d99@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=arybchenko@solarflare.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=john.mcnamara@intel.com \
    --cc=marko.kovacevic@intel.com \
    --cc=orika@mellanox.com \
    --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

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git