DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
To: Alexander Kozyrev <akozyrev@nvidia.com>,
	Ori Kam <orika@nvidia.com>, "Jerin Jacob" <jerinj@marvell.com>,
	"NBU-Contact-Thomas Monjalon (EXTERNAL)" <thomas@monjalon.net>,
	Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
	"Vipin.Varghese@amd.com" <Vipin.Varghese@amd.com>,
	Ajit Khaparde <ajit.khaparde@broadcom.com>,
	Ferruh Yigit <ferruh.yigit@xilinx.com>
Cc: Ray Kinsella <mdr@ashroe.eu>,
	Sunil Kumar Kori <skori@marvell.com>,
	"Ivan Malov" <ivan.malov@oktetlabs.ru>,
	"Awal, Mohammad Abdul" <mohammad.abdul.awal@intel.com>,
	"Zhang, Qi Z" <qi.z.zhang@intel.com>,
	"Richardson, Bruce" <bruce.richardson@intel.com>,
	Konstantin Ananyev <konstantin.ananyev@intel.com>,
	"Singh, Jasvinder" <jasvinder.singh@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: RE: [RFC] ethdev: datapath-focused meter actions, continue
Date: Thu, 19 May 2022 17:34:51 +0000	[thread overview]
Message-ID: <DM8PR11MB5670B008F0DE87A26F0D75DEEBD09@DM8PR11MB5670.namprd11.prod.outlook.com> (raw)
In-Reply-To: <DM8PR11MB56700A79B2A579AD7A743A3DEBCA9@DM8PR11MB5670.namprd11.prod.outlook.com>

Hi folks,

Here are a few takeaways of mine, with a few actions for Alex and Ori:

1. Problem with pre-definition of meter profiles and policies: In the case of the data plane adding flow rules to itself  (as opposed to the control plane adding flow rules to the data plane), the API requirement of pre-defining the profile and the policy results in a performance problem. This is because the driver needs to acquire the lock to the list of profiles/policies and to search for the profile/policy ID within the profile/policy list. Therefore, to avoid this issue, the API needs to allow passing the profile parameters (i.e. the full profile) and the policy parameters (i.e. the full policy) to the meter object creation/configuration.

2. Add the packet color to the list of possible match items: This would make the meter policy specification redundant, as the packet color that is set by a meter object could be used as match field into a subsequent table (group) to apply the actions that currently have to be specified as part of the meter policy. Therefore, in this case, passing the policy to the meter object creation/configuration is redundant, and therefore the API should accept passing a NULL policy as well as a valid policy.

3. The flow METER action needs to continue to imply the implicit action of setting the packet color (internal meta-data).

4. Translation of meter profile (i.e. srTCM/trTCM rates and bucket sizes) to the implementation-dependent low-level values: This is still required, as it is taking significant cycles, which is a problem when the data plane is adding flow rules to itself. What should be avoided is the registration of the output of the translation as a pre-defined profile ID.

5. Proposal to create/configure a meter object as part of an rte_flow action. Question to be addressed by Alexander Kozyrev and Ori Kam: How do we get an ID for the meter object for the purpose of (1) sharing the same meter object with other flows; (2) Freeing up the meter object after the flow is removed (in fact, after all the flows sharing the same meter object are removed).

6. Alexander Kozyrev to provide pseudo-code for the meter operation with the new proposal:
	(1) meter creation;
	(2) meter sharing;
	(3) meter reconfiguration: do we need to remove the flow/flows using the meter and re-add them with a new meter object that has updated configuration, or can we update the meter object itself (what API?);
	(4) meter free.

Regards,
Cristian

> -----Original Appointment-----
> From: Alexander Kozyrev <akozyrev@nvidia.com>
> Sent: Friday, May 13, 2022 10:37 PM
> To: Alexander Kozyrev; Ori Kam; Jerin Jacob; Dumitrescu, Cristian; NBU-
> Contact-Thomas Monjalon (EXTERNAL); Andrew Rybchenko;
> Vipin.Varghese@amd.com; Ajit Khaparde; Ferruh Yigit
> Cc: Ray Kinsella; Sunil Kumar Kori; Ivan Malov; Awal, Mohammad Abdul; Zhang,
> Qi Z; Richardson, Bruce; Konstantin Ananyev; Singh, Jasvinder; dev@dpdk.org
> Subject: [RFC] ethdev: datapath-focused meter actions, continue
> When: 19 May 2022 15:00-16:00 (UTC) Coordinated Universal Time.
> Where: https://meet.jit.si/DPDK
> 
> Agenda: continue discussion about proposed improvements to Flow API in
> regards to Meter handling (slides attached).

       reply	other threads:[~2022-05-19 17:34 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <DM8PR11MB56700A79B2A579AD7A743A3DEBCA9@DM8PR11MB5670.namprd11.prod.outlook.com>
2022-05-19 17:34 ` Dumitrescu, Cristian [this message]
2022-05-22  2:49   ` Alexander Kozyrev
2022-05-22  5:00     ` Ajit Khaparde
2022-05-22  8:03       ` Ori Kam
2022-05-16 18:15 Alexander Kozyrev
2022-05-18 16:51 ` Andrew Rybchenko
2022-05-19  2:17   ` Alexander Kozyrev
2022-05-19  6:44     ` Andrew Rybchenko
2022-05-19  8:41       ` Ori Kam
2022-05-19  9:42         ` Andrew Rybchenko
2022-05-19 13:55 ` Jerin Jacob
2022-05-19 14:34   ` Dumitrescu, Cristian

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=DM8PR11MB5670B008F0DE87A26F0D75DEEBD09@DM8PR11MB5670.namprd11.prod.outlook.com \
    --to=cristian.dumitrescu@intel.com \
    --cc=Vipin.Varghese@amd.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=akozyrev@nvidia.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@xilinx.com \
    --cc=ivan.malov@oktetlabs.ru \
    --cc=jasvinder.singh@intel.com \
    --cc=jerinj@marvell.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=mdr@ashroe.eu \
    --cc=mohammad.abdul.awal@intel.com \
    --cc=orika@nvidia.com \
    --cc=qi.z.zhang@intel.com \
    --cc=skori@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).