[dpdk-dev] [PATCH v2 10/17] net/hns3: support querying RSS flow rule
Wei Hu (Xavier)
huwei013 at chinasoftinc.com
Tue Sep 22 14:03:22 CEST 2020
From: Lijun Ou <oulijun at huawei.com>
This patch enables to query some RSS configurations of the specified
rule. For example, show RSS hash function and rss types.
Signed-off-by: Lijun Ou <oulijun at huawei.com>
Signed-off-by: Chengwen Feng <fengchengwen at huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei at huawei.com>
---
drivers/net/hns3/hns3_flow.c | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c
index 1bc5911..14d5968 100644
--- a/drivers/net/hns3/hns3_flow.c
+++ b/drivers/net/hns3/hns3_flow.c
@@ -1962,9 +1962,15 @@ hns3_flow_query(struct rte_eth_dev *dev, struct rte_flow *flow,
const struct rte_flow_action *actions, void *data,
struct rte_flow_error *error)
{
+ struct rte_flow_action_rss *rss_conf;
+ struct hns3_rss_conf_ele *rss_rule;
struct rte_flow_query_count *qc;
int ret;
+ if (!flow->rule)
+ return rte_flow_error_set(error, EINVAL,
+ RTE_FLOW_ERROR_TYPE_HANDLE, NULL, "invalid rule");
+
for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) {
switch (actions->type) {
case RTE_FLOW_ACTION_TYPE_VOID:
@@ -1975,13 +1981,24 @@ hns3_flow_query(struct rte_eth_dev *dev, struct rte_flow *flow,
if (ret)
return ret;
break;
+ case RTE_FLOW_ACTION_TYPE_RSS:
+ if (flow->filter_type != RTE_ETH_FILTER_HASH) {
+ return rte_flow_error_set(error, ENOTSUP,
+ RTE_FLOW_ERROR_TYPE_ACTION,
+ actions, "action is not supported");
+ }
+ rss_conf = (struct rte_flow_action_rss *)data;
+ rss_rule = (struct hns3_rss_conf_ele *)flow->rule;
+ rte_memcpy(rss_conf, &rss_rule->filter_info.conf,
+ sizeof(struct rte_flow_action_rss));
+ break;
default:
return rte_flow_error_set(error, ENOTSUP,
- RTE_FLOW_ERROR_TYPE_ACTION,
- actions,
- "Query action only support count");
+ RTE_FLOW_ERROR_TYPE_ACTION,
+ actions, "action is not supported");
}
}
+
return 0;
}
--
2.9.5
More information about the dev
mailing list