From: Lijun Ou Date: Fri, 22 May 2020 09:21:18 +0000 (+0800) Subject: net/hns3: fix key length when configuring RSS X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=40783b1280e1833615885dc98f3c796ad5addb54;p=dpdk.git net/hns3: fix key length when configuring RSS When users set the length of RSS hash key greater than the supported length by hardware, the driver should intercept and can not configure the wrong key into the hardware. 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 aef301a8a7..c7851b235c 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(%zu)", + 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)