[dpdk-dev] [PATCH v3 2/6] net/iavf: fix incorrect link status when speed is undefined

Ferruh Yigit ferruh.yigit at intel.com
Mon Sep 7 16:39:35 CEST 2020


On 9/4/2020 8:29 AM, SteveX Yang wrote:
> When PF is put in no-carrier state, iavf VFs will switch to
> "in carrier" state due to a link up + a link speed set to 0
> (default value if no speed detected).
> 
> To be consistent with linux drivers on which PF and VFs are in
> same carrier state, updates a link status of VF only if link is up
> and speed is different from undefined.
> 
> Fixes: 48de41ca11f0 ("net/avf: enable link status update")
> 
> Signed-off-by: SteveX Yang <stevex.yang at intel.com>
> ---
>  drivers/net/iavf/iavf_ethdev.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
> index f9dd5710c..ae508f2f0 100644
> --- a/drivers/net/iavf/iavf_ethdev.c
> +++ b/drivers/net/iavf/iavf_ethdev.c
> @@ -620,8 +620,9 @@ iavf_dev_link_update(struct rte_eth_dev *dev,
>  	}
>  
>  	new_link.link_duplex = ETH_LINK_FULL_DUPLEX;
> -	new_link.link_status = vf->link_up ? ETH_LINK_UP :
> -					     ETH_LINK_DOWN;
> +	new_link.link_status = (vf->link_up &&
> +				new_link.link_speed != ETH_SPEED_NUM_NONE)
> +				? ETH_LINK_UP : ETH_LINK_DOWN;
>  	new_link.link_autoneg = !(dev->data->dev_conf.link_speeds &
>  				ETH_LINK_SPEED_FIXED);
>  
> 

Hi Steve,

There is a new 'ETH_SPEED_NUM_UNKNOWN' macro, and can you please check how it is
used for 'i40e' [1], can same done here?


[1]
https://git.dpdk.org/next/dpdk-next-net/commit/?id=bd1868e46d1b


More information about the dev mailing list