dev.dpdk.org archive mirror
 help / color / mirror / Atom feed
From: Ori Kam <orika@mellanox.com>
To: Andrew Rybchenko <arybchenko@solarflare.com>,
	Thomas Monjalon <thomas@monjalon.net>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"pbhagavatula@marvell.com" <pbhagavatula@marvell.com>,
	"ferruh.yigit@intel.com" <ferruh.yigit@intel.com>,
	"jerinj@marvell.com" <jerinj@marvell.com>,
	John McNamara <john.mcnamara@intel.com>,
	Marko Kovacevic <marko.kovacevic@intel.com>,
	Adrien Mazarguil <adrien.mazarguil@6wind.com>,
	"david.marchand@redhat.com" <david.marchand@redhat.com>,
	"ktraynor@redhat.com" <ktraynor@redhat.com>
Subject: Re: [dpdk-dev] [PATCH 1/2] ethdev: add flow action type update as an offload
Date: Wed, 6 Nov 2019 07:42:03 +0000	[thread overview]
Message-ID: <AM4PR05MB3425E59DFD91A282EDE46031DB790@AM4PR05MB3425.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <398f8345-5a8c-738e-6534-57e9ace6aebe@solarflare.com>



> -----Original Message-----
> From: Andrew Rybchenko <arybchenko@solarflare.com>
> Sent: Wednesday, November 6, 2019 8:41 AM
> To: Ori Kam <orika@mellanox.com>; Thomas Monjalon
> <thomas@monjalon.net>
> Cc: dev@dpdk.org; pbhagavatula@marvell.com; ferruh.yigit@intel.com;
> jerinj@marvell.com; John McNamara <john.mcnamara@intel.com>; Marko
> Kovacevic <marko.kovacevic@intel.com>; Adrien Mazarguil
> <adrien.mazarguil@6wind.com>; david.marchand@redhat.com;
> ktraynor@redhat.com
> Subject: Re: [dpdk-dev] [PATCH 1/2] ethdev: add flow action type update as an
> offload
> 
> On 11/5/19 7:37 PM, Ori Kam wrote:
> >
> >
> >> -----Original Message-----
> >> From: Andrew Rybchenko <arybchenko@solarflare.com>
> >> Sent: Tuesday, November 5, 2019 1:31 PM
> >> To: Ori Kam <orika@mellanox.com>; Thomas Monjalon
> >> <thomas@monjalon.net>
> >> Cc: dev@dpdk.org; pbhagavatula@marvell.com; ferruh.yigit@intel.com;
> >> jerinj@marvell.com; John McNamara <john.mcnamara@intel.com>; Marko
> >> Kovacevic <marko.kovacevic@intel.com>; Adrien Mazarguil
> >> <adrien.mazarguil@6wind.com>; david.marchand@redhat.com;
> >> ktraynor@redhat.com
> >> Subject: Re: [dpdk-dev] [PATCH 1/2] ethdev: add flow action type update as
> an
> >> offload
> >>
> >
> > [Snip]
> >
> >>>
> >>> Yes but like I said in Mellanox PMD for example we supported the mark
> only
> >> on non-transfer flows until this release.
> >>> so when the user set mark on transfer flow it was invalid. (in transfer flow
> if
> >> we have a miss we send the packet back to the Rx
> >>> port so the application can understand on which table the miss happened)
> >>> In this version we added the support for mark also in transfer (E-Switch)
> >> flows.
> >>> So my question before this release what should the PMD report? What
> should
> >> the PMD report after this release?
> >>>
> >>> Your idea was our first thought when adding the Tx meta, in that case the
> >> meta was always set in application
> >>> so we thought that this offload will enable us better function selection, but
> as
> >> you know we removed this capability
> >>> since it is not correct any more.
> >>>
> >>>
> >>>
> >>>> The above also highlights problems of the meta vs mark design. They are
> >> very
> >>>> similar and there is no any good definition of the difference and rules
> >>>> which
> >>>> one should be used/supported in which conditions.
> >>>>
> >>>
> >>> Mark and Meta are exactly the same, the meta is just another value that
> the
> >> application can use.
> >>> This is why both should act the same.
> >>>
> >>> And maybe this is the wining argument, the rte_flow validation approach
> was
> >> used and accepted for the meta.
> >>> So lets try it also with the mark. (please also remember that we didn't have
> >> this mark until now to somehow the
> >>> PMD worked 😊)
> >>>
> >>> Like I said before, I understand your approach, and each one of them has
> its
> >> own advantages and draw backs.
> >>> Lets start using the rte_flow approach and see how it goes, I promise you
> that
> >> if I see that it doesn't scale or cause more
> >>> issues I will be first one to submit changes.
> >>
> >> I tend to say OK, let's try. However, it must be documented
> >> in MARK action that if an application wants to use it, a rule
> >> with the action must be validated before device start.
> >
> > I agree to add this to the rte_flow mark action documation.
> >
> >> PMD may use the attempt as an indication from the application
> >> that it would like to use flow mark even if the validation
> >> fails.
> >
> > No if the PMD uses this validation as hint it should return success and
> > use the correct PMD.
> 
> It would make it too strictly dependent on pattern/actions/state.

I'm not sure I understand your comment.
Why would it make it to strict? I guess that mark action is doesn't care which items are in 
the flow, so just setting eth item sound good enough.
Also I guess the mark doesn't conflict with many actions maybe the meta.
So the application doesn't have a lot of choices.
In any case and this is the most important one. In any case the application must validate that the 
Nic support the mark in any case, according to RTE_FLOW definition. What is the meaning
of saying we support offload (using your segguetion) and then each flow you try to insert
will fail. So in any case the application must validate the flows it is going to use.

> 
> >> Ori, please, suggest formalized pattern and actions
> >> specification to use if application wants to utilize
> >> validation result as a criteria to enable/disable flow
> >> marks usage.
> >
> > I can’t do that, it depends on the application, the most basic is just "pattern
> eth actions mark / queue" .
> > In some cases where you need it for E-Switch if should be something like
> "transfer  items port / eth / actions mark"
> 
> If so, what application author should do if even maintainers cannot
> formalize it. It sounds like the approach does not work.

This should be very easy for the application to know. How can I a mantianer know 
what flows and what is important to the application, I need to make sure that the application
can understand if what it wants is supported.

> 
> >> What should be done if patterns to use and set
> >> of actions together with MARK are not known in advance.
> >
> > I think that the application knows which kind of traffic it expects and which
> actions it needs.
> 
> I'm afraid it is not always true.
> 

Can you please give me such example, how can you develop an application without knowing what it should do?
This means the application is not optimized and impossible to test.

> >> Andrew.
> >
> > Ori
> >

Ori

  reply	other threads:[~2019-11-06  7:42 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-25 15:21 [dpdk-dev] [PATCH 1/2] ethdev: add flow action type update as an offload pbhagavatula
2019-10-25 15:21 ` [dpdk-dev] [PATCH 2/2] drivers/net: update Rx flow flag and mark capabilities pbhagavatula
2019-10-28 10:50 ` [dpdk-dev] [PATCH 1/2] ethdev: add flow action type update as an offload Ori Kam
2019-10-28 11:53   ` Andrew Rybchenko
2019-10-28 14:00     ` Ori Kam
2019-10-31  9:49       ` Andrew Rybchenko
2019-10-31 14:49         ` Thomas Monjalon
2019-10-31 23:59           ` Zhang, Qi Z
2019-11-01 11:35           ` Andrew Rybchenko
2019-11-03 10:22             ` Ori Kam
2019-11-03 11:41               ` Andrew Rybchenko
2019-11-04 18:37                 ` Ori Kam
2019-11-05  6:50                   ` Andrew Rybchenko
2019-11-05  8:35                     ` Ori Kam
2019-11-05 11:30                       ` Andrew Rybchenko
2019-11-05 16:37                         ` Ori Kam
2019-11-06  6:40                           ` Andrew Rybchenko
2019-11-06  7:42                             ` Ori Kam [this message]
2019-11-08  8:35                               ` Andrew Rybchenko
2019-11-08  9:00                                 ` Tom Barbette
2019-11-08 10:28                                 ` Thomas Monjalon
2019-11-08 10:42                                   ` Andrew Rybchenko
2019-11-08 11:03                                     ` Thomas Monjalon
2019-11-08 11:40                                       ` Zhang, Qi Z
2019-11-08 12:12                                         ` Ori Kam
2019-11-08 12:20                                           ` Andrew Rybchenko
2019-11-08 12:42                                             ` Ori Kam
2019-11-08 13:16                                               ` Zhang, Qi Z
2019-11-08 13:26                                                 ` Thomas Monjalon
2019-11-08 13:06                                         ` Thomas Monjalon
2019-11-08 12:00                                       ` Andrew Rybchenko
2019-11-08 13:17                                         ` Thomas Monjalon
2019-11-08 13:27                                           ` Andrew Rybchenko
2019-11-08 13:30                                             ` Thomas Monjalon
2019-11-19  9:24                                               ` Andrew Rybchenko
2019-11-19  9:50                                                 ` Thomas Monjalon
2019-11-19 10:59                                                   ` Andrew Rybchenko
2019-11-19 11:09                                                     ` Thomas Monjalon
2020-07-03 14:34                                                       ` Ferruh Yigit
2021-02-17 13:45                                                         ` Ferruh Yigit
2021-02-17 14:10                                                           ` Thomas Monjalon
2021-04-20  1:05                                                             ` 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=AM4PR05MB3425E59DFD91A282EDE46031DB790@AM4PR05MB3425.eurprd05.prod.outlook.com \
    --to=orika@mellanox.com \
    --cc=adrien.mazarguil@6wind.com \
    --cc=arybchenko@solarflare.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=jerinj@marvell.com \
    --cc=john.mcnamara@intel.com \
    --cc=ktraynor@redhat.com \
    --cc=marko.kovacevic@intel.com \
    --cc=pbhagavatula@marvell.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).