All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simei Su <simei.su@intel.com>
To: qi.z.zhang@intel.com, xiaolong.ye@intel.com, ferruh.yigit@intel.com
Cc: dev@dpdk.org, simei.su@intel.com
Subject: [dpdk-dev] [PATCH v13 1/3] ethdev: decouple flow types and RSS offload types
Date: Tue, 15 Oct 2019 20:56:57 +0800	[thread overview]
Message-ID: <1571144219-208697-2-git-send-email-simei.su@intel.com> (raw)
In-Reply-To: <1571144219-208697-1-git-send-email-simei.su@intel.com>

This patch decouples RTE_ETH_FLOW_* and ETH_RSS_*. The former defines
flow types and the latter defines RSS offload types.

Signed-off-by: Simei Su <simei.su@intel.com>
Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Ori Kam <orika@mellanox.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 lib/librte_ethdev/rte_ethdev.h | 51 ++++++++++++++++++++----------------------
 1 file changed, 24 insertions(+), 27 deletions(-)

diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index c26abe2..40aa6a3 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -453,7 +453,6 @@ struct rte_eth_rss_conf {
  * possible, and exclusively. For example, if a packet is identified as
  * 'RTE_ETH_FLOW_NONFRAG_IPV4_TCP', it will not be any of other flow types,
  * though it is an actual IPV4 packet.
- * Note that the flow types are used to define RSS offload types.
  */
 #define RTE_ETH_FLOW_UNKNOWN             0
 #define RTE_ETH_FLOW_RAW                 1
@@ -483,32 +482,30 @@ struct rte_eth_rss_conf {
 #define RTE_ETH_FLOW_MAX                24
 
 /*
- * 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)
-#define ETH_RSS_GTPU               (1ULL << RTE_ETH_FLOW_GTPU)
+ * 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)
+#define ETH_RSS_GTPU               (1ULL << 23)
 
 #define ETH_RSS_IP ( \
 	ETH_RSS_IPV4 | \
-- 
1.8.3.1


  reply	other threads:[~2019-10-15 12:57 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-09  5:35 [dpdk-dev] [PATCH 0/2] extend RSS offload types 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
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                         ` Simei Su [this message]
2019-10-15 12:56                         ` [dpdk-dev] [PATCH v13 2/3] ethdev: " 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=1571144219-208697-2-git-send-email-simei.su@intel.com \
    --to=simei.su@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=qi.z.zhang@intel.com \
    --cc=xiaolong.ye@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.