[Intel-wired-lan] [PATCH iwl-net] ice: Fix VF Reset paths when interface in a failed over aggregate

Buvaneswaran, Sujai sujai.buvaneswaran at intel.com
Wed Nov 15 06:43:55 UTC 2023


> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf Of
> Dave Ertman
> Sent: Tuesday, November 7, 2023 11:08 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [PATCH iwl-net] ice: Fix VF Reset paths when
> interface in a failed over aggregate
> 
> There is an error when an interface has the following conditions:
> - PF is in an aggregate (bond)
> - PF has VFs created on it
> - bond is in a state where it is failed-over to the secondary interface
> - A VF reset is issued on one or more of those VFs
> 
> The issue is generated by the originating PF trying to rebuild or reconfigure
> the VF resources.  Since the bond is failed over to the secondary interface the
> queue contexts are in a modified state.
> 
> To fix this issue, have the originating interface reclaim its resources prior to
> the tear-down and rebuild or reconfigure.  Then after the process is
> complete, move the resources back to the currently active interface.
> 
> There are multiple paths that can be used depending on what triggered the
> event, so create a helper function to move the queues and use paired calls to
> the helper (back to origin, process, then move back to active interface) under
> the same lag_mutex lock.
> 
> Fixes: 1e0f9881ef79 ("ice: Flesh out implementation of support for SRIOV on
> bonded interface")
> Signed-off-by: Dave Ertman <david.m.ertman at intel.com>
> ---
>  drivers/net/ethernet/intel/ice/ice_lag.c      | 42 +++++++++++++++++++
>  drivers/net/ethernet/intel/ice/ice_lag.h      |  1 +
>  drivers/net/ethernet/intel/ice/ice_vf_lib.c   | 20 +++++++++
>  drivers/net/ethernet/intel/ice/ice_virtchnl.c | 25 +++++++++++
>  4 files changed, 88 insertions(+)
> 
Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran at intel.com>


More information about the Intel-wired-lan mailing list