From 9e0fb72c75cd03c40fc7cedc39d3a342f447b6ee Mon Sep 17 00:00:00 2001 From: Huisong Li Date: Wed, 8 Jun 2022 19:45:47 +0800 Subject: [PATCH] net/bonding: fix RSS inconsistency between ports Currently, RSS configuration of slave is set only when RSS is enabled for bonded port. If RSS is enabled for the slaves port before adding to the bonded port with disabling RSS, it will run into that the RSS enabled state of bonded and slaves port is inconsistent after starting bonded port. So the RSS configuration of slave should also be set when RSS is disabled for bonded port. Fixes: 734ce47f71e0 ("bonding: support RSS dynamic configuration") Cc: stable@dpdk.org Signed-off-by: Huisong Li Signed-off-by: Dongdong Liu Reviewed-by: Andrew Rybchenko --- drivers/net/bonding/rte_eth_bond_pmd.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index ace8f8b45e..73e6972035 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -1707,6 +1707,12 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev, bonded_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf; slave_eth_dev->data->dev_conf.rxmode.mq_mode = bonded_eth_dev->data->dev_conf.rxmode.mq_mode; + } else { + slave_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key_len = 0; + slave_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key = NULL; + slave_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf = 0; + slave_eth_dev->data->dev_conf.rxmode.mq_mode = + bonded_eth_dev->data->dev_conf.rxmode.mq_mode; } slave_eth_dev->data->dev_conf.rxmode.mtu = -- 2.20.1