Back to Linux

netdevsim devlink support

Documentation/networking/devlink/netdevsim.rst

latest2.7 KB
Original Source

.. 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 their 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 identifier (FID) based on the ingress port and VLAN. This trap is used to trap packets for which a FID could not be found