From: Ori Kam <orika@nvidia.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>,
Jie Wang <jie1x.wang@intel.com>, "dev@dpdk.org" <dev@dpdk.org>,
"andrew.rybchenko@oktetlabs.ru" <andrew.rybchenko@oktetlabs.ru>
Cc: NBU-Contact-Thomas Monjalon <thomas@monjalon.net>,
"xiaoyun.li@intel.com" <xiaoyun.li@intel.com>,
"jingjing.wu@intel.com" <jingjing.wu@intel.com>,
"beilei.xing@intel.com" <beilei.xing@intel.com>,
"wenjun1.wu@intel.com" <wenjun1.wu@intel.com>,
"stevex.yang@intel.com" <stevex.yang@intel.com>
Subject: Re: [dpdk-dev] [PATCH 3/4] ethdev: support PPPoL2TPv2oUDP RSS Hash
Date: Tue, 5 Oct 2021 15:06:58 +0000 [thread overview]
Message-ID: <DM8PR12MB540091B79A72048A56A9583AD6AF9@DM8PR12MB5400.namprd12.prod.outlook.com> (raw)
In-Reply-To: <4f695186-87ca-fe49-db72-b91b5fb9041a@intel.com>
> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> Sent: Tuesday, October 5, 2021 5:43 PM
> To: Ori Kam <orika@nvidia.com>; Jie Wang <jie1x.wang@intel.com>;
> dev@dpdk.org; andrew.rybchenko@oktetlabs.ru
> Cc: NBU-Contact-Thomas Monjalon <thomas@monjalon.net>;
> xiaoyun.li@intel.com; jingjing.wu@intel.com; beilei.xing@intel.com;
> wenjun1.wu@intel.com; stevex.yang@intel.com
> Subject: Re: [dpdk-dev] [PATCH 3/4] ethdev: support PPPoL2TPv2oUDP RSS Hash
>
> On 9/30/2021 3:38 PM, Ori Kam wrote:
> > Hi Jie,
> >
> > You are missing updating the rte_flow.rst and release notes:
> >
> > Please see more comments below.
> >
> > Thanks,
> > Ori
> >
> >> -----Original Message-----
> >> From: dev <dev-bounces@dpdk.org> On Behalf Of Jie Wang
> >> Sent: Friday, September 24, 2021 6:17 PM
> >> Subject: [dpdk-dev] [PATCH 3/4] ethdev: support PPPoL2TPv2oUDP RSS
> >> Hash
> >>
> >> Add flow pattern items, RSS offload types and header formats of
> >> L2TPv2 and PPP.
> >>
> >> Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
> >> Signed-off-by: Jie Wang <jie1x.wang@intel.com>
> >> ---
> >> lib/ethdev/rte_flow.c | 2 +
> >> lib/ethdev/rte_flow.h | 99
> >> +++++++++++++++++++++++++++++++++++++++++++
> >> 2 files changed, 101 insertions(+)
> >>
> >> diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c index
> >> 8cb7a069c8..307fbc3abe 100644
> >> --- a/lib/ethdev/rte_flow.c
> >> +++ b/lib/ethdev/rte_flow.c
> >> @@ -98,6 +98,8 @@ static const struct rte_flow_desc_data
> >> rte_flow_desc_item[] = {
> >> MK_FLOW_ITEM(PFCP, sizeof(struct rte_flow_item_pfcp)),
> >> MK_FLOW_ITEM(ECPRI, sizeof(struct rte_flow_item_ecpri)),
> >> MK_FLOW_ITEM(GENEVE_OPT, sizeof(struct
> rte_flow_item_geneve_opt)),
> >> + MK_FLOW_ITEM(L2TPV2, sizeof(struct rte_flow_item_l2tpv2)),
> >> + MK_FLOW_ITEM(PPP, sizeof(struct rte_flow_item_ppp)),
> >> MK_FLOW_ITEM(INTEGRITY, sizeof(struct rte_flow_item_integrity)),
> >> MK_FLOW_ITEM(CONNTRACK, sizeof(uint32_t)), }; diff --git
> >> a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index
> >> 70f455d47d..93205b7d1e 100644
> >> --- a/lib/ethdev/rte_flow.h
> >> +++ b/lib/ethdev/rte_flow.h
> >> @@ -554,6 +554,20 @@ enum rte_flow_item_type {
> >> */
> >> RTE_FLOW_ITEM_TYPE_GENEVE_OPT,
> >>
> >> + /**
> >> + * Matches L2TPV2 Header.
> >> + *
> >> + * See struct rte_flow_item_l2tpv2.
> >> + */
> >> + RTE_FLOW_ITEM_TYPE_L2TPV2,
> >> +
> >> + /**
> >> + * Matches PPP Header.
> >> + *
> >> + * See struct rte_flow_item_ppp.
> >> + */
> >> + RTE_FLOW_ITEM_TYPE_PPP,
> >> +
> >
> > Why did you push the new items here and not in the end?
> >
> >> /**
> >> * [META]
> >> *
> >> @@ -1799,6 +1813,91 @@ static const struct rte_flow_item_conntrack
> >> rte_flow_item_conntrack_mask = { }; #endif
> >>
> >> +/**
> >> + * @warning
> >> + * @b EXPERIMENTAL: this structure may change without prior notice
> >> + * RTE_FLOW_ITEM_TYPE_L2TPV2
> >> + *
> >> + * Matches L2TPv2 Header
> >> + */
> >> +RTE_STD_C11
> >> +struct rte_flow_item_l2tpv2 {
> >> + rte_be16_t flags_version; /**< flag(12) version(2). version must be
> >> 2 */
> >> + union{
> >> + struct{
> >> + rte_be16_t length; /**< length(16) */
> >> + rte_be16_t tunnel_id; /**< tunnel id(16) */
> >> + rte_be16_t session_id; /**< session id(16) */
> >> + rte_be32_t ns_nr; /**< Ns(16) + Nr(16) */
> >
> > Why not split those fields?
> >
>
> Hi Ori,
>
> As far as I remember the decision was to define protocol headers separately
> and use them as first element in the flow_item struct, this enables casting the
> flow_item to protocol. And Andrew did some cleanups in the past related to
> this.
> Can't we use the same logic for this case?
This is also my thinking but I'm not familiar with this protocol and it looks like it has many different
options.
Best,
Ori
next prev parent reply other threads:[~2021-10-05 15:07 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-24 15:17 [dpdk-dev] [PATCH 0/4] " Jie Wang
2021-09-24 15:17 ` [dpdk-dev] [PATCH 1/4] net/iavf: support PPPoL2TPv2oUDP over IPv4 " Jie Wang
2021-09-24 15:17 ` [dpdk-dev] [PATCH 2/4] app/testpmd: support PPPoL2TPv2oUDP " Jie Wang
2021-09-24 15:17 ` [dpdk-dev] [PATCH 3/4] ethdev: " Jie Wang
2021-09-30 14:38 ` Ori Kam
2021-10-05 14:42 ` Ferruh Yigit
2021-10-05 15:06 ` Ori Kam [this message]
2021-09-24 15:17 ` [dpdk-dev] [PATCH 4/4] net/iavf: support PPPoL2TPv2oUDP over IPv6 " Jie Wang
2021-10-12 10:25 ` [dpdk-dev] [PATCH v2 0/3] support PPPoL2TPv2oUDP " Jie Wang
2021-10-12 10:25 ` [dpdk-dev] [PATCH v2 1/3] net/iavf: " Jie Wang
2021-10-12 10:25 ` [dpdk-dev] [PATCH v2 2/3] app/testpmd: " Jie Wang
2021-10-12 15:31 ` Ori Kam
2021-10-13 8:15 ` Wang, Jie1X
2021-10-13 9:15 ` Ori Kam
2021-10-13 9:54 ` Wang, Jie1X
2021-10-13 10:19 ` Ori Kam
2021-10-12 10:25 ` [dpdk-dev] [PATCH v2 3/3] ethdev: " Jie Wang
2021-10-12 15:28 ` Ori Kam
2021-10-15 9:58 ` [dpdk-dev] [PATCH v3 0/3] " Jie Wang
2021-10-15 9:58 ` [dpdk-dev] [PATCH v3 1/3] ethdev: support PPP and L2TPV2 procotol Jie Wang
2021-10-15 11:10 ` Ferruh Yigit
2021-10-17 8:12 ` Ori Kam
2021-10-17 8:19 ` Ori Kam
2021-10-15 9:58 ` [dpdk-dev] [PATCH v3 2/3] net/iavf: support PPPoL2TPv2oUDP RSS Hash Jie Wang
2021-10-15 9:58 ` [dpdk-dev] [PATCH v3 3/3] app/testpmd: support L2TPV2 and PPP protocol pattern Jie Wang
2021-10-17 8:51 ` Ori Kam
2021-10-18 9:33 ` [dpdk-dev] [PATCH v4 0/3] support PPPoL2TPv2oUDP RSS Hash Jie Wang
2021-10-18 9:33 ` [dpdk-dev] [PATCH v4 1/3] ethdev: support PPP and L2TPV2 procotol Jie Wang
2021-10-18 10:56 ` Ori Kam
2021-10-18 12:39 ` Zhang, Qi Z
2021-10-18 9:33 ` [dpdk-dev] [PATCH v4 2/3] net/iavf: support PPPoL2TPv2oUDP RSS Hash Jie Wang
2021-10-18 9:33 ` [dpdk-dev] [PATCH v4 3/3] app/testpmd: support L2TPV2 and PPP protocol pattern Jie Wang
2021-10-18 11:03 ` Ori Kam
2021-10-18 12:41 ` Zhang, Qi Z
2021-10-19 3:08 ` [dpdk-dev] [PATCH v5 0/3] support PPPoL2TPv2oUDP RSS Hash Jie Wang
2021-10-19 3:08 ` [dpdk-dev] [PATCH v5 1/3] ethdev: support PPP and L2TPV2 procotol Jie Wang
2021-10-19 6:17 ` Ori Kam
2021-10-19 10:30 ` Ferruh Yigit
2021-10-19 3:08 ` [dpdk-dev] [PATCH v5 2/3] net/iavf: support PPPoL2TPv2oUDP RSS Hash Jie Wang
2021-10-20 1:57 ` Xing, Beilei
2021-10-19 3:08 ` [dpdk-dev] [PATCH v5 3/3] app/testpmd: support L2TPV2 and PPP protocol pattern Jie Wang
2021-10-19 9:41 ` Ferruh Yigit
2021-10-20 9:32 ` [dpdk-dev] [PATCH v6 0/3] support PPPoL2TPv2oUDP RSS Hash Jie Wang
2021-10-20 9:32 ` [dpdk-dev] [PATCH v6 1/3] ethdev: support PPP and L2TPV2 procotol Jie Wang
2021-10-20 9:53 ` Andrew Rybchenko
2021-10-20 9:32 ` [dpdk-dev] [PATCH v6 2/3] net/iavf: support PPPoL2TPv2oUDP RSS Hash Jie Wang
2021-10-21 2:07 ` Xing, Beilei
2021-10-20 9:32 ` [dpdk-dev] [PATCH v6 3/3] app/testpmd: support L2TPV2 and PPP protocol pattern Jie Wang
2021-10-21 6:26 ` [dpdk-dev] [PATCH v7 0/3] support PPPoL2TPv2oUDP RSS Hash Jie Wang
2021-10-21 6:26 ` [dpdk-dev] [PATCH v7 1/3] ethdev: support L2TPv2 and PPP procotol Jie Wang
2021-10-21 7:50 ` Ori Kam
2021-10-21 7:52 ` Andrew Rybchenko
2021-10-21 8:28 ` Wang, Jie1X
2021-10-21 8:30 ` Andrew Rybchenko
2021-10-21 8:41 ` Wang, Jie1X
2021-10-21 13:18 ` Ori Kam
2021-10-21 9:26 ` Ferruh Yigit
2021-10-21 9:29 ` Ferruh Yigit
2021-10-21 6:26 ` [dpdk-dev] [PATCH v7 2/3] net/iavf: support PPPoL2TPv2oUDP RSS Hash Jie Wang
2021-10-21 6:26 ` [dpdk-dev] [PATCH v7 3/3] app/testpmd: support L2TPv2 and PPP protocol pattern Jie Wang
2021-10-21 10:05 ` [dpdk-dev] [PATCH v8 0/3] support PPPoL2TPv2oUDP RSS Hash Jie Wang
2021-10-21 10:05 ` [dpdk-dev] [PATCH v8 1/3] ethdev: support L2TPv2 and PPP procotol Jie Wang
2021-10-21 10:13 ` Andrew Rybchenko
2021-10-21 10:05 ` [dpdk-dev] [PATCH v8 2/3] net/iavf: support PPPoL2TPv2oUDP RSS Hash Jie Wang
2021-10-21 10:05 ` [dpdk-dev] [PATCH v8 3/3] app/testpmd: support L2TPv2 and PPP protocol pattern Jie Wang
2021-10-21 10:49 ` [dpdk-dev] [PATCH v9 0/3] support PPPoL2TPv2oUDP RSS Hash Jie Wang
2021-10-21 10:49 ` [dpdk-dev] [PATCH v9 1/3] ethdev: support L2TPv2 and PPP procotol Jie Wang
2021-10-21 12:16 ` Ferruh Yigit
2021-10-21 10:49 ` [dpdk-dev] [PATCH v9 2/3] net/iavf: support PPPoL2TPv2oUDP RSS Hash Jie Wang
2021-10-21 10:49 ` [dpdk-dev] [PATCH v9 3/3] app/testpmd: support L2TPv2 and PPP protocol pattern Jie Wang
2021-10-21 12:17 ` [dpdk-dev] [PATCH v9 0/3] support PPPoL2TPv2oUDP RSS Hash 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=DM8PR12MB540091B79A72048A56A9583AD6AF9@DM8PR12MB5400.namprd12.prod.outlook.com \
--to=orika@nvidia.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=beilei.xing@intel.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=jie1x.wang@intel.com \
--cc=jingjing.wu@intel.com \
--cc=stevex.yang@intel.com \
--cc=thomas@monjalon.net \
--cc=wenjun1.wu@intel.com \
--cc=xiaoyun.li@intel.com \
/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).