netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/5] net: introduce TX shaping H/W offload API
@ 2024-06-27 20:17 Paolo Abeni
  2024-06-27 20:17 ` [PATCH net-next 1/5] netlink: spec: add shaper YAML spec Paolo Abeni
                   ` (5 more replies)
  0 siblings, 6 replies; 20+ messages in thread
From: Paolo Abeni @ 2024-06-27 20:17 UTC (permalink / raw)
  To: netdev
  Cc: Jakub Kicinski, Jiri Pirko, Madhu Chittim, Sridhar Samudrala,
	Simon Horman, John Fastabend, Sunil Kovvuri Goutham,
	Jamal Hadi Salim

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


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2024-07-09  2:54 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-27 20:17 [PATCH net-next 0/5] net: introduce TX shaping H/W offload API Paolo Abeni
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).