]> git.droids-corp.org - dpdk.git/commitdiff
net/bonding: fix RSS inconsistency between ports
authorHuisong Li <lihuisong@huawei.com>
Wed, 8 Jun 2022 11:45:47 +0000 (19:45 +0800)
committerAndrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Thu, 9 Jun 2022 08:47:03 +0000 (10:47 +0200)
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 <lihuisong@huawei.com>
Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
drivers/net/bonding/rte_eth_bond_pmd.c

index ace8f8b45eded302f87a86307b9e52128b8417e9..73e6972035cf7881022333898cba04e4763bfb94 100644 (file)
@@ -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 =