Netdev List
 help / color / mirror / Atom feed
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

      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