[v1] net/ice: fix issue for GTPU l4 hash

Message ID 20200721023246.66259-1-jia.guo@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series [v1] net/ice: fix issue for GTPU l4 hash |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-intel-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS

Commit Message

Guo, Jia July 21, 2020, 2:32 a.m. UTC
  When the configure pattern involve GTPU inner l3 and l4, even the
configure input set only l3 but not l4, the different l4 protocol
header should also be configured for the different l4 protocol.

Fixes: 0b952714e9c1 ("net/ice: refactor PF hash flow")
Fixes: de32fa2ba27b ("net/ice: support RSS for IPv6 prefix")

Signed-off-by: Jeff Guo <jia.guo@intel.com>
---
 drivers/net/ice/ice_hash.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
  

Comments

Qi Zhang July 21, 2020, 5:19 a.m. UTC | #1
> -----Original Message-----
> From: Guo, Jia <jia.guo@intel.com>
> Sent: Tuesday, July 21, 2020 10:33 AM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Yang, Qiming <qiming.yang@intel.com>
> Cc: dev@dpdk.org; Su, Simei <simei.su@intel.com>; Guo, Jia <jia.guo@intel.com>
> Subject: [dpdk-dev v1] net/ice: fix issue for GTPU l4 hash
> 
> When the configure pattern involve GTPU inner l3 and l4, even the configure
> input set only l3 but not l4, the different l4 protocol header should also be
> configured for the different l4 protocol.
> 
> Fixes: 0b952714e9c1 ("net/ice: refactor PF hash flow")
> Fixes: de32fa2ba27b ("net/ice: support RSS for IPv6 prefix")

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
  

Patch

diff --git a/drivers/net/ice/ice_hash.c b/drivers/net/ice/ice_hash.c
index 05388b412..13f88d37c 100644
--- a/drivers/net/ice/ice_hash.c
+++ b/drivers/net/ice/ice_hash.c
@@ -506,6 +506,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_DST_PORT)},
 	{ETH_RSS_NONFRAG_IPV4_UDP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_SA)},
 	{ETH_RSS_NONFRAG_IPV4_UDP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_DA) |
@@ -516,6 +517,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_DST_PORT)},
 	{ETH_RSS_NONFRAG_IPV4_UDP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_DA)},
 	{ETH_RSS_NONFRAG_IPV4_UDP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_SRC_PORT) |
@@ -535,6 +537,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_DST_PORT)},
 	{ETH_RSS_NONFRAG_IPV4_TCP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_SA)},
 	{ETH_RSS_NONFRAG_IPV4_TCP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_DA) |
@@ -545,6 +548,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_DST_PORT)},
 	{ETH_RSS_NONFRAG_IPV4_TCP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_DA)},
 	{ETH_RSS_NONFRAG_IPV4_TCP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_SRC_PORT) |
@@ -564,6 +568,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_DST_PORT)},
 	{ETH_RSS_NONFRAG_IPV4_SCTP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_SA)},
 	{ETH_RSS_NONFRAG_IPV4_SCTP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_DA) |
@@ -574,6 +579,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_DST_PORT)},
 	{ETH_RSS_NONFRAG_IPV4_SCTP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_DA)},
 	{ETH_RSS_NONFRAG_IPV4_SCTP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_SRC_PORT) |
@@ -614,6 +620,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_DST_PORT)},
 	{ETH_RSS_NONFRAG_IPV6_UDP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_SA)},
 	{ETH_RSS_NONFRAG_IPV6_UDP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_DA) |
@@ -624,6 +631,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_DST_PORT)},
 	{ETH_RSS_NONFRAG_IPV6_UDP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_DA)},
 	{ETH_RSS_NONFRAG_IPV6_UDP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_SRC_PORT) |
@@ -643,6 +651,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_SA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE32_UDP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_SA)},
 	{ETH_RSS_IPV6_PRE32_UDP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_DA) |
@@ -651,6 +660,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_DA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE32_UDP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_DA)},
 	{ETH_RSS_IPV6_PRE32_UDP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_SRC_PORT)},
@@ -664,6 +674,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_SA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE48_UDP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_SA)},
 	{ETH_RSS_IPV6_PRE48_UDP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_DA) |
@@ -672,6 +683,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_DA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE48_UDP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_DA)},
 	{ETH_RSS_IPV6_PRE48_UDP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_SRC_PORT)},
@@ -685,6 +697,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_SA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE64_UDP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_SA)},
 	{ETH_RSS_IPV6_PRE64_UDP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_DA) |
@@ -693,6 +706,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_DA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE64_UDP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_DA)},
 	{ETH_RSS_IPV6_PRE64_UDP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_UDP_SRC_PORT)},
@@ -708,6 +722,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_DST_PORT)},
 	{ETH_RSS_NONFRAG_IPV6_TCP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_SA)},
 	{ETH_RSS_NONFRAG_IPV6_TCP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_DA) |
@@ -718,6 +733,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_DST_PORT)},
 	{ETH_RSS_NONFRAG_IPV6_TCP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_DA)},
 	{ETH_RSS_NONFRAG_IPV6_TCP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_SRC_PORT) |
@@ -735,6 +751,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_SA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE32_TCP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_SA)},
 	{ETH_RSS_IPV6_PRE32_TCP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_DA) |
@@ -743,6 +760,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_DA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE32_TCP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_DA)},
 	{ETH_RSS_IPV6_PRE32_TCP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_SRC_PORT)},
@@ -756,6 +774,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_SA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE48_TCP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_SA)},
 	{ETH_RSS_IPV6_PRE48_TCP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_DA) |
@@ -764,6 +783,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_DA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE48_TCP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_DA)},
 	{ETH_RSS_IPV6_PRE48_TCP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_SRC_PORT)},
@@ -777,6 +797,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_SA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE64_TCP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_SA)},
 	{ETH_RSS_IPV6_PRE64_TCP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_DA) |
@@ -785,6 +806,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_DA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE64_TCP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_DA)},
 	{ETH_RSS_IPV6_PRE64_TCP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_TCP_SRC_PORT)},
@@ -800,6 +822,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_DST_PORT)},
 	{ETH_RSS_NONFRAG_IPV6_SCTP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_SA)},
 	{ETH_RSS_NONFRAG_IPV6_SCTP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_DA) |
@@ -810,6 +833,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_DST_PORT)},
 	{ETH_RSS_NONFRAG_IPV6_SCTP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_DA)},
 	{ETH_RSS_NONFRAG_IPV6_SCTP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_SRC_PORT) |
@@ -827,6 +851,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_SA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE32_SCTP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_SA)},
 	{ETH_RSS_IPV6_PRE32_SCTP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_DA) |
@@ -835,6 +860,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_DA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE32_SCTP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE32_DA)},
 	{ETH_RSS_IPV6_PRE32_SCTP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_SRC_PORT)},
@@ -848,6 +874,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_SA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE48_SCTP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_SA)},
 	{ETH_RSS_IPV6_PRE48_SCTP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_DA) |
@@ -856,6 +883,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_DA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE48_SCTP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE48_DA)},
 	{ETH_RSS_IPV6_PRE48_SCTP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_SRC_PORT)},
@@ -869,6 +897,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_SA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE64_SCTP | ETH_RSS_L3_SRC_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_SA)},
 	{ETH_RSS_IPV6_PRE64_SCTP | ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_DA) |
@@ -877,6 +906,7 @@  struct ice_hash_match_type ice_hash_type_list[] = {
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_DA) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_DST_PORT)},
 	{ETH_RSS_IPV6_PRE64_SCTP | ETH_RSS_L3_DST_ONLY,
+		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PROT) |
 		BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_PRE64_DA)},
 	{ETH_RSS_IPV6_PRE64_SCTP | ETH_RSS_L4_SRC_ONLY,
 		BIT_ULL(ICE_FLOW_FIELD_IDX_SCTP_SRC_PORT)},