1.. SPDX-License-Identifier: GPL-2.0 2 3===================== 4ixgbe devlink support 5===================== 6 7This document describes the devlink features implemented by the ``ixgbe`` 8device driver. 9 10Info versions 11============= 12 13Any of the versions dealing with the security presented by ``devlink-info`` 14is purely informational. Devlink does not use a secure channel to communicate 15with the device. 16 17The ``ixgbe`` driver reports the following versions 18 19.. list-table:: devlink info versions implemented 20 :widths: 5 5 5 90 21 22 * - Name 23 - Type 24 - Example 25 - Description 26 * - ``board.id`` 27 - fixed 28 - H49289-000 29 - The Product Board Assembly (PBA) identifier of the board. 30 * - ``fw.undi`` 31 - running 32 - 1.1937.0 33 - Version of the Option ROM containing the UEFI driver. The version is 34 reported in ``major.minor.patch`` format. The major version is 35 incremented whenever a major breaking change occurs, or when the 36 minor version would overflow. The minor version is incremented for 37 non-breaking changes and reset to 1 when the major version is 38 incremented. The patch version is normally 0 but is incremented when 39 a fix is delivered as a patch against an older base Option ROM. 40 * - ``fw.undi.srev`` 41 - running 42 - 4 43 - Number indicating the security revision of the Option ROM. 44 * - ``fw.bundle_id`` 45 - running 46 - 0x80000d0d 47 - Unique identifier of the firmware image file that was loaded onto 48 the device. Also referred to as the EETRACK identifier of the NVM. 49 * - ``fw.mgmt.api`` 50 - running 51 - 1.5.1 52 - 3-digit version number (major.minor.patch) of the API exported over 53 the AdminQ by the management firmware. Used by the driver to 54 identify what commands are supported. Historical versions of the 55 kernel only displayed a 2-digit version number (major.minor). 56 * - ``fw.mgmt.build`` 57 - running 58 - 0x305d955f 59 - Unique identifier of the source for the management firmware. 60 * - ``fw.mgmt.srev`` 61 - running 62 - 3 63 - Number indicating the security revision of the firmware. 64 * - ``fw.psid.api`` 65 - running 66 - 0.80 67 - Version defining the format of the flash contents. 68 * - ``fw.netlist`` 69 - running 70 - 1.1.2000-6.7.0 71 - The version of the netlist module. This module defines the device's 72 Ethernet capabilities and default settings, and is used by the 73 management firmware as part of managing link and device 74 connectivity. 75 * - ``fw.netlist.build`` 76 - running 77 - 0xee16ced7 78 - The first 4 bytes of the hash of the netlist module contents. 79 80Flash Update 81============ 82 83The ``ixgbe`` driver implements support for flash update using the 84``devlink-flash`` interface. It supports updating the device flash using a 85combined flash image that contains the ``fw.mgmt``, ``fw.undi``, and 86``fw.netlist`` components. 87 88.. list-table:: List of supported overwrite modes 89 :widths: 5 95 90 91 * - Bits 92 - Behavior 93 * - ``DEVLINK_FLASH_OVERWRITE_SETTINGS`` 94 - Do not preserve settings stored in the flash components being 95 updated. This includes overwriting the port configuration that 96 determines the number of physical functions the device will 97 initialize with. 98 * - ``DEVLINK_FLASH_OVERWRITE_SETTINGS`` and ``DEVLINK_FLASH_OVERWRITE_IDENTIFIERS`` 99 - Do not preserve either settings or identifiers. Overwrite everything 100 in the flash with the contents from the provided image, without 101 performing any preservation. This includes overwriting device 102 identifying fields such as the MAC address, Vital product Data (VPD) area, 103 and device serial number. It is expected that this combination be used with an 104 image customized for the specific device. 105 106Reload 107====== 108 109The ``ixgbe`` driver supports activating new firmware after a flash update 110using ``DEVLINK_CMD_RELOAD`` with the ``DEVLINK_RELOAD_ACTION_FW_ACTIVATE`` 111action. 112 113.. code:: shell 114 115 $ devlink dev reload pci/0000:01:00.0 reload action fw_activate 116 117The new firmware is activated by issuing a device specific Embedded 118Management Processor reset which requests the device to reset and reload the 119EMP firmware image. 120 121The driver does not currently support reloading the driver via 122``DEVLINK_RELOAD_ACTION_DRIVER_REINIT``. 123