From: Ori Kam <orika@mellanox.com>
To: 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: Thu, 6 Aug 2020 16:55:05 +0000 [thread overview]
Message-ID: <AM6PR05MB5176507DCAB446CFCBD2C7EADB480@AM6PR05MB5176.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <5ce897aa-c789-8e3e-5ba9-f57971838c2a@solarflare.com>
Hi Andrew,
> -----Original Message-----
> From: Andrew Rybchenko <arybchenko@solarflare.com>
> On 8/5/20 5: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.
>
> Just don't name it "Conflicting RSS types", may be
> "Non-applicable RSS types", but it collapses two
> bullets into one.
Will rephrase.
>
> >
> >>> +
> >>> +- 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?
>
> Yes, if user ask for something what is not supported at all,
> it is a problem and user should be notified. May be it is
> too restrictive, but I'd prefer this way.
> User has all required information in dev_info and can
> remove unsupported hash types from request. IMHO, it
> should enforce user check the result to be not empty and
> handle it properly.
>
Will update the doc.
> >
> >
> >>> 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.
> >>>
> >
next prev parent reply other threads:[~2020-08-06 16:55 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 [this message]
2020-09-14 14:38 ` Ferruh Yigit
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=AM6PR05MB5176507DCAB446CFCBD2C7EADB480@AM6PR05MB5176.eurprd05.prod.outlook.com \
--to=orika@mellanox.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=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).