[dpdk-dev] [PATCH] net/bonding: stop and deactivate slaves when bonding port is stopped

Doherty, Declan declan.doherty at intel.com
Thu Aug 2 15:38:45 CEST 2018


On 01/08/2018 2:18 PM, Radu Nicolau wrote:
> When a bonding port is stopped also stop and deactivate all slaves.
> Otherwise slaves will be still listed as active.
> 
> Fixes: 69bce062132b ("net/bonding: do not clear active slave count")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Radu Nicolau <radu.nicolau at intel.com>
> ---
>   drivers/net/bonding/rte_eth_bond_pmd.c | 11 +++++++----
>   1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
> index 16105cb..960140c 100644
> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
> @@ -2229,12 +2229,15 @@ bond_ethdev_stop(struct rte_eth_dev *eth_dev)
>   			tlb_last_obytets[internals->active_slaves[i]] = 0;
>   	}
>   
> -	internals->link_status_polling_enabled = 0;
> -	for (i = 0; i < internals->slave_count; i++)
> -		internals->slaves[i].last_link_status = 0;
> -
>   	eth_dev->data->dev_link.link_status = ETH_LINK_DOWN;
>   	eth_dev->data->dev_started = 0;
> +
> +	internals->link_status_polling_enabled = 0;
> +	for (i = 0; i < internals->slave_count; i++) {
> +		internals->slaves[i].last_link_status = 0;
> +		rte_eth_dev_stop(internals->slaves[i].port_id);
> +		deactivate_slave(eth_dev, internals->slaves[i].port_id);
> +	}
>   }
>   
>   void
> 


Acked-by: Declan Doherty <declan.doherty at intel.com>


More information about the dev mailing list