[PATCH v2] net/bonding: fix RSS not work for bonding

Min Hu (Connor) humin29 at huawei.com
Tue Jan 18 10:27:30 CET 2022


Acked-by: Min Hu (Connor) <humin29 at huawei.com>

在 2022/1/18 17:18, Yu Wenjun 写道:
> RSS don't work when bond_ethdev_configure called before
> rte_eth_bond_slave_add.
> 
> e.g.:
> dont't work(examples/bond/main.c):
> rte_eth_bond_create()
> rte_eth_dev_configure()
> rte_eth_bond_slave_add()
> rte_eth_dev_start()
> 
> work(testpmd):
> rte_eth_bond_create()
> rte_eth_bond_slave_add()
> rte_eth_dev_configure()
> rte_eth_dev_start()
> 
> Fixes: 6b1a001ec546 ("net/bonding: fix RSS key length")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Yu Wenjun <yuwenjun at cmss.chinamobile.com>
> ---
> v2:
> - Fixed patch format.
> 
>   drivers/net/bonding/rte_eth_bond_pmd.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
> index 84f4900..31bcee1 100644
> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
> @@ -3504,6 +3504,11 @@ struct bwg_slave {
>   	if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS) {
>   		struct rte_eth_rss_conf *rss_conf =
>   			&dev->data->dev_conf.rx_adv_conf.rss_conf;
> +
> +		if (internals->rss_key_len == 0) {
> +			internals->rss_key_len = sizeof(default_rss_key);
> +		}
> +
>   		if (rss_conf->rss_key != NULL) {
>   			if (internals->rss_key_len > rss_conf->rss_key_len) {
>   				RTE_BOND_LOG(ERR, "Invalid rss key length(%u)",
> 


More information about the dev mailing list