You need to sign in or sign up before continuing.
提交 8d04f2ed 编写于 作者: S shenhao 提交者: Yang Yingliang

net: hns3: fix unsupported config for RSS

driver inclusion
category: bugfix
bugzilla: NA
CVE: NA

--------------------------------------------

For revision 0x20, rss_tuple_set field does not support in VF,
so this patch fixes this case.
Signed-off-by: NGuojia Liao <liaoguojia@huawei.com>
Signed-off-by: Nshenhao <shenhao21@huawei.com>
Reviewed-by: NZhong Zhaohui <zhongzhaohui@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 0132dd23
...@@ -2409,25 +2409,27 @@ static int hclgevf_config_gro(struct hclgevf_dev *hdev, bool en) ...@@ -2409,25 +2409,27 @@ static int hclgevf_config_gro(struct hclgevf_dev *hdev, bool en)
static void hclgevf_rss_init_cfg(struct hclgevf_dev *hdev) static void hclgevf_rss_init_cfg(struct hclgevf_dev *hdev)
{ {
struct hclgevf_rss_cfg *rss_cfg = &hdev->rss_cfg; struct hclgevf_rss_cfg *rss_cfg = &hdev->rss_cfg;
struct hclgevf_rss_tuple_cfg *tuple_sets;
u32 i; u32 i;
rss_cfg->hash_algo = HCLGEVF_RSS_HASH_ALGO_TOEPLITZ;
rss_cfg->rss_size = hdev->nic.kinfo.rss_size; rss_cfg->rss_size = hdev->nic.kinfo.rss_size;
rss_cfg->rss_tuple_sets.ipv4_tcp_en = HCLGEVF_RSS_INPUT_TUPLE_OTHER; tuple_sets = &rss_cfg->rss_tuple_sets;
rss_cfg->rss_tuple_sets.ipv4_udp_en = HCLGEVF_RSS_INPUT_TUPLE_OTHER; if (hdev->pdev->revision >= 0x21) {
rss_cfg->rss_tuple_sets.ipv4_sctp_en = HCLGEVF_RSS_INPUT_TUPLE_SCTP; rss_cfg->hash_algo = HCLGEVF_RSS_HASH_ALGO_SIMPLE;
rss_cfg->rss_tuple_sets.ipv4_fragment_en = memcpy(rss_cfg->rss_hash_key, hclgevf_hash_key,
HCLGEVF_RSS_INPUT_TUPLE_OTHER; HCLGEVF_RSS_KEY_SIZE);
rss_cfg->rss_tuple_sets.ipv6_tcp_en = HCLGEVF_RSS_INPUT_TUPLE_OTHER;
rss_cfg->rss_tuple_sets.ipv6_udp_en = HCLGEVF_RSS_INPUT_TUPLE_OTHER; tuple_sets->ipv4_tcp_en = HCLGEVF_RSS_INPUT_TUPLE_OTHER;
rss_cfg->rss_tuple_sets.ipv6_sctp_en = HCLGEVF_RSS_INPUT_TUPLE_SCTP; tuple_sets->ipv4_udp_en = HCLGEVF_RSS_INPUT_TUPLE_OTHER;
rss_cfg->rss_tuple_sets.ipv6_fragment_en = tuple_sets->ipv4_sctp_en = HCLGEVF_RSS_INPUT_TUPLE_SCTP;
HCLGEVF_RSS_INPUT_TUPLE_OTHER; tuple_sets->ipv4_fragment_en = HCLGEVF_RSS_INPUT_TUPLE_OTHER;
tuple_sets->ipv6_tcp_en = HCLGEVF_RSS_INPUT_TUPLE_OTHER;
rss_cfg->hash_algo = hdev->pdev->revision >= 0x21 ? tuple_sets->ipv6_udp_en = HCLGEVF_RSS_INPUT_TUPLE_OTHER;
HCLGEVF_RSS_HASH_ALGO_SIMPLE : HCLGEVF_RSS_HASH_ALGO_TOEPLITZ; tuple_sets->ipv6_sctp_en = HCLGEVF_RSS_INPUT_TUPLE_SCTP;
tuple_sets->ipv6_fragment_en = HCLGEVF_RSS_INPUT_TUPLE_OTHER;
memcpy(rss_cfg->rss_hash_key, hclgevf_hash_key, HCLGEVF_RSS_KEY_SIZE); }
/* Initialize RSS indirect table */ /* Initialize RSS indirect table */
for (i = 0; i < HCLGEVF_RSS_IND_TBL_SIZE; i++) for (i = 0; i < HCLGEVF_RSS_IND_TBL_SIZE; i++)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册