From: Dave Ertman <david.m.ertman@intel.com>
To: cratiu@nvidia.com
Cc: andrew+netdev@lunn.ch, cjubran@nvidia.com, davem@davemloft.net,
edumazet@google.com, gal@nvidia.com, horms@kernel.org,
jiri@resnulli.us, kuba@kernel.org, leonro@nvidia.com,
netdev@vger.kernel.org, pabeni@redhat.com, saeedm@nvidia.com,
tariqt@nvidia.com
Subject: Re:net-shapers plan
Date: Wed, 13 May 2026 16:53:26 -0400 [thread overview]
Message-ID: <20260513205326.2571971-1-david.m.ertman@intel.com> (raw)
In-Reply-To: <d9831d0c940a7b77419abe7c7330e822bbfd1cfb.camel@nvidia.com>
On 3/6/2025 6:03 AM, Cosmin Ratiu wrote:
> Hello,
>
> This (long) email presents a plan agreed with Simon and Paolo for
> extending net-shapers with use cases currently serviced by devlink-
> rate. The goal is to get net-shapers to feature parity with devlink-
> rate so that the amount of code dedicated to traffic shaping in the
> kernel could eventually be reduced significantly.
>
> This is in response to Jakub's concerns raised in [3] and [4].
>
> Context
> -------
> devlink-rate ([1]) can control traffic shaping for a VF / VF group and
> is currently implemented by the Intel ice and NVIDIA mlx5 drivers. It
> operates either on devlink ports (for VF rates) or on devlink objects
> (for group rates). Rate objects are owned by the devlink object.
>
> net-shapers ([2]) is a recently added API for shaping traffic for a
> netdev tx queue / queue group / entire netdev. It is more granular than
> devlink-rate but cannot currently control shaping for groups of
> netdevs. It operates with netdev handles. Stores the shaping hierarchy
> in the netdevice.
>
> [3] & [4] add support to devlink-rate for traffic-class shaping, which
> is controlling the shaping hierarchy in hardware to control the
> bandwidth allocation different traffic classes get. The question is how
> to represent traffic classes in net-shapers.
[ ... ]
> 3. Extend NODE scope to group multiple netdevs and new DEVLINK binding
> Today, all net-shapers objects are owned by a netdevice. Who should own
> a net shaper that represents a group of netdevices? It needs to be a
> stable object that isn't affected by group membership changes and
> therefore cannot be any netdev from the group. The only sensible option
> would be to pick an object corresponding to the eswitch to own such
> groups, which neatly corresponds to the devlink object today.
Will you be using two sets of _ops structs?
One for the netdev (ndo_shaper_ops) when the scope is meant to target a
VF handling its own sub-tree, and another for devlink
(devlink_ops .rate_*) for when the scope is for the hypervisor managing
its netdevs?
DaveE
prev parent reply other threads:[~2026-05-13 23:53 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-06 14:03 net-shapers plan Cosmin Ratiu
2025-03-11 1:42 ` Samudrala, Sridhar
2025-03-12 11:02 ` Carolina Jubran
2025-03-11 13:38 ` Jiri Pirko
2025-03-26 15:55 ` Cosmin Ratiu
2025-03-28 12:13 ` Jakub Kicinski
2025-04-01 8:35 ` Carolina Jubran
2025-04-01 14:50 ` Jakub Kicinski
2025-04-08 14:43 ` Carolina Jubran
2025-04-09 22:06 ` Jakub Kicinski
2025-04-10 15:23 ` Carolina Jubran
2025-04-10 23:16 ` Jakub Kicinski
2025-04-14 8:27 ` Carolina Jubran
2025-04-14 16:27 ` Jakub Kicinski
2025-04-23 6:50 ` Carolina Jubran
2025-04-30 12:12 ` Carolina Jubran
2026-05-13 20:53 ` Dave Ertman [this message]
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=20260513205326.2571971-1-david.m.ertman@intel.com \
--to=david.m.ertman@intel.com \
--cc=andrew+netdev@lunn.ch \
--cc=cjubran@nvidia.com \
--cc=cratiu@nvidia.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=horms@kernel.org \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=leonro@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=tariqt@nvidia.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox