[v7,1/3] ethdev: add new RSS offload types

Message ID 20200417183146.112672-2-jia.guo@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series add RSS configuration for iavf |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues

Commit Message

Guo, Jia April 17, 2020, 6:31 p.m. UTC
  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>
Acked-by: Ori Kam <orika@mellanox.com>
---
v7->v6:
rebase and add ETH_RSS_VLAN to cover ETH_RSS_S_VLAN and ETH_RSS_C_VLAN
---
 lib/librte_ethdev/rte_ethdev.h | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)
  

Comments

Iremonger, Bernard April 21, 2020, 10:14 a.m. UTC | #1
> -----Original Message-----
> From: Guo, Jia <jia.guo@intel.com>
> Sent: Friday, April 17, 2020 7:32 PM
> To: Iremonger, Bernard <bernard.iremonger@intel.com>;
> orika@mellanox.com; Ye, Xiaolong <xiaolong.ye@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Cc: dev@dpdk.org; Wu, Jingjing <jingjing.wu@intel.com>; Cao, Yahui
> <yahui.cao@intel.com>; Su, Simei <simei.su@intel.com>; Guo, Jia
> <jia.guo@intel.com>
> Subject: [dpdk-dev v7 1/3] ethdev: add new RSS offload types
> 
> 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>
> Acked-by: Ori Kam <orika@mellanox.com>

Reviewed-by: Bernard Iremonger <bernard.iremonger@intel.com>
  

Patch

diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index ae3f33bc4..9434d3956 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -511,8 +511,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_ESP                (1ULL << 27)
-#define ETH_RSS_AH                 (1ULL << 28)
+#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)
 
 
 /*
@@ -527,7 +532,9 @@  struct rte_eth_rss_conf {
 #define ETH_RSS_L3_SRC_ONLY        (1ULL << 63)
 #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_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
@@ -579,6 +586,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 | \