• Brett Creeley's avatar
    ice: Refactor VF VSI release and setup functions · 3726cce2
    Brett Creeley authored
    Currently when a VF VSI calls ice_vsi_release() and ice_vsi_setup() it
    subsequently clears/sets the VF cached variables for lan_vsi_idx and
    lan_vsi_num. This works fine, but can be improved by handling this in
    the VF specific VSI release and setup functions.
    
    Also, when a VF VSI is setup too many parameters are passed that can be
    derived from the VF. Fix this by only calling VF VSI setup with the bare
    minimum parameters.
    
    Also, add functionality to invalidate a VF's VSI when it's released
    and/or setup fails. This will make it so a VF VSI cannot be accessed via
    its cached vsi_idx/vsi_num in these cases.
    
    Finally when a VF's VSI is invalidated set the lan_vsi_idx and
    lan_vsi_num to ICE_NO_VSI to clearly show that there is no valid VSI
    associated with this VF.
    Signed-off-by: default avatarBrett Creeley <brett.creeley@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    3726cce2
ice_virtchnl_pf.c 109 KB