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