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.y...@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