In this patchset the rx-flow filters functionality and vlan filter offloads
are implemented.

The rules in NIC hardware have fixed order and priorities.
To support this, the locations of filters from ethtool perspective are also 
fixed:

* Locations 0 - 15 for VLAN ID filters
* Locations 16 - 31 for L2 EtherType and PCP filters
* Locations 32 - 39 for L3/L4 5-tuple filters (locations 32, 36 for IPv6)

Dmitry Bogdanov (6):
  net: aquantia: add rx-flow filter definitions
  net: aquantia: add infrastructure for ntuple rules
  net: aquantia: add support of L3/L4 ntuple filters
  net: aquantia: add vlan id to rx flow filters
  net: aquantia: add ethertype and PCP to rx flow filters
  net: aquantia: add support of rx-vlan-filter offload

 drivers/net/ethernet/aquantia/atlantic/Makefile    |   1 +
 drivers/net/ethernet/aquantia/atlantic/aq_common.h |   2 +-
 .../net/ethernet/aquantia/atlantic/aq_ethtool.c    |  31 +
 .../net/ethernet/aquantia/atlantic/aq_filters.c    | 876 +++++++++++++++++++++
 .../net/ethernet/aquantia/atlantic/aq_filters.h    |  36 +
 drivers/net/ethernet/aquantia/atlantic/aq_hw.h     |  29 +
 drivers/net/ethernet/aquantia/atlantic/aq_main.c   |  55 +-
 drivers/net/ethernet/aquantia/atlantic/aq_nic.c    |   2 -
 drivers/net/ethernet/aquantia/atlantic/aq_nic.h    |  21 +-
 .../net/ethernet/aquantia/atlantic/aq_pci_func.c   |   2 +
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c  | 162 +++-
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.c | 109 +++
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.h |  48 ++
 .../aquantia/atlantic/hw_atl/hw_atl_llh_internal.h | 135 +++-
 .../aquantia/atlantic/hw_atl/hw_atl_utils.h        |  58 ++
 15 files changed, 1531 insertions(+), 36 deletions(-)
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_filters.c
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_filters.h

-- 
2.7.4

Reply via email to