• Jacob Keller's avatar
    ice: refactor VSI setup to use parameter structure · 5e509ab2
    Jacob Keller authored
    The ice_vsi_setup function, ice_vsi_alloc, and ice_vsi_cfg functions have
    grown a large number of parameters. These parameters are used to initialize
    a new VSI, as well as re-configure an existing VSI
    
    Any time we want to add a new parameter to this function chain, even if it
    will usually be unset, we have to change many call sites due to changing
    the function signature.
    
    A future change is going to refactor ice_vsi_alloc and ice_vsi_cfg to move
    the VSI configuration and initialization all into ice_vsi_cfg.
    
    Before this, refactor the VSI setup flow to use a new ice_vsi_cfg_params
    structure. This will contain the configuration (mainly pointers) used to
    initialize a VSI.
    
    Pass this from ice_vsi_setup into the related functions such as
    ice_vsi_alloc, ice_vsi_cfg, and ice_vsi_cfg_def.
    
    Introduce a helper, ice_vsi_to_params to convert an existing VSI to the
    parameters used to initialize it. This will aid in the flows where we
    rebuild an existing VSI.
    
    Since we also pass the ICE_VSI_FLAG_INIT to more functions which do not
    need (or cannot yet have) the VSI parameters, lets make this clear by
    renaming the function parameter to vsi_flags and using a u32 instead of a
    signed integer. The name vsi_flags also makes it clear that we may extend
    the flags in the future.
    
    This change will make it easier to refactor the setup flow in the future,
    and will reduce the complexity required to add a new parameter for
    configuration in the future.
    Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
    Tested-by: Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel)
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    5e509ab2
ice_lib.h 5.27 KB