net/ice: fix GTPU L4 hash
authorJeff Guo <jia.guo@intel.com>
Tue, 21 Jul 2020 02:32:46 +0000 (10:32 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 21 Jul 2020 11:54:54 +0000 (13:54 +0200)
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>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/ice/ice_hash.c

index 42b3440..e535e4b 100644 (file)
@@ -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)},