RE: [Intel-wired-lan] [PATCH iwl-net] ice: do not configure destination override for switchdev

From: Buvaneswaran, Sujai
Date: Tue Feb 25 2025 - 01:22:52 EST


> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf Of
> Larysa Zaremba
> Sent: Monday, December 9, 2024 7:39 PM
> To: Nguyen, Anthony L <anthony.l.nguyen@xxxxxxxxx>; intel-wired-
> lan@xxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Cc: Zaremba, Larysa <larysa.zaremba@xxxxxxxxx>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@xxxxxxxxx>; Andrew Lunn <andrew+netdev@xxxxxxx>;
> Eric Dumazet <edumazet@xxxxxxxxxx>; Michal Swiatkowski
> <michal.swiatkowski@xxxxxxxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>;
> Paolo Abeni <pabeni@xxxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>
> Subject: [Intel-wired-lan] [PATCH iwl-net] ice: do not configure destination
> override for switchdev
>
> After switchdev is enabled and disabled later, LLDP packets sending stops,
> despite working perfectly fine before and during switchdev state.
> To reproduce (creating/destroying VF is what triggers the reconfiguration):
>
> devlink dev eswitch set pci/<address> mode switchdev echo '2' >
> /sys/class/net/<ifname>/device/sriov_numvfs
> echo '0' > /sys/class/net/<ifname>/device/sriov_numvfs
>
> This happens because LLDP relies on the destination override functionality.
> It needs to 1) set a flag in the descriptor, 2) set the VSI permission to make it
> valid. The permissions are set when the PF VSI is first configured, but
> switchdev then enables it for the uplink VSI (which is always the PF) once
> more when configured and disables when deconfigured, which leads to
> software-generated LLDP packets being blocked.
>
> Do not modify the destination override permissions when configuring
> switchdev, as the enabled state is the default configuration that is never
> modified.
>
> Fixes: 1a1c40df2e80 ("ice: set and release switchdev environment")
> Reviewed-by: Michal Swiatkowski <michal.swiatkowski@xxxxxxxxxxxxxxx>
> Signed-off-by: Larysa Zaremba <larysa.zaremba@xxxxxxxxx>
> ---
> drivers/net/ethernet/intel/ice/ice_eswitch.c | 6 ------
> drivers/net/ethernet/intel/ice/ice_lib.c | 18 ------------------
> drivers/net/ethernet/intel/ice/ice_lib.h | 4 ----
> 3 files changed, 28 deletions(-)
>
Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@xxxxxxxxx>