From: Lijun Ou Date: Tue, 14 Jul 2020 06:16:09 +0000 (+0800) Subject: net/hns3: fix RSS configuration on empty RSS type X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=2bc3b95deb4145d42bb4159b70d8a7a0451badde;p=dpdk.git net/hns3: fix RSS configuration on empty RSS type According to the definition of RSS types of action attributes from testpmd, the driver will not disable RSS but instead requests the unspecified "best-effort" settings when upper application call rte_flow_create API function to create flow using empty RSS types. As a result, here use the default RSS types when RSS types is empty. Fixes: c37ca66f2b27 ("net/hns3: support RSS") Cc: stable@dpdk.org Signed-off-by: Lijun Ou Signed-off-by: Wei Hu (Xavier) --- diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c index 1e58ad70f5..7ec46aef88 100644 --- a/drivers/net/hns3/hns3_flow.c +++ b/drivers/net/hns3/hns3_flow.c @@ -1486,7 +1486,9 @@ hns3_config_rss_filter(struct rte_eth_dev *dev, } /* Filter the unsupported flow types */ - flow_types = rss_flow_conf.types & HNS3_ETH_RSS_SUPPORT; + flow_types = conf->conf.types ? + rss_flow_conf.types & HNS3_ETH_RSS_SUPPORT : + hw->rss_info.conf.types; if (flow_types != rss_flow_conf.types) hns3_warn(hw, "modified RSS types based on hardware support, " "requested:%" PRIx64 " configured:%" PRIx64, @@ -1494,9 +1496,6 @@ hns3_config_rss_filter(struct rte_eth_dev *dev, /* Update the useful flow types */ rss_flow_conf.types = flow_types; - if ((rss_flow_conf.types & ETH_RSS_PROTO_MASK) == 0) - return hns3_disable_rss(hw); - rss_info = &hw->rss_info; if (!add) { if (hns3_action_rss_same(&rss_info->conf, &rss_flow_conf)) {