1 .. SPDX-License-Identifier: GPL-2.0 2 3 ========================= 4 netdevsim devlink support 5 ========================= 6 7 This document describes the ``devlink`` features supported by the 8 ``netdevsim`` device driver. 9 10 Parameters 11 ========== 12 13 .. list-table:: Generic parameters implemented 14 15 * - Name 16 - Mode 17 * - ``max_macs`` 18 - driverinit 19 20 The ``netdevsim`` driver also implements the following driver-specific 21 parameters. 22 23 .. list-table:: Driver-specific parameters implemented 24 :widths: 5 5 5 85 25 26 * - Name 27 - Type 28 - Mode 29 - Description 30 * - ``test1`` 31 - Boolean 32 - driverinit 33 - Test parameter used to show how a driver-specific devlink parameter 34 can be implemented. 35 36 The ``netdevsim`` driver supports reloading via ``DEVLINK_CMD_RELOAD`` 37 38 Regions 39 ======= 40 41 The ``netdevsim`` driver exposes a ``dummy`` region as an example of how the 42 devlink-region interfaces work. A snapshot is taken whenever the 43 ``take_snapshot`` debugfs file is written to. 44 45 Resources 46 ========= 47 48 The ``netdevsim`` driver exposes resources to control the number of FIB 49 entries, FIB rule entries and nexthops that the driver will allow. 50 51 .. code:: shell 52 53 $ devlink resource set netdevsim/netdevsim0 path /IPv4/fib size 96 54 $ devlink resource set netdevsim/netdevsim0 path /IPv4/fib-rules size 16 55 $ devlink resource set netdevsim/netdevsim0 path /IPv6/fib size 64 56 $ devlink resource set netdevsim/netdevsim0 path /IPv6/fib-rules size 16 57 $ devlink resource set netdevsim/netdevsim0 path /nexthops size 16 58 $ devlink dev reload netdevsim/netdevsim0 59 60 Rate objects 61 ============ 62 63 The ``netdevsim`` driver supports rate objects management, which includes: 64 65 - registerging/unregistering leaf rate objects per VF devlink port; 66 - creation/deletion node rate objects; 67 - setting tx_share and tx_max rate values for any rate object type; 68 - setting parent node for any rate object type. 69 70 Rate nodes and their parameters are exposed in ``netdevsim`` debugfs in RO mode. 71 For example created rate node with name ``some_group``: 72 73 .. code:: shell 74 75 $ ls /sys/kernel/debug/netdevsim/netdevsim0/rate_groups/some_group 76 rate_parent tx_max tx_share 77 78 Same parameters are exposed for leaf objects in corresponding ports directories. 79 For ex.: 80 81 .. code:: shell 82 83 $ ls /sys/kernel/debug/netdevsim/netdevsim0/ports/1 84 dev ethtool rate_parent tx_max tx_share 85 86 Driver-specific Traps 87 ===================== 88 89 .. list-table:: List of Driver-specific Traps Registered by ``netdevsim`` 90 :widths: 5 5 90 91 92 * - Name 93 - Type 94 - Description 95 * - ``fid_miss`` 96 - ``exception`` 97 - When a packet enters the device it is classified to a filtering 98 identifier (FID) based on the ingress port and VLAN. This trap is used 99 to trap packets for which a FID could not be found
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.