From: "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
To: "dev@dpdk.org" <dev@dpdk.org>,
Thomas Monjalon <thomas@monjalon.net>,
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
Ray Kinsella <mdr@ashroe.eu>
Cc: Jerin Jacob <jerinjacobk@gmail.com>,
Jerin Jacob <jerinj@marvell.com>,
"skori@marvell.com" <skori@marvell.com>,
Ori Kam <orika@nvidia.com>
Subject: RE: [PATCH v3 1/1] ethdev: mtr: support input color selection
Date: Mon, 11 Apr 2022 14:45:36 +0000 [thread overview]
Message-ID: <DM8PR11MB5670ECDB54D90A374384ED29EBEA9@DM8PR11MB5670.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CALBAE1M73fk=z1GXx6mDk7L7W8BPtH7snGW-35fVW=hghoUhng@mail.gmail.com>
Hi folks,
Thanks to the community colleagues that participated to the call earlier today. Apologies for not CC-ing all the 9 attendants, as I don't have the email address for all of them.
We had a good meeting, I think we agreed on a good solution that will also simplify the API proposal.
Recap on the problem statement:
1. How do we decide on the input color for the current packet in a deterministic (implementation independent) way?
2. Multiple choices possible for a given packet: The same packet might contain multiple headers that can provide the input color. Examples: VLAN (the PCP and DEI fields), IP (DSCP field), others. Some headers of same type may show up in the same packet (e.g. outer/inner header).
3. Some of the possible choices might not be available for a given packet: Different packets may contain different headers.
Proposed solution:
1. Configure which protocols to enable. Example: we might want to consider Outer VLAN and Outer IP, but disable Inner VLAN and inner IP.
2. Configure on the priority of each of the enabled protocols (0 = highest priority). Example: If the current packet has an Outer VLAN header, but not an Outer IP header, then we get the input color from the Outer VLAN header; same, if there is an Outer IP header, but no Outer VLAN header, we get the priority from the Outer IP header. But what if the packet has both an Outer VLAN and an Outer IP header? In this case we need to consider the priority and pick the input color from the highest priority header.
3. Configure the default input color. What happens if the packet does not have an Outer VLAN header, nor an Outer IP header? Then the default input color is picked.
API guideline:
enum rte_mtr_color_in_protocol {
RTE_MTR_COLOR_IN_OUTER_VLAN,
RTE_MTR_COLOR_IN_INNER_VLAN,
RTE_MTR_COLOR_IN_OUTER_IP,
RTE_MTR_COLOR_IN_INNER_IP,
//more to add as needed. Per Ori's comment, we can add a reunion of the two protocols as well when needed, e.g. RTE_MTR_COLOR_IN_OUTER_VLAN_OUTER_IP that has a (4+6)-bit index (PCI, DEI, DSCP).
}
int
rte_mtr_color_in_protocol_priority_set(enum rte_mtr_color_in_protocol proto, uint32_t priority); //0 is highest priority
Regards,
Cristian
next prev parent reply other threads:[~2022-04-11 14:45 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-20 8:24 [dpdk-dev] [RFC PATCH] ethdev: mtr: enhance input color table features jerinj
2021-08-30 9:23 ` Jerin Jacob
2021-09-27 16:20 ` Ferruh Yigit
2021-10-11 15:14 ` Dumitrescu, Cristian
2021-11-17 12:00 ` Jerin Jacob
2021-12-07 9:55 ` Jerin Jacob
2021-12-07 18:00 ` Dumitrescu, Cristian
2022-01-10 9:35 ` Jerin Jacob
2022-02-14 11:56 ` [dpdk-dev] [v22.07] [PATCH] ethdev: mtr: support input color selection jerinj
2022-02-14 12:02 ` [dpdk-dev] [v22.07] [PATCH v2] " jerinj
2022-03-01 8:58 ` [PATCH v3 1/1] " skori
2022-03-01 10:49 ` [EXT] " Sunil Kumar Kori
2022-03-01 17:48 ` Dumitrescu, Cristian
2022-04-05 21:14 ` Dumitrescu, Cristian
2022-04-07 10:51 ` Jerin Jacob
2022-04-07 13:25 ` Dumitrescu, Cristian
2022-04-07 14:39 ` Jerin Jacob
2022-04-11 14:45 ` Dumitrescu, Cristian [this message]
2022-04-12 6:48 ` Ori Kam
2022-04-21 18:02 ` [dpdk-dev] [PATCH v4] ethdev: mtr: support protocol based " jerinj
2022-04-26 10:19 ` Ray Kinsella
2022-05-01 12:52 ` Jerin Jacob
2022-04-26 12:08 ` Dumitrescu, Cristian
2022-05-01 12:56 ` Jerin Jacob
2022-05-01 14:46 ` [dpdk-dev] [PATCH v5] " jerinj
2022-05-04 8:52 ` Ray Kinsella
2022-05-05 10:56 ` Dumitrescu, Cristian
2022-05-12 7:36 ` Andrew Rybchenko
2022-05-12 11:03 ` Jerin Jacob
2022-05-19 7:05 ` Andrew Rybchenko
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=DM8PR11MB5670ECDB54D90A374384ED29EBEA9@DM8PR11MB5670.namprd11.prod.outlook.com \
--to=cristian.dumitrescu@intel.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=dev@dpdk.org \
--cc=jerinj@marvell.com \
--cc=jerinjacobk@gmail.com \
--cc=mdr@ashroe.eu \
--cc=orika@nvidia.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).