> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-boun...@osuosl.org> On Behalf Of > Buvaneswaran, Sujai > Sent: Monday, January 13, 2025 9:17 AM > To: Marcin Szycik <marcin.szy...@linux.intel.com>; intel-wired- > l...@lists.osuosl.org > Cc: net...@vger.kernel.org; Michal Swiatkowski > <michal.swiatkow...@linux.intel.com> > Subject: Re: [Intel-wired-lan] [PATCH iwl-net] ice: Fix switchdev slow-path > in LAG > > > -----Original Message----- > > From: Intel-wired-lan <intel-wired-lan-boun...@osuosl.org> On Behalf > > Of Marcin Szycik > > Sent: Friday, January 3, 2025 12:38 AM > > To: intel-wired-...@lists.osuosl.org > > Cc: net...@vger.kernel.org; Marcin Szycik > > <marcin.szy...@linux.intel.com>; Michal Swiatkowski > > <michal.swiatkow...@linux.intel.com> > > Subject: [Intel-wired-lan] [PATCH iwl-net] ice: Fix switchdev > > slow-path in LAG > > > > Ever since removing switchdev control VSI and using PF for port > > representor Tx/Rx, switchdev slow-path has been working improperly > > after failover in SR- IOV LAG. LAG assumes that the first uplink to be > > added to the aggregate will own VFs and have switchdev configured. > > After failing-over to the other uplink, representors are still > > configured to Tx through the uplink they are set up on, which fails because > > that > uplink is now down. > > > > On failover, update all PRs on primary uplink to use the currently > > active uplink for Tx. Call netif_keep_dst(), as the secondary uplink > > might not be in switchdev mode. Also make sure to call > > ice_eswitch_set_target_vsi() if uplink is in LAG. > > > > On the Rx path, representors are already working properly, because > > default Tx from VFs is set to PF owning the eswitch. After failover > > the same PF is receiving traffic from VFs, even though link is down. > > > > Fixes: defd52455aee ("ice: do Tx through PF netdev in slow-path") > > Reviewed-by: Michal Swiatkowski <michal.swiatkow...@linux.intel.com> > > Signed-off-by: Marcin Szycik <marcin.szy...@linux.intel.com> > > --- > > drivers/net/ethernet/intel/ice/ice_lag.c | 27 > > +++++++++++++++++++++++ drivers/net/ethernet/intel/ice/ice_txrx.c | 4 > > +++- > > 2 files changed, 30 insertions(+), 1 deletion(-) > >
Tested-by: Rafal Romanowski <rafal.romanow...@intel.com>