• Alan Brady's avatar
    i40evf: fix mac filter removal timing issue · c766b9af
    Alan Brady authored
    Due to the asynchronous nature in which mac filters are added and
    deleted, there exists a bug in which filters are erroneously removed if
    removed then added again quickly.
    
    The events are as such:
        - filter marked for removal
        - same filter is re-added before watchdog that cleans up filters
        - we skip re-adding the filter because we have it already in the
    list
        - watchdog filter cleanup kicks off and filter is removed
    
    So when we were re-adding the same filter, it didn't actually get added
    because it already existed in the list, but was marked for removal and
    had yet to actually be removed.
    
    This patch fixes the issue by making sure that when adding a filter, if
    we find it already existing in our list, make sure it is not marked to
    be removed.
    Signed-off-by: default avatarAlan Brady <alan.brady@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    c766b9af
i40evf_main.c 86.6 KB