From: Lijun Ou <ouli...@huawei.com> When users set the length of rss hash key greater than the supported length by hardware, the pmd driver should intercept and can not configure the wrong key into the hardware.
Fixes: c37ca66f2b27 ("net/hns3: support RSS") Cc: sta...@dpdk.org Signed-off-by: Lijun Ou <ouli...@huawei.com> Signed-off-by: Wei Hu (Xavier) <xavier.hu...@huawei.com> --- drivers/net/hns3/hns3_flow.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c index aef301a..e3c2392 100644 --- a/drivers/net/hns3/hns3_flow.c +++ b/drivers/net/hns3/hns3_flow.c @@ -1475,6 +1475,14 @@ hns3_config_rss_filter(struct rte_eth_dev *dev, return -EINVAL; } + if (rss_flow_conf.key_len && + rss_flow_conf.key_len > RTE_DIM(rss_info->key)) { + hns3_err(hw, + "input hash key(%u) greater than supported len(%lu)", + rss_flow_conf.key_len, RTE_DIM(rss_info->key)); + return -EINVAL; + } + /* Filter the unsupported flow types */ flow_types = rss_flow_conf.types & HNS3_ETH_RSS_SUPPORT; if (flow_types != rss_flow_conf.types) -- 2.7.4