• Michal Swiatkowski's avatar
    ice: add VF representors one by one · fff292b4
    Michal Swiatkowski authored
    Implement adding representors one by one. Always set switchdev
    environment when first representor is being added and clear environment
    when last one is being removed.
    
    Basic switchdev configuration remains the same. Code related to creating
    and configuring representor was changed.
    
    Instead of setting whole representors in one function handle only one
    representor in setup function. The same with removing representors.
    
    Stop representors when new one is being added or removed. Stop means,
    disabling napi, stopping traffic and removing slow path rule. It is
    needed because ::q_id will change after remapping, so each representor
    will need new rule.
    
    When representor are stopped rebuild control plane VSI with one more or
    one less queue. One more if new representor is being added, one less if
    representor is being removed.
    
    Bridge port is removed during unregister_netdev() call on PR, so there
    is no need to call it from driver side.
    
    After that do remap new queues to correct vector. At the end start all
    representors (napi enable, start queues, add slow path rule).
    Reviewed-by: default avatarPiotr Raczynski <piotr.raczynski@intel.com>
    Reviewed-by: default avatarWojciech Drewek <wojciech.drewek@intel.com>
    Signed-off-by: default avatarMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
    Tested-by: default avatarSujai Buvaneswaran <sujai.buvaneswaran@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    fff292b4
ice_repr.h 981 Bytes