[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210615125444.31538-1-vadym.kochan@plvision.eu>
Date: Tue, 15 Jun 2021 15:54:42 +0300
From: Vadym Kochan <vadym.kochan@...ision.eu>
To: "David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, netdev@...r.kernel.org,
Andrew Lunn <andrew@...n.ch>,
Vladimir Oltean <olteanv@...il.com>
Cc: Vadym Kochan <vadym.kochan@...ision.eu>,
Taras Chornyi <tchornyi@...vell.com>,
linux-kernel@...r.kernel.org,
Mickey Rachamim <mickeyr@...vell.com>,
Vadym Kochan <vkochan@...vell.com>
Subject: [PATCH net-next 0/2] Marvell Prestera add flower and match all support
From: Vadym Kochan <vkochan@...vell.com>
Add ACL infrastructure for Prestera Switch ASICs family devices to
offload cls_flower rules to be processed in the HW.
ACL implementation is based on tc filter api. The flower classifier
is supported to configure ACL rules/matches/action.
Supported actions:
- drop
- trap
- pass
Supported dissector keys:
- indev
- src_mac
- dst_mac
- src_ip
- dst_ip
- ip_proto
- src_port
- dst_port
- vlan_id
- vlan_ethtype
- icmp type/code
- Introduce matchall filter support
- Add SPAN API to configure port mirroring.
- Add tc mirror action.
At this moment, only mirror (egress) action is supported.
Example:
tc filter ... action mirred egress mirror dev DEV
Serhiy Boiko (2):
net: marvell: Implement TC flower offload
net: marvell: prestera: Add matchall support
.../net/ethernet/marvell/prestera/Makefile | 3 +-
.../net/ethernet/marvell/prestera/prestera.h | 7 +
.../ethernet/marvell/prestera/prestera_acl.c | 400 ++++++++++++++++++
.../ethernet/marvell/prestera/prestera_acl.h | 130 ++++++
.../ethernet/marvell/prestera/prestera_flow.c | 215 ++++++++++
.../ethernet/marvell/prestera/prestera_flow.h | 14 +
.../marvell/prestera/prestera_flower.c | 359 ++++++++++++++++
.../marvell/prestera/prestera_flower.h | 18 +
.../ethernet/marvell/prestera/prestera_hw.c | 361 ++++++++++++++++
.../ethernet/marvell/prestera/prestera_hw.h | 23 +
.../ethernet/marvell/prestera/prestera_main.c | 98 ++++-
.../ethernet/marvell/prestera/prestera_span.c | 245 +++++++++++
.../ethernet/marvell/prestera/prestera_span.h | 20 +
13 files changed, 1891 insertions(+), 2 deletions(-)
create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_acl.c
create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_acl.h
create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_flow.c
create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_flow.h
create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_flower.c
create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_flower.h
create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_span.c
create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_span.h
--
2.17.1
Powered by blists - more mailing lists