From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Russkikh Subject: [PATCH net-next 0/6] net: aquantia: add rx-flow filter support Date: Mon, 12 Nov 2018 15:02:55 +0000 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: "netdev@vger.kernel.org" , Igor Russkikh To: "David S . Miller" Return-path: Received: from mail-eopbgr680054.outbound.protection.outlook.com ([40.107.68.54]:53208 "EHLO NAM04-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726443AbeKMA4i (ORCPT ); Mon, 12 Nov 2018 19:56:38 -0500 Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: 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 | 58 +- 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, 1533 insertions(+), 37 deletions(-) create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_filters.c create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_filters.h --=20 2.7.4