1*4882a593Smuzhiyun.. SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun========================= 4*4882a593Smuzhiyunnetdevsim devlink support 5*4882a593Smuzhiyun========================= 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunThis document describes the ``devlink`` features supported by the 8*4882a593Smuzhiyun``netdevsim`` device driver. 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunParameters 11*4882a593Smuzhiyun========== 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun.. list-table:: Generic parameters implemented 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun * - Name 16*4882a593Smuzhiyun - Mode 17*4882a593Smuzhiyun * - ``max_macs`` 18*4882a593Smuzhiyun - driverinit 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunThe ``netdevsim`` driver also implements the following driver-specific 21*4882a593Smuzhiyunparameters. 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun.. list-table:: Driver-specific parameters implemented 24*4882a593Smuzhiyun :widths: 5 5 5 85 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun * - Name 27*4882a593Smuzhiyun - Type 28*4882a593Smuzhiyun - Mode 29*4882a593Smuzhiyun - Description 30*4882a593Smuzhiyun * - ``test1`` 31*4882a593Smuzhiyun - Boolean 32*4882a593Smuzhiyun - driverinit 33*4882a593Smuzhiyun - Test parameter used to show how a driver-specific devlink parameter 34*4882a593Smuzhiyun can be implemented. 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunThe ``netdevsim`` driver supports reloading via ``DEVLINK_CMD_RELOAD`` 37*4882a593Smuzhiyun 38*4882a593SmuzhiyunRegions 39*4882a593Smuzhiyun======= 40*4882a593Smuzhiyun 41*4882a593SmuzhiyunThe ``netdevsim`` driver exposes a ``dummy`` region as an example of how the 42*4882a593Smuzhiyundevlink-region interfaces work. A snapshot is taken whenever the 43*4882a593Smuzhiyun``take_snapshot`` debugfs file is written to. 44*4882a593Smuzhiyun 45*4882a593SmuzhiyunResources 46*4882a593Smuzhiyun========= 47*4882a593Smuzhiyun 48*4882a593SmuzhiyunThe ``netdevsim`` driver exposes resources to control the number of FIB 49*4882a593Smuzhiyunentries and FIB rule entries that the driver will allow. 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun.. code:: shell 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun $ devlink resource set netdevsim/netdevsim0 path /IPv4/fib size 96 54*4882a593Smuzhiyun $ devlink resource set netdevsim/netdevsim0 path /IPv4/fib-rules size 16 55*4882a593Smuzhiyun $ devlink resource set netdevsim/netdevsim0 path /IPv6/fib size 64 56*4882a593Smuzhiyun $ devlink resource set netdevsim/netdevsim0 path /IPv6/fib-rules size 16 57*4882a593Smuzhiyun $ devlink dev reload netdevsim/netdevsim0 58*4882a593Smuzhiyun 59*4882a593SmuzhiyunDriver-specific Traps 60*4882a593Smuzhiyun===================== 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun.. list-table:: List of Driver-specific Traps Registered by ``netdevsim`` 63*4882a593Smuzhiyun :widths: 5 5 90 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun * - Name 66*4882a593Smuzhiyun - Type 67*4882a593Smuzhiyun - Description 68*4882a593Smuzhiyun * - ``fid_miss`` 69*4882a593Smuzhiyun - ``exception`` 70*4882a593Smuzhiyun - When a packet enters the device it is classified to a filtering 71*4882a593Smuzhiyun indentifier (FID) based on the ingress port and VLAN. This trap is used 72*4882a593Smuzhiyun to trap packets for which a FID could not be found 73