• Brett Creeley's avatar
    ice: Refactor port vlan configuration for the VF · b093841f
    Brett Creeley authored
    Currently ice_vsi_manage_pvid() calls
    ice_vsi_[set|kill]_pvid_fill_ctxt() when enabling/disabling a port VLAN
    on a VSI respectively. These two functions have some duplication so just
    move their unique pieces inline in ice_vsi_manage_pvid() and then the
    duplicate code can be reused for both the enabling/disabling paths.
    
    Before this patch the info.pvid field was not being written
    correctly via ice_vsi_kill_pvid_fill_ctxt() so it was being hard coded
    to 0 in ice_set_vf_port_vlan(). Fix this by setting the info.pvid field
    to 0 before calling ice_vsi_update() in ice_vsi_manage_pvid().
    
    We currently use vf->port_vlan_id to keep track of the port VLAN
    ID and QoS, which is a bit misleading. Fix this by renaming it to
    vf->port_vlan_info. Also change the name of the argument for
    ice_vsi_manage_pvid() from vid to pvid_info.
    
    In ice_vsi_manage_pvid() only save the fields that were modified
    in the VSI properties structure on success instead of the entire thing.
    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>
    b093841f
ice_virtchnl_pf.c 91.1 KB