104e4272cSJacob Keller.. SPDX-License-Identifier: GPL-2.0 204e4272cSJacob Keller 304e4272cSJacob Keller========================= 404e4272cSJacob Kellernetdevsim devlink support 504e4272cSJacob Keller========================= 604e4272cSJacob Keller 704e4272cSJacob KellerThis document describes the ``devlink`` features supported by the 804e4272cSJacob Keller``netdevsim`` device driver. 904e4272cSJacob Keller 1004e4272cSJacob KellerParameters 1104e4272cSJacob Keller========== 1204e4272cSJacob Keller 1304e4272cSJacob Keller.. list-table:: Generic parameters implemented 1404e4272cSJacob Keller 1504e4272cSJacob Keller * - Name 1604e4272cSJacob Keller - Mode 1704e4272cSJacob Keller * - ``max_macs`` 1804e4272cSJacob Keller - driverinit 1904e4272cSJacob Keller 2004e4272cSJacob KellerThe ``netdevsim`` driver also implements the following driver-specific 2104e4272cSJacob Kellerparameters. 2204e4272cSJacob Keller 2304e4272cSJacob Keller.. list-table:: Driver-specific parameters implemented 2404e4272cSJacob Keller :widths: 5 5 5 85 2504e4272cSJacob Keller 2604e4272cSJacob Keller * - Name 2704e4272cSJacob Keller - Type 2804e4272cSJacob Keller - Mode 2904e4272cSJacob Keller - Description 3004e4272cSJacob Keller * - ``test1`` 3104e4272cSJacob Keller - Boolean 3204e4272cSJacob Keller - driverinit 3304e4272cSJacob Keller - Test parameter used to show how a driver-specific devlink parameter 3404e4272cSJacob Keller can be implemented. 3504e4272cSJacob Keller 3604e4272cSJacob KellerThe ``netdevsim`` driver supports reloading via ``DEVLINK_CMD_RELOAD`` 3704e4272cSJacob Keller 3804e4272cSJacob KellerRegions 3904e4272cSJacob Keller======= 4004e4272cSJacob Keller 4104e4272cSJacob KellerThe ``netdevsim`` driver exposes a ``dummy`` region as an example of how the 4204e4272cSJacob Kellerdevlink-region interfaces work. A snapshot is taken whenever the 4304e4272cSJacob Keller``take_snapshot`` debugfs file is written to. 4404e4272cSJacob Keller 4504e4272cSJacob KellerResources 4604e4272cSJacob Keller========= 4704e4272cSJacob Keller 4804e4272cSJacob KellerThe ``netdevsim`` driver exposes resources to control the number of FIB 4904e4272cSJacob Kellerentries and FIB rule entries that the driver will allow. 5004e4272cSJacob Keller 5104e4272cSJacob Keller.. code:: shell 5204e4272cSJacob Keller 5304e4272cSJacob Keller $ devlink resource set netdevsim/netdevsim0 path /IPv4/fib size 96 5404e4272cSJacob Keller $ devlink resource set netdevsim/netdevsim0 path /IPv4/fib-rules size 16 5504e4272cSJacob Keller $ devlink resource set netdevsim/netdevsim0 path /IPv6/fib size 64 5604e4272cSJacob Keller $ devlink resource set netdevsim/netdevsim0 path /IPv6/fib-rules size 16 5704e4272cSJacob Keller $ devlink dev reload netdevsim/netdevsim0 5804e4272cSJacob Keller 5904e4272cSJacob KellerDriver-specific Traps 6004e4272cSJacob Keller===================== 6104e4272cSJacob Keller 6204e4272cSJacob Keller.. list-table:: List of Driver-specific Traps Registered by ``netdevsim`` 6304e4272cSJacob Keller :widths: 5 5 90 6404e4272cSJacob Keller 6504e4272cSJacob Keller * - Name 6604e4272cSJacob Keller - Type 6704e4272cSJacob Keller - Description 6804e4272cSJacob Keller * - ``fid_miss`` 6904e4272cSJacob Keller - ``exception`` 7004e4272cSJacob Keller - When a packet enters the device it is classified to a filtering 7104e4272cSJacob Keller indentifier (FID) based on the ingress port and VLAN. This trap is used 7204e4272cSJacob Keller to trap packets for which a FID could not be found 73