ethdev: add RSS offload types
authorJeff Guo <jia.guo@intel.com>
Wed, 22 Apr 2020 01:02:53 +0000 (21:02 -0400)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 21 Apr 2020 16:03:19 +0000 (18:03 +0200)
Defines some new RSS offload types for ETH/S_VLAN/C_VLAN/L2TPV3/
/PFCP/L2_SRC_ONLY/L2_DST_ONLY.

Signed-off-by: Jeff Guo <jia.guo@intel.com>
Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
Reviewed-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Ori Kam <orika@mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
lib/librte_ethdev/rte_ethdev.h

index 2dba2ea..0f6d053 100644 (file)
@@ -512,8 +512,13 @@ struct rte_eth_rss_conf {
 #define ETH_RSS_GENEVE             (1ULL << 20)
 #define ETH_RSS_NVGRE              (1ULL << 21)
 #define ETH_RSS_GTPU               (1ULL << 23)
+#define ETH_RSS_ETH                (1ULL << 24)
+#define ETH_RSS_S_VLAN             (1ULL << 25)
+#define ETH_RSS_C_VLAN             (1ULL << 26)
 #define ETH_RSS_ESP                (1ULL << 27)
 #define ETH_RSS_AH                 (1ULL << 28)
+#define ETH_RSS_L2TPV3             (1ULL << 29)
+#define ETH_RSS_PFCP               (1ULL << 30)
 
 
 /*
@@ -529,6 +534,8 @@ struct rte_eth_rss_conf {
 #define ETH_RSS_L3_DST_ONLY        (1ULL << 62)
 #define ETH_RSS_L4_SRC_ONLY        (1ULL << 61)
 #define ETH_RSS_L4_DST_ONLY        (1ULL << 60)
+#define ETH_RSS_L2_SRC_ONLY        (1ULL << 59)
+#define ETH_RSS_L2_DST_ONLY        (1ULL << 58)
 
 /**
  * For input set change of hash filter, if SRC_ONLY and DST_ONLY of
@@ -580,6 +587,10 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
        ETH_RSS_GENEVE | \
        ETH_RSS_NVGRE)
 
+#define ETH_RSS_VLAN ( \
+       ETH_RSS_S_VLAN  | \
+       ETH_RSS_C_VLAN)
+
 /**< Mask of valid RSS hash protocols */
 #define ETH_RSS_PROTO_MASK ( \
        ETH_RSS_IPV4 | \