• Jacob Keller's avatar
    i40e: cleanup ATR auto_disable_flags use · 234dc4e6
    Jacob Keller authored
    Some locations that disable ATR accidentally used the "full" disable by
    disabling the flag in the standard flags field. This incorrectly forces
    ATR off permanently instead of temporarily disabling it. In addition,
    some code locations accidentally set the ATR flag enabled when they only
    meant to clear the auto_disable_flags. This results in ignoring the
    user's ethtool private flag settings.
    
    Additionally, when disabling ATR via ethtool, we did not perform a flush
    of the FD table. This results in the previously assigned ATR rules still
    functioning which was not expected.
    
    Cleanup all these areas so that automatic disable uses only the
    auto_disable_flag. Fix the flush code so that we can trigger a flush
    even when we've disabled ATR and SB support, as otherwise the flush
    doesn't work. Fix ethtool setting to actually request a flush. Fix
    NETIF_F_NTUPLE flag to only clear the auto_disable setting and not
    enable the full feature.
    
    Change-ID: Ib2486111f8031bd16943e9308757b276305c03b5
    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>
    234dc4e6
i40e_ethtool.c 92.1 KB