[dpdk-dev] [PATCH v2] net/bonding: fix update link status on slave add

Ferruh Yigit ferruh.yigit at intel.com
Thu May 31 17:34:38 CEST 2018


On 5/31/2018 3:34 PM, Radu Nicolau wrote:

I can see you just prefix "fix" to the title without updating it :)

What about following one:
"net/bonding: fix slave add for mode 4" ?

> Add a call to rte_eth_link_get_nowait on every slave to update
> the internal link status struct. Otherwise slave add will fail
> for mode 4 if the ports are all stopped but only one of them checked.

What is the link related expectation from slaves in mode 4?

What does "if the ports are all stopped but only one of them checked" mean, why
checking only one of them?

> 
> Fixes: b77d21cc2364 ("ethdev: add link status get/set helper functions")
> Bugzilla entry: https://dpdk.org/tracker/show_bug.cgi?id=52
> 
> Signed-off-by: Radu Nicolau <radu.nicolau at intel.com>
> ---
> v2: add fix and Bugzilla references
> 
>  drivers/net/bonding/rte_eth_bond_api.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
> index d558df8..cad08b9 100644
> --- a/drivers/net/bonding/rte_eth_bond_api.c
> +++ b/drivers/net/bonding/rte_eth_bond_api.c
> @@ -296,6 +296,8 @@ __eth_bond_slave_add_lock_free(uint16_t bonded_port_id, uint16_t slave_port_id)
>  		return -1;
>  	}
>  
> +	rte_eth_link_get_nowait(slave_port_id, &link_props);
> +

The error seems in link_properties_valid(), does it make sense to get link info
inside that function before link checks?

>  	slave_add(internals, slave_eth_dev);
>  
>  	/* We need to store slaves reta_size to be able to synchronize RETA for all
> 



More information about the dev mailing list