DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ye Xiaolong <xiaolong.ye@intel.com>
To: Simei Su <simei.su@intel.com>
Cc: qi.z.zhang@intel.com, jingjing.wu@intel.com, dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v2 1/2] ethdev: extend RSS offload types
Date: Wed, 25 Sep 2019 18:27:56 +0800	[thread overview]
Message-ID: <20190925102756.GF60476@intel.com> (raw)
In-Reply-To: <1569247539-101249-2-git-send-email-simei.su@intel.com>

On 09/23, Simei Su wrote:
>This patch cover two aspects:
>  (1)decouple RTE_ETH_FLOW_* and ETH_RSS_*. Because both serve
>     different purposes.

I saw in the comment of flow types definition 

"Note that the flow types are used to define RSS offload types".

We need to remove it if we do the decouple to avoid confusion.

>
>  (2)reserve several bits as input set selection from bottom
>     of the 64 bits. It is combined with exisiting ETH_RSS_* to
>     represent rss types.
>
>  for example:
>    ETH_RSS_IPV4 | ETH_RSS_L3_SRC_ONLY: hash on src ip address only
>    ETH_RSS_IPV4_UDP | ETH_RSS_L4_DST_ONLY: hash on src/dst IP and
>                                            dst UDP port
>    ETH_RSS_L2_PAYLOAD | ETH_RSS_L2_DST_ONLY: hash on dst mac address
>
>Signed-off-by: Simei Su <simei.su@intel.com>
>---
> lib/librte_ethdev/rte_ethdev.h | 60 ++++++++++++++++++++++++------------------
> 1 file changed, 35 insertions(+), 25 deletions(-)
>
>diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
>index d987178..7e6530d 100644
>--- a/lib/librte_ethdev/rte_ethdev.h
>+++ b/lib/librte_ethdev/rte_ethdev.h
>@@ -482,31 +482,41 @@ struct rte_eth_rss_conf {
> #define RTE_ETH_FLOW_MAX                23
> 
> /*
>- * The RSS offload types are defined based on flow types.
>- * Different NIC hardware may support different RSS offload
>- * types. The supported flow types or RSS offload types can be queried by
>- * rte_eth_dev_info_get().
>- */
>-#define ETH_RSS_IPV4               (1ULL << RTE_ETH_FLOW_IPV4)
>-#define ETH_RSS_FRAG_IPV4          (1ULL << RTE_ETH_FLOW_FRAG_IPV4)
>-#define ETH_RSS_NONFRAG_IPV4_TCP   (1ULL << RTE_ETH_FLOW_NONFRAG_IPV4_TCP)
>-#define ETH_RSS_NONFRAG_IPV4_UDP   (1ULL << RTE_ETH_FLOW_NONFRAG_IPV4_UDP)
>-#define ETH_RSS_NONFRAG_IPV4_SCTP  (1ULL << RTE_ETH_FLOW_NONFRAG_IPV4_SCTP)
>-#define ETH_RSS_NONFRAG_IPV4_OTHER (1ULL << RTE_ETH_FLOW_NONFRAG_IPV4_OTHER)
>-#define ETH_RSS_IPV6               (1ULL << RTE_ETH_FLOW_IPV6)
>-#define ETH_RSS_FRAG_IPV6          (1ULL << RTE_ETH_FLOW_FRAG_IPV6)
>-#define ETH_RSS_NONFRAG_IPV6_TCP   (1ULL << RTE_ETH_FLOW_NONFRAG_IPV6_TCP)
>-#define ETH_RSS_NONFRAG_IPV6_UDP   (1ULL << RTE_ETH_FLOW_NONFRAG_IPV6_UDP)
>-#define ETH_RSS_NONFRAG_IPV6_SCTP  (1ULL << RTE_ETH_FLOW_NONFRAG_IPV6_SCTP)
>-#define ETH_RSS_NONFRAG_IPV6_OTHER (1ULL << RTE_ETH_FLOW_NONFRAG_IPV6_OTHER)
>-#define ETH_RSS_L2_PAYLOAD         (1ULL << RTE_ETH_FLOW_L2_PAYLOAD)
>-#define ETH_RSS_IPV6_EX            (1ULL << RTE_ETH_FLOW_IPV6_EX)
>-#define ETH_RSS_IPV6_TCP_EX        (1ULL << RTE_ETH_FLOW_IPV6_TCP_EX)
>-#define ETH_RSS_IPV6_UDP_EX        (1ULL << RTE_ETH_FLOW_IPV6_UDP_EX)
>-#define ETH_RSS_PORT               (1ULL << RTE_ETH_FLOW_PORT)
>-#define ETH_RSS_VXLAN              (1ULL << RTE_ETH_FLOW_VXLAN)
>-#define ETH_RSS_GENEVE             (1ULL << RTE_ETH_FLOW_GENEVE)
>-#define ETH_RSS_NVGRE              (1ULL << RTE_ETH_FLOW_NVGRE)
>+ * Below macros are defined for RSS offload types, they can be used to
>+ * fill rte_eth_rss_conf.rss_hf or rte_flow_action_rss.types.
>+ */
>+#define ETH_RSS_IPV4               (1ULL << 2)
>+#define ETH_RSS_FRAG_IPV4          (1ULL << 3)
>+#define ETH_RSS_NONFRAG_IPV4_TCP   (1ULL << 4)
>+#define ETH_RSS_NONFRAG_IPV4_UDP   (1ULL << 5)
>+#define ETH_RSS_NONFRAG_IPV4_SCTP  (1ULL << 6)
>+#define ETH_RSS_NONFRAG_IPV4_OTHER (1ULL << 7)
>+#define ETH_RSS_IPV6               (1ULL << 8)
>+#define ETH_RSS_FRAG_IPV6          (1ULL << 9)
>+#define ETH_RSS_NONFRAG_IPV6_TCP   (1ULL << 10)
>+#define ETH_RSS_NONFRAG_IPV6_UDP   (1ULL << 11)
>+#define ETH_RSS_NONFRAG_IPV6_SCTP  (1ULL << 12)
>+#define ETH_RSS_NONFRAG_IPV6_OTHER (1ULL << 13)
>+#define ETH_RSS_L2_PAYLOAD         (1ULL << 14)
>+#define ETH_RSS_IPV6_EX            (1ULL << 15)
>+#define ETH_RSS_IPV6_TCP_EX        (1ULL << 16)
>+#define ETH_RSS_IPV6_UDP_EX        (1ULL << 17)
>+#define ETH_RSS_PORT               (1ULL << 18)
>+#define ETH_RSS_VXLAN              (1ULL << 19)
>+#define ETH_RSS_GENEVE             (1ULL << 20)
>+#define ETH_RSS_NVGRE              (1ULL << 21)
>+
>+/*
>+ * We use the following macros to combine with above ETH_RSS_* for
>+ * more specific input set selection. These bits are defined starting
>+ * from the bottom of the 64 bits.

s/bottom/high end/

>+ */
>+#define	ETH_RSS_L2_SRC_ONLY	   (1ULL << 63)
>+#define	ETH_RSS_L2_DST_ONLY	   (1ULL << 62)
>+#define	ETH_RSS_L3_SRC_ONLY	   (1ULL << 61)
>+#define	ETH_RSS_L3_DST_ONLY	   (1ULL << 60)
>+#define	ETH_RSS_L4_SRC_ONLY	   (1ULL << 59)
>+#define	ETH_RSS_L4_DST_ONLY	   (1ULL << 58)

Keep one space after #define to be aligned with other MACRO definition.

Thanks,
Xiaolong

> 
> #define ETH_RSS_IP ( \
> 	ETH_RSS_IPV4 | \
>-- 
>1.8.3.1
>

  reply	other threads:[~2019-09-25 10:30 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-09  5:35 [dpdk-dev] [PATCH 0/2] " simei
2019-08-09  5:35 ` [dpdk-dev] [PATCH 1/2] ethdev: " simei
2019-08-09  5:35 ` [dpdk-dev] [PATCH 2/2] app/testpmd: add RSS offload types extending support simei
2019-09-23 14:05 ` [dpdk-dev] [PATCH v2 0/2] extend RSS offload types Simei Su
2019-09-23 14:05   ` [dpdk-dev] [PATCH v2 1/2] ethdev: " Simei Su
2019-09-25 10:27     ` Ye Xiaolong [this message]
2019-09-25 12:04       ` Su, Simei
2019-09-25 12:23         ` Ye Xiaolong
2019-09-25 12:42           ` Su, Simei
2019-09-25 10:49     ` Ye Xiaolong
2019-09-25 12:00       ` Su, Simei
2019-09-25 12:22         ` Ye Xiaolong
2019-09-25 12:38           ` Su, Simei
2019-09-23 14:05   ` [dpdk-dev] [PATCH v2 2/2] app/testpmd: add RSS offload types extending support Simei Su
2019-09-24  5:32   ` [dpdk-dev] [PATCH v2 0/2] extend RSS offload types Zhang, Qi Z
2019-09-25 14:06   ` [dpdk-dev] [PATCH v3 " Simei Su
2019-09-25 14:06     ` [dpdk-dev] [PATCH v3 1/2] ethdev: " Simei Su
2019-09-26  9:16       ` Andrew Rybchenko
2019-09-27  5:54         ` Zhang, Qi Z
2019-09-25 14:06     ` [dpdk-dev] [PATCH v3 2/2] app/testpmd: add RSS offload types extending support Simei Su
2019-09-27  8:54     ` [dpdk-dev] [PATCH v4 0/3] extend RSS offload types Simei Su
2019-09-27  8:54       ` [dpdk-dev] [PATCH v4 1/3] ethdev: decouple flow types and " Simei Su
2019-09-29 11:32         ` Andrew Rybchenko
2019-09-27  8:54       ` [dpdk-dev] [PATCH v4 2/3] ethdev: extend " Simei Su
2019-09-28  1:03         ` Zhang, Qi Z
2019-09-28  1:39           ` Su, Simei
2019-09-27  8:54       ` [dpdk-dev] [PATCH v4 3/3] app/testpmd: add RSS offload types extending support Simei Su
2019-09-28 16:49         ` Ori Kam
2019-09-29  6:46           ` Su, Simei
2019-09-29  7:21             ` Su, Simei
2019-09-28  2:29       ` [dpdk-dev] [PATCH v5 0/3] extend RSS offload types Simei Su
2019-09-28  2:29         ` [dpdk-dev] [PATCH v5 1/3] ethdev: decouple flow types and " Simei Su
2019-09-28 16:23           ` Ori Kam
2019-09-28  2:29         ` [dpdk-dev] [PATCH v5 2/3] ethdev: extend " Simei Su
2019-09-28 16:26           ` Ori Kam
2019-09-28  2:29         ` [dpdk-dev] [PATCH v5 3/3] app/testpmd: add RSS offload types extending support Simei Su
2019-09-29  5:11         ` [dpdk-dev] [PATCH v6 0/3] extend RSS offload types Simei Su
2019-09-29  5:11           ` [dpdk-dev] [PATCH v6 1/3] ethdev: decouple flow types and " Simei Su
2019-09-29  5:11           ` [dpdk-dev] [PATCH v6 2/3] ethdev: extend " Simei Su
2019-09-29 11:40             ` Andrew Rybchenko
2019-09-30  7:49               ` Zhang, Qi Z
2019-09-29  5:11           ` [dpdk-dev] [PATCH v6 3/3] app/testpmd: add RSS offload types extending support Simei Su
2019-09-29  7:09           ` [dpdk-dev] [PATCH v7 0/3] extend RSS offload types Simei Su
2019-09-29  7:09             ` [dpdk-dev] [PATCH v7 1/3] ethdev: decouple flow types and " Simei Su
2019-09-29  7:55               ` Yang, Zhiyong
2019-09-29  8:38                 ` Su, Simei
2019-09-29  7:09             ` [dpdk-dev] [PATCH v7 2/3] ethdev: extend " Simei Su
2019-09-29  8:55               ` Su, Simei
2019-09-29  9:15                 ` Su, Simei
2019-09-29  7:09             ` [dpdk-dev] [PATCH v7 3/3] app/testpmd: add RSS offload types extending support Simei Su
2019-10-01 14:36             ` [dpdk-dev] [PATCH v8 0/3] extend RSS offload types Simei Su
2019-10-01 14:36               ` [dpdk-dev] [PATCH v8 1/3] ethdev: decouple flow types and " Simei Su
2019-10-01 14:36               ` [dpdk-dev] [PATCH v8 2/3] ethdev: extend " Simei Su
2019-10-01 14:49                 ` Andrew Rybchenko
2019-10-01 16:02                   ` Iremonger, Bernard
2019-10-01 16:45                     ` Ferruh Yigit
2019-10-05  4:54                   ` Su, Simei
2019-10-01 14:36               ` [dpdk-dev] [PATCH v8 3/3] app/testpmd: add RSS offload types extending support Simei Su
2019-10-03 11:35               ` [dpdk-dev] [PATCH v9 0/3] extend RSS offload types Simei Su
2019-10-03 11:35                 ` [dpdk-dev] [PATCH v9 1/3] ethdev: decouple flow types and " Simei Su
2019-10-03 11:35                 ` [dpdk-dev] [PATCH v9 2/3] ethdev: extend " Simei Su
2019-10-03 11:35                 ` [dpdk-dev] [PATCH v9 3/3] app/testpmd: add RSS offload types extending support Simei Su
2019-10-04  4:45                 ` [dpdk-dev] [PATCH v10 0/3] extend RSS offload types Simei Su
2019-10-04  4:46                   ` [dpdk-dev] [PATCH v10 1/3] ethdev: decouple flow types and " Simei Su
2019-10-04  4:46                   ` [dpdk-dev] [PATCH v10 2/3] ethdev: extend " Simei Su
2019-10-08 16:45                     ` Andrew Rybchenko
2019-10-09  7:06                       ` Su, Simei
2019-10-04  4:46                   ` [dpdk-dev] [PATCH v10 3/3] app/testpmd: add RSS offload types extending support Simei Su
2019-10-09  6:57                   ` [dpdk-dev] [PATCH v11 0/3] extend RSS offload types Simei Su
2019-10-09  6:57                     ` [dpdk-dev] [PATCH v11 1/3] ethdev: decouple flow types and " Simei Su
2019-10-09  6:57                     ` [dpdk-dev] [PATCH v11 2/3] ethdev: extend " Simei Su
2019-10-09  7:18                       ` Andrew Rybchenko
2019-10-09  7:42                         ` Su, Simei
2019-10-09  7:55                           ` Andrew Rybchenko
2019-10-09  9:08                             ` Su, Simei
2019-10-09  9:32                             ` Zhang, Qi Z
2019-10-10 14:37                               ` Su, Simei
2019-10-09  6:57                     ` [dpdk-dev] [PATCH v11 3/3] app/testpmd: add RSS offload types extending support Simei Su
2019-10-14 13:36                     ` [dpdk-dev] [PATCH v12 0/3] extend RSS offload types Simei Su
2019-10-14 13:36                       ` [dpdk-dev] [PATCH v12 1/3] ethdev: decouple flow types and " Simei Su
2019-10-14 13:36                       ` [dpdk-dev] [PATCH v12 2/3] ethdev: extend " Simei Su
2019-10-15  9:07                         ` Andrew Rybchenko
2019-10-15 10:55                           ` Su, Simei
2019-10-15 11:09                             ` Andrew Rybchenko
2019-10-15 11:21                               ` Su, Simei
2019-10-14 13:36                       ` [dpdk-dev] [PATCH v12 3/3] app/testpmd: add RSS offload types extending support Simei Su
2019-10-15 12:56                       ` [dpdk-dev] [PATCH v13 0/3] extend RSS offload types Simei Su
2019-10-15 12:56                         ` [dpdk-dev] [PATCH v13 1/3] ethdev: decouple flow types and " Simei Su
2019-10-15 12:56                         ` [dpdk-dev] [PATCH v13 2/3] ethdev: extend " Simei Su
2019-10-15 13:07                           ` Andrew Rybchenko
2019-10-15 15:00                             ` Su, Simei
2019-10-15 12:56                         ` [dpdk-dev] [PATCH v13 3/3] app/testpmd: add RSS offload types extending support Simei Su
2019-10-15 15:09                         ` [dpdk-dev] [PATCH v14 0/3] extend RSS offload types Simei Su
2019-10-15 15:09                           ` [dpdk-dev] [PATCH v14 1/3] ethdev: decouple flow types and " Simei Su
2019-10-15 15:09                           ` [dpdk-dev] [PATCH v14 2/3] ethdev: extend " Simei Su
2019-10-15 15:09                           ` [dpdk-dev] [PATCH v14 3/3] app/testpmd: add RSS offload types extending support Simei Su
2019-10-18 11:43                           ` [dpdk-dev] [PATCH v14 0/3] extend RSS offload types 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=20190925102756.GF60476@intel.com \
    --to=xiaolong.ye@intel.com \
    --cc=dev@dpdk.org \
    --cc=jingjing.wu@intel.com \
    --cc=qi.z.zhang@intel.com \
    --cc=simei.su@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).