diff options
Diffstat (limited to 'static/freebsd/man4/ixl.4 3.html')
| -rw-r--r-- | static/freebsd/man4/ixl.4 3.html | 261 |
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> — <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="YES"</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;"> </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> + <<a class="Mt" href="mailto:jfv@freebsd.org">jfv@freebsd.org</a>> and + <span class="An">Eric Joyner</span> + <<a class="Mt" href="mailto:erj@freebsd.org">erj@freebsd.org</a>>.</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> |
