mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.8 KiB
99 lines
2.8 KiB
.. SPDX-License-Identifier: GPL-2.0 |
|
|
|
========================= |
|
netdevsim devlink support |
|
========================= |
|
|
|
This document describes the ``devlink`` features supported by the |
|
``netdevsim`` device driver. |
|
|
|
Parameters |
|
========== |
|
|
|
.. list-table:: Generic parameters implemented |
|
|
|
* - Name |
|
- Mode |
|
* - ``max_macs`` |
|
- driverinit |
|
|
|
The ``netdevsim`` driver also implements the following driver-specific |
|
parameters. |
|
|
|
.. list-table:: Driver-specific parameters implemented |
|
:widths: 5 5 5 85 |
|
|
|
* - Name |
|
- Type |
|
- Mode |
|
- Description |
|
* - ``test1`` |
|
- Boolean |
|
- driverinit |
|
- Test parameter used to show how a driver-specific devlink parameter |
|
can be implemented. |
|
|
|
The ``netdevsim`` driver supports reloading via ``DEVLINK_CMD_RELOAD`` |
|
|
|
Regions |
|
======= |
|
|
|
The ``netdevsim`` driver exposes a ``dummy`` region as an example of how the |
|
devlink-region interfaces work. A snapshot is taken whenever the |
|
``take_snapshot`` debugfs file is written to. |
|
|
|
Resources |
|
========= |
|
|
|
The ``netdevsim`` driver exposes resources to control the number of FIB |
|
entries, FIB rule entries and nexthops that the driver will allow. |
|
|
|
.. code:: shell |
|
|
|
$ devlink resource set netdevsim/netdevsim0 path /IPv4/fib size 96 |
|
$ devlink resource set netdevsim/netdevsim0 path /IPv4/fib-rules size 16 |
|
$ devlink resource set netdevsim/netdevsim0 path /IPv6/fib size 64 |
|
$ devlink resource set netdevsim/netdevsim0 path /IPv6/fib-rules size 16 |
|
$ devlink resource set netdevsim/netdevsim0 path /nexthops size 16 |
|
$ 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 |
|
===================== |
|
|
|
.. list-table:: List of Driver-specific Traps Registered by ``netdevsim`` |
|
:widths: 5 5 90 |
|
|
|
* - Name |
|
- Type |
|
- Description |
|
* - ``fid_miss`` |
|
- ``exception`` |
|
- When a packet enters the device it is classified to a filtering |
|
indentifier (FID) based on the ingress port and VLAN. This trap is used |
|
to trap packets for which a FID could not be found
|
|
|