• Jacob Keller's avatar
    i40e: recalculate vsi->active_filters from hash contents · 38326218
    Jacob Keller authored
    Previous code refactors have accidentally caused issues with the
    counting of active_filters. Avoid similar issues in the future by simply
    re-counting the active filters every time after we handle add and delete
    of all the filters. Additionally this allows us to simplify the check
    for when we exit promiscuous mode since we can combine the check for
    failed filters at the same time.
    
    Additionally since we recount filters at the end we need to set
    vsi->promisc_threshold as well.
    
    The resulting code takes a bit longer since we do have to loop over
    filters again. However, the result is more readable and less likely to
    become incorrect due to failed accounting of filters in the future.
    Finally, this ensures that it is not possible for vsi->active_filters to
    ever underflow since we never decrement it.
    
    Change-ID: Ib4f3a377e60eb1fa6c91ea86cc02238c08edd102
    Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    38326218
i40e_main.c 324 KB