[Intel-wired-lan] [PATCH v3 07/15] ice: Refactor VSI allocation, deletion and rebuild flow
Brelinski, TonyX
tonyx.brelinski at intel.com
Tue Aug 21 21:14:09 UTC 2018
> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> Behalf Of Anirudh Venkataramanan
> Sent: Thursday, August 9, 2018 6:30 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [PATCH v3 07/15] ice: Refactor VSI allocation,
> deletion and rebuild flow
>
> This patch refactors aspects of the VSI allocation, deletion and rebuild flow.
> Some of the more noteworthy changes are described below.
>
> 1) On reset, all switch filters applied in the hardware are lost. In
> the rebuild flow, only MAC and broadcast filters are being restored.
> Instead, use a new function ice_replay_all_fltr to restore all the
> filters that were previously added. To do this, remove calls to
> ice_remove_vsi_fltr to prevent cleaning out the internal bookkeeping
> structures that ice_replay_all_fltr uses to replay filters.
>
> 2) Introduce a new state bit __ICE_PREPARED_FOR_RESET to distinguish the
> PF that requested the reset (and consequently prepared for it) from
> the rest of the PFs. These other PFs will prepare for reset only
> when they receive an interrupt from the firmware.
>
> 3) Use new functions ice_add_vsi and ice_free_vsi to create and destroy
> VSIs respectively. These functions accept a handle to uniquely
> identify a VSI. This same handle is required to rebuild the VSI post
> reset. To prevent confusion, the existing ice_vsi_add was renamed to
> ice_vsi_init.
>
> 4) Enhance ice_vsi_setup for the upcoming SR-IOV changes and expose a
> new wrapper function ice_pf_vsi_setup to create PF VSIs. Rework the
> error handling path in ice_setup_pf_sw.
>
> 5) Introduce a new function ice_vsi_release_all to release all PF VSIs.
>
> Signed-off-by: Anirudh Venkataramanan
> <anirudh.venkataramanan at intel.com>
> ---
> drivers/net/ethernet/intel/ice/ice.h | 2 +
> .../net/ethernet/intel/ice/ice_adminq_cmd.h | 1 +
> drivers/net/ethernet/intel/ice/ice_common.c | 2 +
> drivers/net/ethernet/intel/ice/ice_main.c | 371 +++++++++++-------
> drivers/net/ethernet/intel/ice/ice_switch.c | 353 +++++++++++++++--
> drivers/net/ethernet/intel/ice/ice_switch.h | 14 +-
> drivers/net/ethernet/intel/ice/ice_type.h | 8 +-
> 7 files changed, 580 insertions(+), 171 deletions(-)
Tested-by: Tony Brelinski <tonyx.brelinski at intel.com>
More information about the Intel-wired-lan
mailing list