• Filip Sadowski's avatar
    i40e: Properly maintain flow director filters list · 013df598
    Filip Sadowski authored
    When there is no space for more flow director filters and user requested to
    add a new one it is rejected by firmware and automatically removed from the
    filter list maintained by driver. This behaviour is correct. Afterwards
    existing filter can be removed making free slot for the new one. This
    however causes the newly added filter to be accepted by firmware but
    removed from driver filter list resulting in not showing after issuing
    'ethtool -n <dev_name>'.
    
    This happened due to not clearing the variable pf->fd_inv which stores
    filter number to be removed from the list when firmware refused to add the
    requested filter. It caused the filter with this specific ID to be
    constantly removed once it was added to the list although it has been
    accepted by firmware and effectively applied to the NIC.
    It was fixed by clearing pf->fd_inv variable after removal of the filter
    from the list when it was rejected by firmware.
    Signed-off-by: default avatarFilip Sadowski <filip.sadowski@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    013df598
i40e_main.c 340 KB