net/hns3: fix storing RSS info when creating flow action
authorWei Hu (Xavier) <xavier.huwei@huawei.com>
Tue, 22 Sep 2020 12:03:29 +0000 (20:03 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 30 Sep 2020 17:19:11 +0000 (19:19 +0200)
Currently, when calling the rte_flow_query API function to query the RSS
information, the queue related information is not as expected.

The root cause is that when application call the rte_flow_create API
function to create RSS action, the operation of storing the data whose typs
is struct rte_flow_action_rss is incorrect in the '.create' ops
implementation function named hns3_flow_create.

This patch fixes it by replacing memcpy with hns3_rss_conf_copy function to
store the RSS information in the hns3_flow_create.

Fixes: c37ca66f2b27 ("net/hns3: support RSS")
Cc: stable@dpdk.org
Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
drivers/net/hns3/hns3_flow.c

index 05cc95e..2cdfb68 100644 (file)
@@ -1839,8 +1839,8 @@ hns3_flow_create(struct rte_eth_dev *dev, const struct rte_flow_attr *attr,
                        ret = -ENOMEM;
                        goto err;
                }
-               memcpy(&rss_filter_ptr->filter_info, rss_conf,
-                       sizeof(struct hns3_rss_conf));
+               hns3_rss_conf_copy(&rss_filter_ptr->filter_info,
+                                  &rss_conf->conf);
                rss_filter_ptr->filter_info.valid = true;
                TAILQ_INSERT_TAIL(&process_list->filter_rss_list,
                                  rss_filter_ptr, entries);