On 07/12/2024 4:13, Jakub Kicinski wrote:
On Thu, 5 Dec 2024 00:09:20 +0200 Tariq Toukan wrote:
This patch series extends the devlink-rate API to support traffic class
(TC) bandwidth management, enabling more granular control over traffic
shaping and rate limiting across multiple TCs. The API now allows users
to specify bandwidth proportions for different traffic classes in a
single command. This is particularly useful for managing Enhanced
Transmission Selection (ETS) for groups of Virtual Functions (VFs),
allowing precise bandwidth allocation across traffic classes.
Additionally the series refines the QoS handling in net/mlx5 to support
TC arbitration and bandwidth management on vports and rate nodes.
Extend devlink-rate API to support rate management on TCs:
- devlink: Extend the devlink rate API to support traffic class
bandwidth management
Introduce a no-op implementation:
- net/mlx5: Add no-op implementation for setting tc-bw on rate objects
Add support for enabling and disabling TC QoS on vports and nodes:
- net/mlx5: Add support for setting tc-bw on nodes
- net/mlx5: Add traffic class scheduling support for vport QoS
Support for setting tc-bw on rate objects:
- net/mlx5: Manage TC arbiter nodes and implement full support for
tc-bw
Do you expect TC bw allocation to work on non-leaf nodes?
Yes. That's the point. It works.
How does this relate to the rate API which Paolo added? He was asked
to build in a way to integrate with devlink now devlink is growing
extra features again, which presumably the other API will also need.
And the integration may turn out to be challenging.
AFAIU Paolo's work is not for shapers 'above' the network device level,
i.e. groups.