__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<!DOCTYPE html>
<html lang="en" data-content_root="../../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>ixgbe devlink support — The Linux Kernel documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/alabaster.css?v=3918102e" />
<script src="../../_static/documentation_options.js?v=5929fcd5"></script>
<script src="../../_static/doctools.js?v=9bcbadda"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="kvaser_pciefd devlink support" href="kvaser_pciefd.html" />
<link rel="prev" title="iosm devlink support" href="iosm.html" />
<link rel="stylesheet" href="../../_static/custom.css" type="text/css" />
</head><body>
<div class="document">
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../../index.html">
<img class="logo" src="../../_static/logo.svg" alt="Logo of The Linux Kernel"/>
</a></p>
<h1 class="logo"><a href="../../index.html">The Linux Kernel</a></h1>
<p class="blurb">6.18.50</p>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
<p>
<h3 class="kernel-toc-contents">Contents</h3>
<input type="checkbox" class="kernel-toc-toggle" id = "kernel-toc-toggle" checked>
<label class="kernel-toc-title" for="kernel-toc-toggle"></label>
<div class="kerneltoc" id="kerneltoc">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../process/development-process.html">Development process</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../process/submitting-patches.html">Submitting patches</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../process/code-of-conduct.html">Code of conduct</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../maintainer/index.html">Maintainer handbook</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../process/index.html">All development-process docs</a></li>
</ul>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../core-api/index.html">Core API</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../driver-api/index.html">Driver APIs</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../../subsystem-apis.html">Subsystems</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../subsystem-apis.html#core-subsystems">Core subsystems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../subsystem-apis.html#human-interfaces">Human interfaces</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../../subsystem-apis.html#networking-interfaces">Networking interfaces</a><ul class="current">
<li class="toctree-l3 current"><a class="reference internal" href="../index.html">Networking</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../netlabel/index.html">NetLabel</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../infiniband/index.html">InfiniBand</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../isdn/index.html">ISDN</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../mhi/index.html">MHI</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../subsystem-apis.html#storage-interfaces">Storage interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../subsystem-apis.html#other-subsystems">Other subsystems</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../locking/index.html">Locking</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../process/license-rules.html">Licensing rules</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../doc-guide/index.html">Writing documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../dev-tools/index.html">Development tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../dev-tools/testing-overview.html">Testing guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../kernel-hacking/index.html">Hacking guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../trace/index.html">Tracing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../fault-injection/index.html">Fault injection</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../livepatch/index.html">Livepatching</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../rust/index.html">Rust</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../admin-guide/index.html">Administration</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../kbuild/index.html">Build system</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../admin-guide/reporting-issues.html">Reporting issues</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tools/index.html">Userspace tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../userspace-api/index.html">Userspace API</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../firmware-guide/index.html">Firmware</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../devicetree/index.html">Firmware and Devicetree</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../arch/index.html">CPU architectures</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../staging/index.html">Unsorted documentation</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../translations/index.html">Translations</a></li>
</ul>
</div>
<script type="text/javascript"> <!--
var sbar = document.getElementsByClassName("sphinxsidebar")[0];
let currents = document.getElementsByClassName("current")
if (currents.length) {
sbar.scrollTop = currents[currents.length - 1].offsetTop;
}
--> </script>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../../_sources/networking/devlink/ixgbe.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="ixgbe-devlink-support">
<h1>ixgbe devlink support<a class="headerlink" href="#ixgbe-devlink-support" title="Link to this heading">¶</a></h1>
<p>This document describes the devlink features implemented by the <code class="docutils literal notranslate"><span class="pre">ixgbe</span></code>
device driver.</p>
<section id="info-versions">
<h2>Info versions<a class="headerlink" href="#info-versions" title="Link to this heading">¶</a></h2>
<p>Any of the versions dealing with the security presented by <code class="docutils literal notranslate"><span class="pre">devlink-info</span></code>
is purely informational. Devlink does not use a secure channel to communicate
with the device.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">ixgbe</span></code> driver reports the following versions</p>
<table class="docutils align-default" id="id1">
<caption><span class="caption-text">devlink info versions implemented</span><a class="headerlink" href="#id1" title="Link to this table">¶</a></caption>
<colgroup>
<col style="width: 4.8%" />
<col style="width: 4.8%" />
<col style="width: 4.8%" />
<col style="width: 85.7%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p>Name</p></td>
<td><p>Type</p></td>
<td><p>Example</p></td>
<td><p>Description</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">board.id</span></code></p></td>
<td><p>fixed</p></td>
<td><p>H49289-000</p></td>
<td><p>The Product Board Assembly (PBA) identifier of the board.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">fw.undi</span></code></p></td>
<td><p>running</p></td>
<td><p>1.1937.0</p></td>
<td><p>Version of the Option ROM containing the UEFI driver. The version is
reported in <code class="docutils literal notranslate"><span class="pre">major.minor.patch</span></code> format. The major version is
incremented whenever a major breaking change occurs, or when the
minor version would overflow. The minor version is incremented for
non-breaking changes and reset to 1 when the major version is
incremented. The patch version is normally 0 but is incremented when
a fix is delivered as a patch against an older base Option ROM.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">fw.undi.srev</span></code></p></td>
<td><p>running</p></td>
<td><p>4</p></td>
<td><p>Number indicating the security revision of the Option ROM.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">fw.bundle_id</span></code></p></td>
<td><p>running</p></td>
<td><p>0x80000d0d</p></td>
<td><p>Unique identifier of the firmware image file that was loaded onto
the device. Also referred to as the EETRACK identifier of the NVM.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">fw.mgmt.api</span></code></p></td>
<td><p>running</p></td>
<td><p>1.5.1</p></td>
<td><p>3-digit version number (major.minor.patch) of the API exported over
the AdminQ by the management firmware. Used by the driver to
identify what commands are supported. Historical versions of the
kernel only displayed a 2-digit version number (major.minor).</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">fw.mgmt.build</span></code></p></td>
<td><p>running</p></td>
<td><p>0x305d955f</p></td>
<td><p>Unique identifier of the source for the management firmware.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">fw.mgmt.srev</span></code></p></td>
<td><p>running</p></td>
<td><p>3</p></td>
<td><p>Number indicating the security revision of the firmware.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">fw.psid.api</span></code></p></td>
<td><p>running</p></td>
<td><p>0.80</p></td>
<td><p>Version defining the format of the flash contents.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">fw.netlist</span></code></p></td>
<td><p>running</p></td>
<td><p>1.1.2000-6.7.0</p></td>
<td><p>The version of the netlist module. This module defines the device’s
Ethernet capabilities and default settings, and is used by the
management firmware as part of managing link and device
connectivity.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">fw.netlist.build</span></code></p></td>
<td><p>running</p></td>
<td><p>0xee16ced7</p></td>
<td><p>The first 4 bytes of the hash of the netlist module contents.</p></td>
</tr>
</tbody>
</table>
</section>
<section id="flash-update">
<h2>Flash Update<a class="headerlink" href="#flash-update" title="Link to this heading">¶</a></h2>
<p>The <code class="docutils literal notranslate"><span class="pre">ixgbe</span></code> driver implements support for flash update using the
<code class="docutils literal notranslate"><span class="pre">devlink-flash</span></code> interface. It supports updating the device flash using a
combined flash image that contains the <code class="docutils literal notranslate"><span class="pre">fw.mgmt</span></code>, <code class="docutils literal notranslate"><span class="pre">fw.undi</span></code>, and
<code class="docutils literal notranslate"><span class="pre">fw.netlist</span></code> components.</p>
<table class="docutils align-default" id="id2">
<caption><span class="caption-text">List of supported overwrite modes</span><a class="headerlink" href="#id2" title="Link to this table">¶</a></caption>
<colgroup>
<col style="width: 5.0%" />
<col style="width: 95.0%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p>Bits</p></td>
<td><p>Behavior</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DEVLINK_FLASH_OVERWRITE_SETTINGS</span></code></p></td>
<td><p>Do not preserve settings stored in the flash components being
updated. This includes overwriting the port configuration that
determines the number of physical functions the device will
initialize with.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">DEVLINK_FLASH_OVERWRITE_SETTINGS</span></code> and <code class="docutils literal notranslate"><span class="pre">DEVLINK_FLASH_OVERWRITE_IDENTIFIERS</span></code></p></td>
<td><p>Do not preserve either settings or identifiers. Overwrite everything
in the flash with the contents from the provided image, without
performing any preservation. This includes overwriting device
identifying fields such as the MAC address, Vital product Data (VPD) area,
and device serial number. It is expected that this combination be used with an
image customized for the specific device.</p></td>
</tr>
</tbody>
</table>
</section>
<section id="reload">
<h2>Reload<a class="headerlink" href="#reload" title="Link to this heading">¶</a></h2>
<p>The <code class="docutils literal notranslate"><span class="pre">ixgbe</span></code> driver supports activating new firmware after a flash update
using <code class="docutils literal notranslate"><span class="pre">DEVLINK_CMD_RELOAD</span></code> with the <code class="docutils literal notranslate"><span class="pre">DEVLINK_RELOAD_ACTION_FW_ACTIVATE</span></code>
action.</p>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>devlink<span class="w"> </span>dev<span class="w"> </span>reload<span class="w"> </span>pci/0000:01:00.0<span class="w"> </span>reload<span class="w"> </span>action<span class="w"> </span>fw_activate
</pre></div>
</div>
<p>The new firmware is activated by issuing a device specific Embedded
Management Processor reset which requests the device to reset and reload the
EMP firmware image.</p>
<p>The driver does not currently support reloading the driver via
<code class="docutils literal notranslate"><span class="pre">DEVLINK_RELOAD_ACTION_DRIVER_REINIT</span></code>.</p>
</section>
<section id="regions">
<h2>Regions<a class="headerlink" href="#regions" title="Link to this heading">¶</a></h2>
<p>The <code class="docutils literal notranslate"><span class="pre">ixgbe</span></code> driver implements the following regions for accessing internal
device data.</p>
<table class="docutils align-default" id="id3">
<caption><span class="caption-text">regions implemented</span><a class="headerlink" href="#id3" title="Link to this table">¶</a></caption>
<colgroup>
<col style="width: 15.0%" />
<col style="width: 85.0%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p>Name</p></td>
<td><p>Description</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">nvm-flash</span></code></p></td>
<td><p>The contents of the entire flash chip, sometimes referred to as
the device’s Non Volatile Memory.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">shadow-ram</span></code></p></td>
<td><p>The contents of the Shadow RAM, which is loaded from the beginning
of the flash. Although the contents are primarily from the flash,
this area also contains data generated during device boot which is
not stored in flash.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">device-caps</span></code></p></td>
<td><p>The contents of the device firmware’s capabilities buffer. Useful to
determine the current state and configuration of the device.</p></td>
</tr>
</tbody>
</table>
<p>Both the <code class="docutils literal notranslate"><span class="pre">nvm-flash</span></code> and <code class="docutils literal notranslate"><span class="pre">shadow-ram</span></code> regions can be accessed without a
snapshot. The <code class="docutils literal notranslate"><span class="pre">device-caps</span></code> region requires a snapshot as the contents are
sent by firmware and can’t be split into separate reads.</p>
<p>Users can request an immediate capture of a snapshot for all three regions
via the <code class="docutils literal notranslate"><span class="pre">DEVLINK_CMD_REGION_NEW</span></code> command.</p>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>devlink<span class="w"> </span>region<span class="w"> </span>show
pci/0000:01:00.0/nvm-flash:<span class="w"> </span>size<span class="w"> </span><span class="m">10485760</span><span class="w"> </span>snapshot<span class="w"> </span><span class="o">[]</span><span class="w"> </span>max<span class="w"> </span><span class="m">1</span>
pci/0000:01:00.0/device-caps:<span class="w"> </span>size<span class="w"> </span><span class="m">4096</span><span class="w"> </span>snapshot<span class="w"> </span><span class="o">[]</span><span class="w"> </span>max<span class="w"> </span><span class="m">10</span>
$<span class="w"> </span>devlink<span class="w"> </span>region<span class="w"> </span>new<span class="w"> </span>pci/0000:01:00.0/nvm-flash<span class="w"> </span>snapshot<span class="w"> </span><span class="m">1</span>
$<span class="w"> </span>devlink<span class="w"> </span>region<span class="w"> </span>dump<span class="w"> </span>pci/0000:01:00.0/nvm-flash<span class="w"> </span>snapshot<span class="w"> </span><span class="m">1</span>
<span class="m">0000000000000000</span><span class="w"> </span><span class="m">0014</span><span class="w"> </span>95dc<span class="w"> </span><span class="m">0014</span><span class="w"> </span><span class="m">9514</span><span class="w"> </span><span class="m">0035</span><span class="w"> </span><span class="m">1670</span><span class="w"> </span><span class="m">0034</span><span class="w"> </span>db30
<span class="m">0000000000000010</span><span class="w"> </span><span class="m">0000</span><span class="w"> </span><span class="m">0000</span><span class="w"> </span>ffff<span class="w"> </span>ff04<span class="w"> </span><span class="m">0029</span><span class="w"> </span>8c00<span class="w"> </span><span class="m">0028</span><span class="w"> </span>8cc8
<span class="m">0000000000000020</span><span class="w"> </span><span class="m">0016</span><span class="w"> </span>0bb8<span class="w"> </span><span class="m">0016</span><span class="w"> </span><span class="m">1720</span><span class="w"> </span><span class="m">0000</span><span class="w"> </span><span class="m">0000</span><span class="w"> </span>c00f<span class="w"> </span>3ffc
<span class="m">0000000000000030</span><span class="w"> </span>bada<span class="w"> </span>cce5<span class="w"> </span>bada<span class="w"> </span>cce5<span class="w"> </span>bada<span class="w"> </span>cce5<span class="w"> </span>bada<span class="w"> </span>cce5
$<span class="w"> </span>devlink<span class="w"> </span>region<span class="w"> </span><span class="nb">read</span><span class="w"> </span>pci/0000:01:00.0/nvm-flash<span class="w"> </span>snapshot<span class="w"> </span><span class="m">1</span><span class="w"> </span>address<span class="w"> </span><span class="m">0</span><span class="w"> </span>length<span class="w"> </span><span class="m">16</span>
<span class="m">0000000000000000</span><span class="w"> </span><span class="m">0014</span><span class="w"> </span>95dc<span class="w"> </span><span class="m">0014</span><span class="w"> </span><span class="m">9514</span><span class="w"> </span><span class="m">0035</span><span class="w"> </span><span class="m">1670</span><span class="w"> </span><span class="m">0034</span><span class="w"> </span>db30
$<span class="w"> </span>devlink<span class="w"> </span>region<span class="w"> </span>delete<span class="w"> </span>pci/0000:01:00.0/device-caps<span class="w"> </span>snapshot<span class="w"> </span><span class="m">1</span>
</pre></div>
</div>
</section>
</section>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
©The kernel development community.
|
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 8.1.3</a>
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
|
<a href="../../_sources/networking/devlink/ixgbe.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| am65-nuss-cpsw-switch.html | File | 9.14 KB | 0644 |
|
| bnxt.html | File | 12.9 KB | 0644 |
|
| devlink-dpipe.html | File | 21.35 KB | 0644 |
|
| devlink-eswitch-attr.html | File | 13.3 KB | 0644 |
|
| devlink-flash.html | File | 17.62 KB | 0644 |
|
| devlink-health.html | File | 16.4 KB | 0644 |
|
| devlink-info.html | File | 19.9 KB | 0644 |
|
| devlink-linecard.html | File | 15.84 KB | 0644 |
|
| devlink-params.html | File | 18.2 KB | 0644 |
|
| devlink-port.html | File | 35.92 KB | 0644 |
|
| devlink-region.html | File | 16.65 KB | 0644 |
|
| devlink-reload.html | File | 14.16 KB | 0644 |
|
| devlink-resource.html | File | 15.4 KB | 0644 |
|
| devlink-selftests.html | File | 10.22 KB | 0644 |
|
| devlink-trap.html | File | 57.38 KB | 0644 |
|
| etas_es58x.html | File | 10.26 KB | 0644 |
|
| hns3.html | File | 9.53 KB | 0644 |
|
| i40e.html | File | 11.17 KB | 0644 |
|
| ice.html | File | 73.09 KB | 0644 |
|
| index.html | File | 15.26 KB | 0644 |
|
| ionic.html | File | 9.37 KB | 0644 |
|
| iosm.html | File | 16.14 KB | 0644 |
|
| ixgbe.html | File | 21.33 KB | 0644 |
|
| kvaser_pciefd.html | File | 9.29 KB | 0644 |
|
| kvaser_usb.html | File | 9.84 KB | 0644 |
|
| mlx4.html | File | 11.14 KB | 0644 |
|
| mlx5.html | File | 32.44 KB | 0644 |
|
| mlxsw.html | File | 14.51 KB | 0644 |
|
| mv88e6xxx.html | File | 9.32 KB | 0644 |
|
| netdevsim.html | File | 15.11 KB | 0644 |
|
| nfp.html | File | 11.93 KB | 0644 |
|
| octeontx2.html | File | 12.88 KB | 0644 |
|
| prestera.html | File | 20.36 KB | 0644 |
|
| qed.html | File | 9.16 KB | 0644 |
|
| sfc.html | File | 12.63 KB | 0644 |
|
| ti-cpsw-switch.html | File | 9.44 KB | 0644 |
|
| zl3073x.html | File | 11.28 KB | 0644 |
|