IXL(4)

NAME
ixl - Intel XL710 Ethernet 40Gb Base driver

SYNOPSIS
To compile this driver into the kernel, place the following lines in your kernel configuration file:

device ixl

To load the driver as a module at boot time, place the following lines in loader.conf(5):

    if_ixl_load="YES"

DESCRIPTION
The ixl driver provides support for PCI Express adapters or LOMs in the XL710 Family of ethernet devices. 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 http://support.intel.com/.

Support for Jumbo Frames is provided via the interface MTU setting. Selecting an MTU larger than 1500 bytes with the ifconfig(8) utility configures the adapter to receive and transmit Jumbo Frames. The maximum MTU size for Jumbo Frames is 9706.

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.

For more information on configuring this device, see ifconfig(8).

HARDWARE
The ixl driver supports these SFP+ Pluggable Optics:

•   Intel TRIPLE RATE 1G/10G/40G QSFP+ SR (bailed) E40GQSFPSR
•   Intel TRIPLE RATE 1G/10G/40G QSFP+ SR (bailed) E40GQSFPLR

The ixl driver supports 10Gb and 1Gb Ethernet adapters with SR Modules:

•   Intel DUAL RATE 1G/10G SFP+ SR (bailed) FTLX8571D3BCV-IT
•   Intel DUAL RATE 1G/10G SFP+ SR (bailed) AFBR-703SDZ-IN2

The ixl driver supports 10Gb and 1Gb Ethernet adapters with LR Modules:

•   Intel DUAL RATE 1G/10G SFP+ LR (bailed) FTLX1471D3BCV-IT
•   Intel DUAL RATE 1G/10G SFP+ LR (bailed) AFCT-701SDZ-IN2

Note that X710/XL710 Based SFP+ adapters also support all passive and active limiting direct attach cables that comply with SFF-8431 v4.1 and SFF-8472 v10.4 specifications.

LOADER TUNABLES
Tunables can be set at the loader(8) prompt before booting the kernel or stored in loader.conf(5).

hw.ixl.enable_msix
    Allows one to enable/disable MSIX, thus forcing MSI instead.

hw.ixl.ringsz
    Set the number of descriptors in the rings, note that this changes BOTH the TX and RX rings, they cannot be set independently.

hw.ixl.max_queues
    Set the number of queues (each a TX/RX pair) for the port, this allows one to override the autocalculation if it is set to 0.

hw.ixl.dynamic_rx_itr
    The dynamic RX interrupt control, set to 1 to enable.

hw.ixl.dynamic_tx_itr
    The dynamic TX interrupt control, set to 1 to enable.

hw.ixl.rx_itr
    The RX interrupt rate value, set to 8K by default.

hw.ixl.tx_itr
    The TX interrupt rate value, set to 4K by default.

SYSCTL PROCEDURES

hw.ixl.fc
    Allows one to set the flow control value. A value of 0 disables flow control, 3 enables full, 1 is RX, and 2 is TX pause.

hw.ixl.advertise_speed
    Allows one to set advertised link speeds, this will then cause a link renegotiation. With the appropriate adapter this can cause a link at 10GB, 1GB, or 100MB.

hw.ixl.current_speed
    This is a display of the current setting.

hw.ixl.fw_version
    This is a display of the Firmware version.

Interrupt Storms
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:

hw.intr_storm_threshold: 0

SUPPORT
For general information and support, go to the Intel support website at: http://support.intel.com/.

If an issue is identified with this driver with a supported adapter, email all the specific information related to the issue to <freebsd@intel.com>.

SEE ALSO
arp(4), ixlv(4), netintro(4), ng_ether(4), vlan(4), ifconfig(8)

HISTORY
The ixl device driver first appeared in FreeBSD 10.1.

AUTHORS
-nosplit The ixl driver was written by Jack Vogel <jfv@FreeBSD.org> and Eric Joyner <ricera10@gmail.com>.