[PATCH net-next v2 0/7] Marvell Prestera driver implementation of devlink functionality.

From: Oleksandr Mazur
Date: Mon Jun 14 2021 - 09:01:43 EST


This patch series implement Prestera Switchdev driver devlink traps,
that are registered within the driver, as well as extend current devlink
functionality by adding new hard drop statistics counter, that could be
retrieved on-demand: the counter shows number of packets that have been
dropped by the underlying device and haven't been passed to the devlink
subsystem.

The core prestera-devlink functionality is implemented in the prestera_devlink.c.

The patch series also extends the existing devlink kernel API:
- devlink: add trap_drop_counter_get callback for driver to register - make it possible
to keep track of how many packets have been dropped (hard) by the switch device, before
the packets even made it to the devlink subsystem (e.g. dropped due to RXDMA buffer
overflow).

The core features that extend current functionality of prestera Switchdev driver:
- add logic for driver traps and drops registration (also traps with DROP action).
- add documentation for prestera driver traps and drops group.


PATCH v2:
1) Rebase whole series on top of latest mater;
2) Remove storm control-related patches, as they're out of devlink
scope;

Oleksandr Mazur (7):
net: core: devlink: add dropped stats traps field
testing: selftests: net: forwarding: add devlink-required
functionality to test (hard) dropped stats field
drivers: net: netdevsim: add devlink trap_drop_counter_get
implementation
testing: selftests: drivers: net: netdevsim: devlink: add test case
for hard drop statistics
net: marvell: prestera: devlink: add traps/groups implementation
net: marvell: prestera: devlink: add traps with DROP action
documentation: networking: devlink: add prestera switched driver
Documentation

Documentation/networking/devlink/prestera.rst | 141 +++++
.../net/ethernet/marvell/prestera/prestera.h | 2 +
.../marvell/prestera/prestera_devlink.c | 530 +++++++++++++++++-
.../marvell/prestera/prestera_devlink.h | 3 +
.../ethernet/marvell/prestera/prestera_dsa.c | 3 +
.../ethernet/marvell/prestera/prestera_dsa.h | 1 +
.../ethernet/marvell/prestera/prestera_hw.c | 35 ++
.../ethernet/marvell/prestera/prestera_hw.h | 11 +
.../ethernet/marvell/prestera/prestera_rxtx.c | 7 +-
drivers/net/netdevsim/dev.c | 22 +
drivers/net/netdevsim/netdevsim.h | 1 +
include/net/devlink.h | 10 +
net/core/devlink.c | 53 +-
.../drivers/net/netdevsim/devlink_trap.sh | 10 +
.../selftests/net/forwarding/devlink_lib.sh | 26 +
15 files changed, 848 insertions(+), 7 deletions(-)
create mode 100644 Documentation/networking/devlink/prestera.rst

--
2.17.1