162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci=====================
462306a36Sopenharmony_cimlxsw devlink support
562306a36Sopenharmony_ci=====================
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciThis document describes the devlink features implemented by the ``mlxsw``
862306a36Sopenharmony_cidevice driver.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciParameters
1162306a36Sopenharmony_ci==========
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci.. list-table:: Generic parameters implemented
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci   * - Name
1662306a36Sopenharmony_ci     - Mode
1762306a36Sopenharmony_ci   * - ``fw_load_policy``
1862306a36Sopenharmony_ci     - driverinit
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciThe ``mlxsw`` driver also implements the following driver-specific
2162306a36Sopenharmony_ciparameters.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci.. list-table:: Driver-specific parameters implemented
2462306a36Sopenharmony_ci   :widths: 5 5 5 85
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci   * - Name
2762306a36Sopenharmony_ci     - Type
2862306a36Sopenharmony_ci     - Mode
2962306a36Sopenharmony_ci     - Description
3062306a36Sopenharmony_ci   * - ``acl_region_rehash_interval``
3162306a36Sopenharmony_ci     - u32
3262306a36Sopenharmony_ci     - runtime
3362306a36Sopenharmony_ci     - Sets an interval for periodic ACL region rehashes. The value is
3462306a36Sopenharmony_ci       specified in milliseconds, with a minimum of ``3000``. The value of
3562306a36Sopenharmony_ci       ``0`` disables periodic work entirely. The first rehash will be run
3662306a36Sopenharmony_ci       immediately after the value is set.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciThe ``mlxsw`` driver supports reloading via ``DEVLINK_CMD_RELOAD``
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciInfo versions
4162306a36Sopenharmony_ci=============
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciThe ``mlxsw`` driver reports the following versions
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci.. list-table:: devlink info versions implemented
4662306a36Sopenharmony_ci   :widths: 5 5 90
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci   * - Name
4962306a36Sopenharmony_ci     - Type
5062306a36Sopenharmony_ci     - Description
5162306a36Sopenharmony_ci   * - ``hw.revision``
5262306a36Sopenharmony_ci     - fixed
5362306a36Sopenharmony_ci     - The hardware revision for this board
5462306a36Sopenharmony_ci   * - ``fw.psid``
5562306a36Sopenharmony_ci     - fixed
5662306a36Sopenharmony_ci     - Firmware PSID
5762306a36Sopenharmony_ci   * - ``fw.version``
5862306a36Sopenharmony_ci     - running
5962306a36Sopenharmony_ci     - Three digit firmware version
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ciLine card auxiliary device info versions
6262306a36Sopenharmony_ci========================================
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciThe ``mlxsw`` driver reports the following versions for line card auxiliary device
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci.. list-table:: devlink info versions implemented
6762306a36Sopenharmony_ci   :widths: 5 5 90
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci   * - Name
7062306a36Sopenharmony_ci     - Type
7162306a36Sopenharmony_ci     - Description
7262306a36Sopenharmony_ci   * - ``hw.revision``
7362306a36Sopenharmony_ci     - fixed
7462306a36Sopenharmony_ci     - The hardware revision for this line card
7562306a36Sopenharmony_ci   * - ``ini.version``
7662306a36Sopenharmony_ci     - running
7762306a36Sopenharmony_ci     - Version of line card INI loaded
7862306a36Sopenharmony_ci   * - ``fw.psid``
7962306a36Sopenharmony_ci     - fixed
8062306a36Sopenharmony_ci     - Line card device PSID
8162306a36Sopenharmony_ci   * - ``fw.version``
8262306a36Sopenharmony_ci     - running
8362306a36Sopenharmony_ci     - Three digit firmware version of line card device
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ciDriver-specific Traps
8662306a36Sopenharmony_ci=====================
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci.. list-table:: List of Driver-specific Traps Registered by ``mlxsw``
8962306a36Sopenharmony_ci   :widths: 5 5 90
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci   * - Name
9262306a36Sopenharmony_ci     - Type
9362306a36Sopenharmony_ci     - Description
9462306a36Sopenharmony_ci   * - ``irif_disabled``
9562306a36Sopenharmony_ci     - ``drop``
9662306a36Sopenharmony_ci     - Traps packets that the device decided to drop because they need to be
9762306a36Sopenharmony_ci       routed from a disabled router interface (RIF). This can happen during
9862306a36Sopenharmony_ci       RIF dismantle, when the RIF is first disabled before being removed
9962306a36Sopenharmony_ci       completely
10062306a36Sopenharmony_ci   * - ``erif_disabled``
10162306a36Sopenharmony_ci     - ``drop``
10262306a36Sopenharmony_ci     - Traps packets that the device decided to drop because they need to be
10362306a36Sopenharmony_ci       routed through a disabled router interface (RIF). This can happen during
10462306a36Sopenharmony_ci       RIF dismantle, when the RIF is first disabled before being removed
10562306a36Sopenharmony_ci       completely
106