mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 00:21:17 +00:00
Documentation: devlink rate objects
Add devlink rate objects section at devlink port documentation. Add devlink rate support info at netdevsim devlink documentation. Signed-off-by: Dmytro Linkin <dlinkin@nvidia.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1a9c0482f5
commit
b62767e7ba
2 changed files with 61 additions and 0 deletions
|
@ -164,6 +164,41 @@ device to instantiate the subfunction device on particular PCI function.
|
||||||
A subfunction device is created on the :ref:`Documentation/driver-api/auxiliary_bus.rst <auxiliary_bus>`.
|
A subfunction device is created on the :ref:`Documentation/driver-api/auxiliary_bus.rst <auxiliary_bus>`.
|
||||||
At this point a matching subfunction driver binds to the subfunction's auxiliary device.
|
At this point a matching subfunction driver binds to the subfunction's auxiliary device.
|
||||||
|
|
||||||
|
Rate object management
|
||||||
|
======================
|
||||||
|
|
||||||
|
Devlink provides API to manage tx rates of single devlink port or a group.
|
||||||
|
This is done through rate objects, which can be one of the two types:
|
||||||
|
|
||||||
|
``leaf``
|
||||||
|
Represents a single devlink port; created/destroyed by the driver. Since leaf
|
||||||
|
have 1to1 mapping to its devlink port, in user space it is referred as
|
||||||
|
``pci/<bus_addr>/<port_index>``;
|
||||||
|
|
||||||
|
``node``
|
||||||
|
Represents a group of rate objects (leafs and/or nodes); created/deleted by
|
||||||
|
request from the userspace; initially empty (no rate objects added). In
|
||||||
|
userspace it is referred as ``pci/<bus_addr>/<node_name>``, where
|
||||||
|
``node_name`` can be any identifier, except decimal number, to avoid
|
||||||
|
collisions with leafs.
|
||||||
|
|
||||||
|
API allows to configure following rate object's parameters:
|
||||||
|
|
||||||
|
``tx_share``
|
||||||
|
Minimum TX rate value shared among all other rate objects, or rate objects
|
||||||
|
that parts of the parent group, if it is a part of the same group.
|
||||||
|
|
||||||
|
``tx_max``
|
||||||
|
Maximum TX rate value.
|
||||||
|
|
||||||
|
``parent``
|
||||||
|
Parent node name. Parent node rate limits are considered as additional limits
|
||||||
|
to all node children limits. ``tx_max`` is an upper limit for children.
|
||||||
|
``tx_share`` is a total bandwidth distributed among children.
|
||||||
|
|
||||||
|
Driver implementations are allowed to support both or either rate object types
|
||||||
|
and setting methods of their parameters.
|
||||||
|
|
||||||
Terms and Definitions
|
Terms and Definitions
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,32 @@ entries, FIB rule entries and nexthops that the driver will allow.
|
||||||
$ devlink resource set netdevsim/netdevsim0 path /nexthops size 16
|
$ devlink resource set netdevsim/netdevsim0 path /nexthops size 16
|
||||||
$ devlink dev reload netdevsim/netdevsim0
|
$ devlink dev reload netdevsim/netdevsim0
|
||||||
|
|
||||||
|
Rate objects
|
||||||
|
============
|
||||||
|
|
||||||
|
The ``netdevsim`` driver supports rate objects management, which includes:
|
||||||
|
|
||||||
|
- registerging/unregistering leaf rate objects per VF devlink port;
|
||||||
|
- creation/deletion node rate objects;
|
||||||
|
- setting tx_share and tx_max rate values for any rate object type;
|
||||||
|
- setting parent node for any rate object type.
|
||||||
|
|
||||||
|
Rate nodes and it's parameters are exposed in ``netdevsim`` debugfs in RO mode.
|
||||||
|
For example created rate node with name ``some_group``:
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
$ ls /sys/kernel/debug/netdevsim/netdevsim0/rate_groups/some_group
|
||||||
|
rate_parent tx_max tx_share
|
||||||
|
|
||||||
|
Same parameters are exposed for leaf objects in corresponding ports directories.
|
||||||
|
For ex.:
|
||||||
|
|
||||||
|
.. code:: shell
|
||||||
|
|
||||||
|
$ ls /sys/kernel/debug/netdevsim/netdevsim0/ports/1
|
||||||
|
dev ethtool rate_parent tx_max tx_share
|
||||||
|
|
||||||
Driver-specific Traps
|
Driver-specific Traps
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue