> -----Original Message----- > From: Jeff Daly <je...@silicom-usa.com> > Sent: Thursday, February 24, 2022 23:24 > To: dev@dpdk.org > Cc: sta...@dpdk.org; Stephen Douthit <steph...@silicom-usa.com>; Wang, Haiyue > <haiyue.w...@intel.com> > Subject: [PATCH v3 3/3] net/ixgbe: Fix SFP detection and linking on hotplug > > Currently the ixgbe driver does not ID any SFP except for the first one > plugged in. This can lead to no-link, or incorrect speed conditions. > > For example: > > * If link is initially established with a 1G SFP, and later a 1G/10G > multispeed part is later installed, then the MAC link setup functions are > never called to change from 1000BASE-X to 10GBASE-R mode, and the link > stays running at the slower rate. > > * If link is initially established with a 1G SFP, and later a 10G only > module is later installed, no link is established, since we are still > trasnsmitting in 1000BASE-X mode to a 10GBASE-R only partner. > > Refactor the SFP ID/setup, and link setup code, to more closely match the > flow of the mainline kernel driver which does not have these issues. In > that driver a service task runs periodically to handle these operations > based on bit flags that have been set (usually via interrupt or userspace > request), and then get cleared once the requested subtask has been > completed. > > Fixes: af75078fece ("first public release") > Cc: sta...@dpdk.org > > Signed-off-by: Stephen Douthit <steph...@silicom-usa.com> > Signed-off-by: Jeff Daly <je...@silicom-usa.com> > --- > drivers/net/ixgbe/ixgbe_ethdev.c | 687 +++++++++++++++++++++---------- > drivers/net/ixgbe/ixgbe_ethdev.h | 14 +- > 2 files changed, 486 insertions(+), 215 deletions(-) > > diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c > b/drivers/net/ixgbe/ixgbe_ethdev.c > index e8f07cb405..2150b5ed35 100644 > --- a/drivers/net/ixgbe/ixgbe_ethdev.c > +++ b/drivers/net/ixgbe/ixgbe_ethdev.c > @@ -69,11 +69,11 @@ > > #define IXGBE_LINK_DOWN_CHECK_TIMEOUT 4000 /* ms */ > #define IXGBE_LINK_UP_CHECK_TIMEOUT 1000 /* ms */ > -#define IXGBE_VMDQ_NUM_UC_MAC 4096 /* Maximum nb. of UC MAC addr. */ > +#define IXGBE_VMDQ_NUM_UC_MAC 4096 /* Maximum nb. of UC MAC > addr. */ >
Please drop this kind of indentation change, too many. Then we will be lost in your fix. > /** > * l2 tunnel configuration. > */ > -- > 2.25.1