net/iavf: fix conflicting RSS combination rules
authorMurphy Yang <murphyx.yang@intel.com>
Thu, 7 Jan 2021 09:17:10 +0000 (09:17 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 13 Jan 2021 17:51:58 +0000 (18:51 +0100)
Currently, when use 'flow' command to create a rule with following
invalid RSS type combination, it can be created successfully.

Invalid RSS combinations list:
 - ETH_RSS_IPV4 | ETH_RSS_NONFRAG_IPV4_TCP
 - ETH_RSS_IPV6 | ETH_RSS_NONFRAG_IPV6_TCP

This patch adds these combinations in 'invalid_rss_comb' array to do
valid check, if the combination check failed, the rule will be created
unsuccessful.

Fixes: 91f27b2e39ab ("net/iavf: refactor RSS")
Cc: stable@dpdk.org
Signed-off-by: Murphy Yang <murphyx.yang@intel.com>
Acked-by: Jeff Guo <jia.guo@intel.com>
drivers/net/iavf/iavf_hash.c

index 7620876..ebaac58 100644 (file)
@@ -863,7 +863,9 @@ static void iavf_refine_proto_hdrs(struct virtchnl_proto_hdrs *proto_hdrs,
 
 static uint64_t invalid_rss_comb[] = {
        ETH_RSS_IPV4 | ETH_RSS_NONFRAG_IPV4_UDP,
+       ETH_RSS_IPV4 | ETH_RSS_NONFRAG_IPV4_TCP,
        ETH_RSS_IPV6 | ETH_RSS_NONFRAG_IPV6_UDP,
+       ETH_RSS_IPV6 | ETH_RSS_NONFRAG_IPV6_TCP,
        RTE_ETH_RSS_L3_PRE32 | RTE_ETH_RSS_L3_PRE40 |
        RTE_ETH_RSS_L3_PRE48 | RTE_ETH_RSS_L3_PRE56 |
        RTE_ETH_RSS_L3_PRE96