summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/ixl.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/ixl.4 3.html')
-rw-r--r--static/freebsd/man4/ixl.4 3.html261
1 files changed, 261 insertions, 0 deletions
diff --git a/static/freebsd/man4/ixl.4 3.html b/static/freebsd/man4/ixl.4 3.html
new file mode 100644
index 00000000..f730bf63
--- /dev/null
+++ b/static/freebsd/man4/ixl.4 3.html
@@ -0,0 +1,261 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">IXL(4)</td>
+ <td class="head-vol">Device Drivers Manual</td>
+ <td class="head-rtitle">IXL(4)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">ixl</code> &#x2014; <span class="Nd">Intel
+ Ethernet 700 Series Driver</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<p class="Pp">To compile this driver into the kernel, place the following lines
+ in your kernel configuration file:</p>
+<div class="Bd Pp Bd-indent"><code class="Cd">device iflib</code>
+<br/>
+<code class="Cd">device ixl</code></div>
+<p class="Pp">To load the driver as a module at boot time, place the following
+ lines in <a class="Xr">loader.conf(5)</a>:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre>if_ixl_load=&quot;YES&quot;</pre>
+</div>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<section class="Ss">
+<h2 class="Ss" id="Features"><a class="permalink" href="#Features">Features</a></h2>
+<p class="Pp">The <code class="Nm">ixl</code> driver provides support for any
+ PCI Express adapter or LOM (LAN On Motherboard) in the Intel Ethernet 700
+ Series. As of this writing, the series includes devices with these model
+ numbers:</p>
+<p class="Pp"></p>
+<ul class="Bl-bullet Bl-compact">
+ <li>XL710 (40G)</li>
+ <li>X710 (10G)</li>
+ <li>XXV710 (25G)</li>
+ <li>X722 (10G)</li>
+</ul>
+<p class="Pp">The driver supports Jumbo Frames, TX/RX checksum offload, TCP
+ segmentation offload (TSO), Large Receive Offload (LRO), VLAN tag
+ insertion/extraction, VLAN checksum offload, VLAN TSO, and Receive Side
+ Steering (RSS), all for both IPv4 and IPv6. For further hardware information
+ and questions related to hardware requirements, see
+ <a class="Lk" href="http://support.intel.com/">http://support.intel.com/</a>.</p>
+<p class="Pp">Support for Jumbo Frames is provided via the interface MTU
+ setting. Selecting an MTU larger than 1500 bytes with the
+ <a class="Xr">ifconfig(8)</a> utility configures the adapter to receive and
+ transmit Jumbo Frames. The maximum MTU size for Jumbo Frames is 9706.</p>
+<p class="Pp">Offloads are also controlled via the interface, for instance,
+ checksumming for both IPv4 and IPv6 can be set and unset, TSO4 and/or TSO6,
+ and finally LRO can be set and unset.</p>
+<p class="Pp">For more information on configuring this device, see
+ <a class="Xr">ifconfig(8)</a>.</p>
+</section>
+<section class="Ss">
+<h2 class="Ss" id="Additional_Utilities"><a class="permalink" href="#Additional_Utilities">Additional
+ Utilities</a></h2>
+<p class="Pp">There are additional tools available from Intel to help configure
+ and update the adapters covered by this driver. These tools can be
+ downloaded directly from Intel at
+ <a class="Lk" href="https://downloadcenter.intel.com">https://downloadcenter.intel.com</a>,
+ by searching for their names, or by installing certain packages:</p>
+<ul class="Bl-bullet">
+ <li id="sysutils/intel-qcu">To change the behavior of the QSFP+ ports on XL710
+ adapters, use the Intel QCU (QSFP+ configuration utility); installed by
+ the
+ <a class="permalink" href="#sysutils/intel-qcu"><i class="Em">sysutils/intel-qcu</i></a>
+ package.</li>
+ <li id="sysutils/intel-nvmupdate-10g">To update the firmware on an adapter,
+ use the Intel Non-Volatile Memory (NVM) Update Utility; installed by the
+ <a class="permalink" href="#sysutils/intel-nvmupdate-10g"><i class="Em">sysutils/intel-nvmupdate-10g</i></a>,
+ <a class="permalink" href="#sysutils/intel-nvmupdate-40g"><i class="Em" id="sysutils/intel-nvmupdate-40g">sysutils/intel-nvmupdate-40g</i></a>,
+ or
+ <a class="permalink" href="#sysutils/intel-nvmupdate-100g"><i class="Em" id="sysutils/intel-nvmupdate-100g">sysutils/intel-nvmupdate-100g</i></a>,
+ package.</li>
+ <li id="net/intel-ixl-kmod">Drivers are provided by Intel outside of the
+ <span class="Ux">FreeBSD</span> kernel; install the
+ <a class="permalink" href="#net/intel-ixl-kmod"><i class="Em">net/intel-ixl-kmod</i></a>
+ package for the latest driver.</li>
+</ul>
+</section>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HARDWARE"><a class="permalink" href="#HARDWARE">HARDWARE</a></h1>
+<p class="Pp">The <code class="Nm">ixl</code> driver supports the Intel Ethernet
+ 700 series. Most adapters in this series with SFP+/SFP28/QSFP+ cages have
+ firmware that requires that Intel qualified modules are used; these
+ qualified modules are listed below. This qualification check cannot be
+ disabled by the driver.</p>
+<p class="Pp">The <code class="Nm">ixl</code> driver supports 40Gb Ethernet
+ adapters with these QSFP+ modules:</p>
+<p class="Pp"></p>
+<ul class="Bl-bullet Bl-compact">
+ <li>Intel 4x10G/40G QSFP+ 40GBASE-SR4 E40GQSFPSR</li>
+ <li>Intel 4x10G/40G QSFP+ 40GBASE-LR4 E40GQSFPLR</li>
+</ul>
+<p class="Pp">The <code class="Nm">ixl</code> driver supports 25Gb Ethernet
+ adapters with these SFP28 modules:</p>
+<p class="Pp"></p>
+<ul class="Bl-bullet Bl-compact">
+ <li>Intel 10G/25G SFP28 25GBASE-SR E25GSFP28SR</li>
+ <li>Intel 10G/25G SFP28 25GBASE-SR E25GSFP28SRX (Extended Temp)</li>
+</ul>
+<p class="Pp">The <code class="Nm">ixl</code> driver supports 25Gb and 10Gb
+ Ethernet adapters with these SFP+ modules:</p>
+<p class="Pp"></p>
+<ul class="Bl-bullet Bl-compact">
+ <li>Intel 1G/10G SFP+ SR FTLX8571D3BCV-IT</li>
+ <li>Intel 1G/10G SFP+ SR AFBR-703SDZ-IN2</li>
+ <li>Intel 1G/10G SFP+ LR FTLX1471D3BCV-IT</li>
+ <li>Intel 1G/10G SFP+ LR AFCT-701SDZ-IN2</li>
+ <li>Intel 1G/10G SFP+ 10GBASE-SR E10GSFPSR</li>
+ <li>Intel 10G SFP+ 10GBASE-SR E10GSFPSRX (Extended Temp)</li>
+ <li>Intel 1G/10G SFP+ 10GBASE-LR E10GSFPLR</li>
+</ul>
+<p class="Pp">Note that adapters also support all passive and active limiting
+ direct attach cables that comply with SFF-8431 v4.1 and SFF-8472 v10.4
+ specifications.</p>
+<p class="Pp">This is not an exhaustive list; please consult product
+ documentation for an up-to-date list of supported media.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="LOADER_TUNABLES"><a class="permalink" href="#LOADER_TUNABLES">LOADER
+ TUNABLES</a></h1>
+<p class="Pp">Tunables can be set at the <a class="Xr">loader(8)</a> prompt
+ before booting the kernel or stored in <a class="Xr">loader.conf(5)</a>.</p>
+<dl class="Bl-tag">
+ <dt id="hw.ixl.rx_itr"><var class="Va">hw.ixl.rx_itr</var></dt>
+ <dd>The RX interrupt rate value, set to 62 (124 usec) by default.</dd>
+ <dt id="hw.ixl.tx_itr"><var class="Va">hw.ixl.tx_itr</var></dt>
+ <dd>The TX interrupt rate value, set to 122 (244 usec) by default.</dd>
+ <dt id="hw.ixl.i2c_access_method"><var class="Va">hw.ixl.i2c_access_method</var></dt>
+ <dd>Access method that driver will use for I2C read and writes via
+ <a class="Xr">sysctl(8)</a> or verbose <a class="Xr">ifconfig(8)</a>
+ information display:
+ <div class="Bd Pp Bd-indent Li">
+ <pre>0 - best available method
+1 - bit bang via I2CPARAMS register
+2 - register read/write via I2CCMD register
+3 - Use Admin Queue command (default best)</pre>
+ </div>
+ <p class="Pp">Using the Admin Queue is only supported on 710 devices with FW
+ version 1.7 or newer. Set to 0 by default.</p>
+ </dd>
+ <dt id="hw.ixl.enable_tx_fc_filter"><var class="Va">hw.ixl.enable_tx_fc_filter</var></dt>
+ <dd>Filter out packets with Ethertype 0x8808 from being sent out by
+ non-adapter sources. This prevents (potentially untrusted) software or
+ <a class="Xr">iavf(4)</a> devices from sending out flow control packets
+ and creating a DoS (Denial of Service) event. Enabled by default.</dd>
+ <dt id="hw.ixl.enable_head_writeback"><var class="Va">hw.ixl.enable_head_writeback</var></dt>
+ <dd>When the driver is finding the last TX descriptor processed by the
+ hardware, use a value written to memory by the hardware instead of
+ scanning the descriptor ring for completed descriptors. Enabled by
+ default; disable to mimic the TX behavior found in
+ <a class="Xr">ix(4)</a>.</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYSCTL_PROCEDURES"><a class="permalink" href="#SYSCTL_PROCEDURES">SYSCTL
+ PROCEDURES</a></h1>
+<dl class="Bl-tag">
+ <dt id="dev.ixl._.fc"><var class="Va">dev.ixl.#.fc</var></dt>
+ <dd>Sets the 802.3x flow control mode that the adapter will advertise on the
+ link. A value of 0 disables flow control, 3 enables full, 1 is RX, and 2
+ is TX pause.
+ <p class="Pp">The negotiated flow control setting can be viewed in
+ <a class="Xr">ifconfig(8)</a>, in the interface's media field.</p>
+ </dd>
+ <dt id="dev.ixl._.advertise_speed"><var class="Va">dev.ixl.#.advertise_speed</var></dt>
+ <dd>Set the speeds that the interface will advertise on the link.
+ <var class="Va">dev.ixl.#.supported_speeds</var> contains the speeds that
+ are allowed to be set.</dd>
+ <dt id="dev.ixl._.current_speed"><var class="Va">dev.ixl.#.current_speed</var></dt>
+ <dd>Displays the current speed.</dd>
+ <dt id="dev.ixl._.fw_version"><var class="Va">dev.ixl.#.fw_version</var></dt>
+ <dd>Displays the current firmware and NVM versions of the adapter.</dd>
+ <dt id="dev.ixl._.debug.switch_vlans"><var class="Va">dev.ixl.#.debug.switch_vlans</var></dt>
+ <dd>Set the Ethertype used by the hardware itself to handle internal services.
+ Frames with this Ethertype will be dropped without notice. Defaults to
+ <code class="Dv">0x88a8</code>, which is a well known number for IEEE
+ 802.1ad VLAN stacking. If you need 802.1ad support, set this number to any
+ another Ethertype i.e. <code class="Dv">0xffff</code>.</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="INTERRUPT_STORMS"><a class="permalink" href="#INTERRUPT_STORMS">INTERRUPT
+ STORMS</a></h1>
+<p class="Pp">It is important to note that 40G operation can generate high
+ numbers of interrupts, often incorrectly being interpreted as a storm
+ condition in the kernel. It is suggested that this be resolved by
+ setting:</p>
+<dl class="Bl-tag">
+ <dt id="hw.intr_storm_threshold:"><var class="Va">hw.intr_storm_threshold:
+ 0</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="IOVCTL_OPTIONS"><a class="permalink" href="#IOVCTL_OPTIONS">IOVCTL
+ OPTIONS</a></h1>
+<p class="Pp">The driver supports additional optional parameters for created VFs
+ (Virtual Functions) when using <a class="Xr">iovctl(8)</a>:</p>
+<dl class="Bl-tag">
+ <dt>mac-addr (unicast-mac)</dt>
+ <dd>Set the Ethernet MAC address that the VF will use. If unspecified, the VF
+ will use a randomly generated MAC address.</dd>
+ <dt>mac-anti-spoof (bool)</dt>
+ <dd>Prevent the VF from sending Ethernet frames with a source address that
+ does not match its own.</dd>
+ <dt>allow-set-mac (bool)</dt>
+ <dd>Allow the VF to set its own Ethernet MAC address</dd>
+ <dt>allow-promisc (bool)</dt>
+ <dd>Allow the VF to inspect all of the traffic sent to the port.</dd>
+ <dt>num-queues (uint16_t)</dt>
+ <dd>Specify the number of queues the VF will have. By default, this is set to
+ the number of MSI-X vectors supported by the VF minus one.</dd>
+</dl>
+<p class="Pp">An up to date list of parameters and their defaults can be found
+ by using <a class="Xr">iovctl(8)</a> with the -S option.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SUPPORT"><a class="permalink" href="#SUPPORT">SUPPORT</a></h1>
+<p class="Pp">For general information and support, go to the Intel support
+ website at:
+ <a class="Lk" href="http://support.intel.com/">http://support.intel.com/</a>.</p>
+<p class="Pp">If an issue is identified with this driver with a supported
+ adapter, email all the specific information related to the issue to
+ <a class="Mt" href="mailto:freebsd@intel.com">freebsd@intel.com</a>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+ ALSO</a></h1>
+<p class="Pp"><a class="Xr">arp(4)</a>, <a class="Xr">iavf(4)</a>,
+ <a class="Xr">iflib(4)</a>, <a class="Xr">netintro(4)</a>,
+ <a class="Xr">vlan(4)</a>, <a class="Xr">ifconfig(8)</a>,
+ <a class="Xr">iovctl(8)</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
+<p class="Pp">The <code class="Nm">ixl</code> device driver first appeared in
+ <span class="Ux">FreeBSD 10.1</span>. It was converted to use
+ <a class="Xr">iflib(9)</a> in <span class="Ux">FreeBSD 12</span>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
+<p class="Pp">The <code class="Nm">ixl</code> driver was written by
+ <span class="An">Jack Vogel</span>
+ &lt;<a class="Mt" href="mailto:jfv@freebsd.org">jfv@freebsd.org</a>&gt; and
+ <span class="An">Eric Joyner</span>
+ &lt;<a class="Mt" href="mailto:erj@freebsd.org">erj@freebsd.org</a>&gt;.</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">August 1, 2023</td>
+ <td class="foot-os">FreeBSD 15.0</td>
+ </tr>
+</table>