DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: kirankumark@marvell.com, Thomas Monjalon <thomas@monjalon.net>,
	Andrew Rybchenko <arybchenko@solarflare.com>
Cc: dev@dpdk.org, jerinj@marvell.com, orika@mellanox.com,
	xuanziyang2@huawei.com, cloud.wangxiaoyun@huawei.com,
	zhouguoyang@huawei.com, rosen.xu@intel.com,
	beilei.xing@intel.com, jia.guo@intel.com, rmody@marvell.com,
	shshaikh@marvell.com, ndabilpuram@marvell.com,
	qiming.yang@intel.com, qi.z.zhang@intel.com,
	keith.wiles@intel.com, hemant.agrawal@nxp.com,
	sachin.saxena@nxp.com, wei.zhao1@intel.com, johndale@cisco.com,
	hyonkim@cisco.com, chas3@att.com, matan@mellanox.com,
	shahafs@mellanox.com, viacheslavo@mellanox.com,
	rahul.lakkireddy@chelsio.com, grive@u256.net, lironh@marvell.com,
	jingjing.wu@intel.com, xavier.huwei@huawei.com,
	humin29@huawei.com, yisen.zhuang@huawei.com,
	ajit.khaparde@broadcom.com, somnath.kotur@broadcom.com,
	jasvinder.singh@intel.com, cristian.dumitrescu@intel.com
Subject: Re: [dpdk-dev] [PATCH v7 1/3] ethdev: add level support for RSS offload types
Date: Tue, 1 Sep 2020 14:37:38 +0100	[thread overview]
Message-ID: <ba39461a-cbc8-519b-bc9c-e52f2f7abc4b@intel.com> (raw)
In-Reply-To: <20200901032708.58247-1-kirankumark@marvell.com>

On 9/1/2020 4:27 AM, kirankumark@marvell.com wrote:
> From: Kiran Kumar K <kirankumark@marvell.com>
> 
> This patch reserves 2 bits as input selection to select Inner and
> outer encapsulation level for RSS computation. It is combined with existing
> ETH_RSS_* to choose Inner or outer layers.
> This functionality already exists in rte_flow through level parameter in
> RSS action configuration rte_flow_action_rss.
> 
> Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
> ---
> V7 Changes:
> * Re-worked to keep it in sync with rte_flow_action_rss and support upto
> 3 levels.
> * Addressed testpmd review comments.
> 
>   lib/librte_ethdev/rte_ethdev.h | 27 +++++++++++++++++++++++++++
>   1 file changed, 27 insertions(+)
> 
> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> index 70295d7ab..13e49bbd7 100644
> --- a/lib/librte_ethdev/rte_ethdev.h
> +++ b/lib/librte_ethdev/rte_ethdev.h
> @@ -552,6 +552,33 @@ struct rte_eth_rss_conf {
>   #define RTE_ETH_RSS_L3_PRE64	   (1ULL << 53)
>   #define RTE_ETH_RSS_L3_PRE96	   (1ULL << 52)
> 
> +/*
> + * We use the following macros to combine with the above layers to choose
> + * inner and outer layers or both for RSS computation.
> + * bit 50 and 51 are reserved for this.
> + */
> +
> +/** level 0, requests the default behavior. Depending on the packet
> + * type, it can mean outermost, innermost, anything in between or even no RSS.
> + * It basically stands for the innermost encapsulation level RSS
> + * can be performed on according to PMD and device capabilities.
> + */
> +#define ETH_RSS_LEVEL_0         (0ULL << 50)

I can see from history how this is involved, but the 'ETH_RSS_LEVEL_0' naming is 
not really clear what it is, the naming in v6 is more clear.

What about following one:
0 -> LEVEL_PMD_DEFAULT
1 -> LEVEL_OUTER
2 -> LEVEL_INNER
3 -> LEVEL_INNER_OUTER

This doesn't exactly match to rte_flow one, but closer than v6 one. This ends 
with max level 2. And defines a way to say both inner and outer.

> +
> +/** level 1,  requests RSS to be performed on the outermost packet
> + * encapsulation level.
> + */
> +#define ETH_RSS_LEVEL_1         (1ULL << 50)
> +
> +/** level 2,  requests RSS to be performed on the
> + * specified inner packet encapsulation level, from outermost to
> + * innermost (lower to higher values).
> + */
> +#define ETH_RSS_LEVEL_2	        (2ULL << 50)

I can see you are trying to copy rte_flow usage, but this doesn't really makes 
sense here. Where the value of the level is defined in this case? If not defined 
how the PMD knows which level to use?

> +#define ETH_RSS_LEVEL_MASK	(3ULL << 50)
> +
> +#define ETH_RSS_LEVEL(rss_hf) ((rss_hf & ETH_RSS_LEVEL_MASK) >> 50)
> +
>   /**
>    * For input set change of hash filter, if SRC_ONLY and DST_ONLY of
>    * the same level are used simultaneously, it is the same case as
> --
> 2.25.1
> 


  parent reply	other threads:[~2020-09-01 13:37 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-07 12:04 [dpdk-dev] [PATCH 1/2] " kirankumark
2020-08-07 12:04 ` [dpdk-dev] [PATCH 2/2] net/octeontx2: add rss hash level support kirankumark
2020-08-08 14:36 ` [dpdk-dev] [PATCH v2 1/2] ethdev: add level support for RSS offload types kirankumark
2020-08-08 14:36   ` [dpdk-dev] [PATCH v2 2/2] net/octeontx2: add rss hash level support kirankumark
2020-08-08 14:40   ` [dpdk-dev] [PATCH v2 1/2] ethdev: add level support for RSS offload types Ajit Khaparde
2020-08-14  3:55     ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2020-08-18  7:21   ` [dpdk-dev] [PATCH v3 " kirankumark
2020-08-18  7:21     ` [dpdk-dev] [PATCH v3 2/2] net/octeontx2: add rss hash level support kirankumark
2020-08-18 10:03       ` Jerin Jacob
2020-08-18 10:10         ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2020-08-18 10:31     ` [dpdk-dev] [PATCH v4 1/2] ethdev: add level support for RSS offload types kirankumark
2020-08-18 10:31       ` [dpdk-dev] [PATCH v4 2/2] net/octeontx2: add rss hash level support kirankumark
2020-08-18 10:52       ` [dpdk-dev] [PATCH v4 1/2] ethdev: add level support for RSS offload types Jeff Guo
2020-08-18 11:43         ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2020-08-19  6:04       ` [dpdk-dev] [PATCH v5 " kirankumark
2020-08-19  6:04         ` [dpdk-dev] [PATCH v5 2/2] net/octeontx2: add rss hash level support kirankumark
2020-08-20  3:19         ` [dpdk-dev] [PATCH v5 1/2] ethdev: add level support for RSS offload types Ajit Khaparde
2020-08-21 10:57           ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2020-08-21 11:03         ` [dpdk-dev] [PATCH v6 1/3] " kirankumark
2020-08-21 11:03           ` [dpdk-dev] [PATCH v6 2/3] app/testpmd: support ethdev rss level config kirankumark
2020-08-29  0:48             ` Ajit Khaparde
2020-08-21 11:03           ` [dpdk-dev] [PATCH v6 3/3] net/octeontx2: add rss hash level support kirankumark
2020-08-29 14:52           ` [dpdk-dev] [PATCH v6 1/3] ethdev: add level support for RSS offload types Andrew Rybchenko
2020-09-01 13:23             ` Ferruh Yigit
2020-09-01  3:27           ` [dpdk-dev] [PATCH v7 " kirankumark
2020-09-01  3:27             ` [dpdk-dev] [PATCH v7 2/3] app/testpmd: support ethdev rss level config kirankumark
2020-09-01  3:27             ` [dpdk-dev] [PATCH v7 3/3] net/octeontx2: add rss hash level support kirankumark
2020-09-01 13:37             ` Ferruh Yigit [this message]
2020-09-01 14:27               ` [dpdk-dev] [EXT] Re: [PATCH v7 1/3] ethdev: add level support for RSS offload types Kiran Kumar Kokkilagadda
2020-09-01 14:44                 ` Ferruh Yigit
2020-09-01 14:54                 ` Ferruh Yigit
2020-09-01 17:11                 ` Ajit Khaparde
2020-09-03 10:11                   ` Kiran Kumar Kokkilagadda
2020-09-03 13:14                     ` Ferruh Yigit
2020-09-07  8:12                       ` Andrew Rybchenko
2020-09-08 19:40                         ` Ajit Khaparde
2020-09-17  2:07             ` [dpdk-dev] [PATCH v8 " kirankumark
2020-09-17  2:07               ` [dpdk-dev] [PATCH v8 2/3] app/testpmd: support ethdev rss level config kirankumark
2020-09-17 18:58                 ` Ajit Khaparde
2020-09-17  2:07               ` [dpdk-dev] [PATCH v8 3/3] net/octeontx2: add rss hash level support kirankumark
2020-09-17  9:36               ` [dpdk-dev] [PATCH v8 1/3] ethdev: add level support for RSS offload types Andrew Rybchenko
2020-09-17 18:56                 ` Ajit Khaparde
2020-09-18 11:40                   ` Ferruh Yigit
2020-08-18 17:39     ` [dpdk-dev] [PATCH v3 1/2] " Ajit Khaparde
2020-08-19  3:58       ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda

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=ba39461a-cbc8-519b-bc9c-e52f2f7abc4b@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=arybchenko@solarflare.com \
    --cc=beilei.xing@intel.com \
    --cc=chas3@att.com \
    --cc=cloud.wangxiaoyun@huawei.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \
    --cc=grive@u256.net \
    --cc=hemant.agrawal@nxp.com \
    --cc=humin29@huawei.com \
    --cc=hyonkim@cisco.com \
    --cc=jasvinder.singh@intel.com \
    --cc=jerinj@marvell.com \
    --cc=jia.guo@intel.com \
    --cc=jingjing.wu@intel.com \
    --cc=johndale@cisco.com \
    --cc=keith.wiles@intel.com \
    --cc=kirankumark@marvell.com \
    --cc=lironh@marvell.com \
    --cc=matan@mellanox.com \
    --cc=ndabilpuram@marvell.com \
    --cc=orika@mellanox.com \
    --cc=qi.z.zhang@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=rahul.lakkireddy@chelsio.com \
    --cc=rmody@marvell.com \
    --cc=rosen.xu@intel.com \
    --cc=sachin.saxena@nxp.com \
    --cc=shahafs@mellanox.com \
    --cc=shshaikh@marvell.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=thomas@monjalon.net \
    --cc=viacheslavo@mellanox.com \
    --cc=wei.zhao1@intel.com \
    --cc=xavier.huwei@huawei.com \
    --cc=xuanziyang2@huawei.com \
    --cc=yisen.zhuang@huawei.com \
    --cc=zhouguoyang@huawei.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).