]> git.baikalelectronics.ru Git - kernel.git/commit
i40e: FD filters flush policy changes
authorAnjali Singhai Jain <anjali.singhai@intel.com>
Fri, 27 Feb 2015 09:15:28 +0000 (09:15 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 7 Mar 2015 12:59:46 +0000 (04:59 -0800)
commit5bad2c74f8ac960fb2bed8196c4b5748527e2f2f
treec3be5cfe42d60aa876e0f1bf2af3047ec0e727d1
parentbeb4e46f58ee3abb210c2b29d81eb566d4179ed8
i40e: FD filters flush policy changes

Since GLQF_FDCNT_0 register now has the right offset, use it to simplify our
FD flush flow.
If the filter add error happens to be for SB we just auto disable SB.

If filter error happens to be for ATR, auto disable ATR and mark
the state to FD_FLUSH_REQUESTED. Which gets cleared when flush completes.

If we are entering flush too quickly (< 30 seconds) and we have quite
a few SB rules, its time to disable ATR for good. Since SB + ATR rules
is most likely making the FD table unstable.

ATR can be re-enabled by turning ntuple off (ethtool -K ntuple off)
and will remain off after turning ntuple on till it gets unstable again.

Change-ID: I2154a2e0a5d44851a2f0eb8731e2f1d4a4d1acbc
Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e.h
drivers/net/ethernet/intel/i40e/i40e_main.c
drivers/net/ethernet/intel/i40e/i40e_txrx.c