From: Paolo Abeni <pabeni@redhat.com>
To: netdev@vger.kernel.org
Cc: Jakub Kicinski <kuba@kernel.org>, Jiri Pirko <jiri@resnulli.us>,
Madhu Chittim <madhu.chittim@intel.com>,
Sridhar Samudrala <sridhar.samudrala@intel.com>,
Simon Horman <horms@kernel.org>,
John Fastabend <john.fastabend@gmail.com>,
Sunil Kovvuri Goutham <sgoutham@marvell.com>,
Jamal Hadi Salim <jhs@mojatatu.com>
Subject: [PATCH net-next 0/5] net: introduce TX shaping H/W offload API
Date: Thu, 27 Jun 2024 22:17:17 +0200 [thread overview]
Message-ID: <cover.1719518113.git.pabeni@redhat.com> (raw)
We have a plurality of shaping-related drivers API, but none flexible
enough to meet existing demand from vendors[1].
This series introduces new device APIs to configure in a flexible way
TX shaping H/W offload. The new functionalities are exposed via a newly
defined generic netlink interface and include introspection
capabilities. Some basic self-tests are included, on top of a dummy
netdevsim implementation.
The ice driver support is currently a WIP, sharing the current status
earlier since some APIs details are still under discussion.
RFC: https://lore.kernel.org/netdev/3d1e2d945904a0fb55258559eb7322d7e11066b6.1715199358.git.pabeni@redhat.com/
[1] https://lore.kernel.org/netdev/20240405102313.GA310894@kernel.org/
Paolo Abeni (5):
netlink: spec: add shaper YAML spec
net: introduce HW Rate limiting driver API
netlink: spec: add shaper introspection support
net: shaper: implement introspection support
testing: net-drv: add basic shaper test
Documentation/netlink/specs/shaper.yaml | 276 +++++++
drivers/net/Kconfig | 1 +
drivers/net/netdevsim/netdev.c | 29 +
include/linux/netdevice.h | 16 +
include/net/net_shaper.h | 208 ++++++
include/uapi/linux/net_shaper.h | 90 +++
net/Kconfig | 3 +
net/Makefile | 1 +
net/core/dev.c | 2 +
net/core/dev.h | 6 +
net/shaper/Makefile | 9 +
net/shaper/shaper.c | 686 ++++++++++++++++++
net/shaper/shaper_nl_gen.c | 118 +++
net/shaper/shaper_nl_gen.h | 28 +
tools/testing/selftests/drivers/net/Makefile | 1 +
tools/testing/selftests/drivers/net/shaper.py | 198 +++++
.../testing/selftests/net/lib/py/__init__.py | 1 +
tools/testing/selftests/net/lib/py/ynl.py | 5 +
18 files changed, 1678 insertions(+)
create mode 100644 Documentation/netlink/specs/shaper.yaml
create mode 100644 include/net/net_shaper.h
create mode 100644 include/uapi/linux/net_shaper.h
create mode 100644 net/shaper/Makefile
create mode 100644 net/shaper/shaper.c
create mode 100644 net/shaper/shaper_nl_gen.c
create mode 100644 net/shaper/shaper_nl_gen.h
create mode 100755 tools/testing/selftests/drivers/net/shaper.py
--
2.45.1
next reply other threads:[~2024-06-27 20:17 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-27 20:17 Paolo Abeni [this message]
2024-06-27 20:17 ` [PATCH net-next 1/5] netlink: spec: add shaper YAML spec Paolo Abeni
2024-06-29 2:12 ` Jakub Kicinski
2024-07-01 10:14 ` Paolo Abeni
2024-07-02 2:54 ` Jakub Kicinski
2024-07-02 14:21 ` Paolo Abeni
2024-07-02 15:04 ` Jakub Kicinski
[not found] ` <CAF6piCLnrDWo70ZgXLtdmRkr+w5TMtuXPMW9=JKSSN2fvw1HMA@mail.gmail.com>
2024-07-02 19:51 ` Fwd: " Paolo Abeni
[not found] ` <20240702140830.2890f77b@kernel.org>
2024-07-03 14:53 ` Paolo Abeni
2024-07-03 21:20 ` Jakub Kicinski
2024-07-08 19:42 ` Paolo Abeni
2024-07-09 2:54 ` Jakub Kicinski
2024-07-01 14:50 ` Paolo Abeni
2024-07-01 15:50 ` Paolo Abeni
2024-07-02 0:37 ` Jakub Kicinski
2024-06-27 20:17 ` [PATCH net-next 2/5] net: introduce HW Rate limiting driver API Paolo Abeni
2024-06-27 20:17 ` [PATCH net-next 3/5] netlink: spec: add shaper introspection support Paolo Abeni
2024-06-27 20:17 ` [PATCH net-next 4/5] net: shaper: implement " Paolo Abeni
2024-06-27 20:17 ` [PATCH net-next 5/5] testing: net-drv: add basic shaper test Paolo Abeni
2024-06-29 2:03 ` [PATCH net-next 0/5] net: introduce TX shaping H/W offload API Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1719518113.git.pabeni@redhat.com \
--to=pabeni@redhat.com \
--cc=horms@kernel.org \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=john.fastabend@gmail.com \
--cc=kuba@kernel.org \
--cc=madhu.chittim@intel.com \
--cc=netdev@vger.kernel.org \
--cc=sgoutham@marvell.com \
--cc=sridhar.samudrala@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.