Skip to content
  • Alexander Duyck's avatar
    ixgbe: Fix handling of FDIR_HASH flag · 39cb681b
    Alexander Duyck authored
    
    
    This change makes it so that we can use the atr_sample_rate to determine if
    we are capable of supporting ATR. The advantage to this approach is that it
    allows us to now determine the setting of the IXGBE_FLAG_FDIR_HASH_CAPABLE
    based on the queueing scheme, instead of the queueing scheme being based on
    the flag.
    
    Using this approach there are essentially 5 conditions that must be checked
    prior to trying to enable ATR:
    1.  Is SR-IOV disabled?
    2.  Are the number of TCs <= 1?
    3.  Is RSS queueing limit greater than 1?
    4.  Is atr_sample_rate set?
    5.  Is Flow Director perfect filtering disabled?
    
    If any of these conditions are enabled they should disable ATR filtering.
    Note that in the case of conditions 1 through 4 being met we will set
    things up for ATR queueing, however if test 5 fails we will still leave the
    queues allocated for use by perfect filters.  The reason for this is to
    allow for us to switch back and forth between ntuple and ATR without
    needing to reallocate the descriptor rings.
    
    Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
    Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    39cb681b