NAME
ix —
Intel 10Gb Ethernet driver
SYNOPSIS
To compile this driver into the kernel, place the following lines in your kernel configuration file:
device iflib
device ixAlternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
if_ix_load="YES"
DESCRIPTION
The ix driver provides support for
Intel(R) 10Gb Ethernet PCIe adapters. The driver supports Jumbo Frames,
MSIX, TSO, and RSS.
For questions related to hardware requirements, refer to the documentation supplied with your Intel 10GbE adapter. All hardware requirements listed apply to use with FreeBSD.
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 9710.
This driver version supports VLANs. For information on enabling VLANs, see ifconfig(8).
HARDWARE
The ix driver supports Intel 10Gb Ethernet
PCIe adapters, including:
- Intel(R) Ethernet X553
- Intel(R) Ethernet X552
- Intel(R) Ethernet X550
- Intel(R) Ethernet X540 Bypass
- Intel(R) Ethernet X540
- Intel(R) Ethernet X520 Bypass (82599)
- Intel(R) Ethernet X520 (82599)
- Intel(R) 10 Gigabit Server Adapter (82598EB)
LOADER TUNABLES
The ix driver supports the following
loader tunables:
- hw.ix.max_interrupt_rate
- Maximum interrupts per second.
- hw.ix.flow_control
- Default flow control used for all adapters.
- hw.ix.advertise_speed
- Default advertised speed for all adapters.
- hw.ix.enable_msix
- Enable Message Signalled Interrupts (MSI-X).
- hw.ix.allow_unsupported_sfp
- Allow unsupported small form-factor pluggable (SFP) modules. Use at your own risk.
- hw.ix.enable_fdir
- Enable Flow Director. Flow Director directs Ethernet packets to the core where the packet consuming process, application, container, or microservice is running.
- hw.ix.enable_rss
- Enable Receive-Side Scaling (RSS). When RSS is enabled, all of the receive data processing for a particular TCP connection is shared across multiple processors or processor cores. Without RSS, all of the processing is performed by a single processor, resulting in inefficient system cache utilization. This has no effect if your system has only one processing unit.
- hw.ix.enable_aim
- Enable Adaptive Interrupt Moderation (AIM). Vary the interrupt rate over time based on the traffic for that interrupt vector.
DIAGNOSTICS
- ix%d: Unable to allocate bus resource: memory
- A fatal initialization error has occurred.
- ix%d: Unable to allocate bus resource: interrupt
- A fatal initialization error has occurred.
- ix%d: watchdog timeout -- resetting
- The device has stopped responding to the network, or there is a problem with the network connection (cable).
SUPPORT
For general information and support, go to the Intel support website at: http://support.intel.com.
If an issue is identified with the released source code on the supported kernel with a supported adapter, email the specific information related to the issue to <freebsd@intel.com>.
SEE ALSO
altq(4), arp(4), iflib(4), netintro(4), ng_ether(4), polling(4), vlan(4), ifconfig(8), sysctl(8)
HISTORY
The ix device driver first appeared in
FreeBSD 7.0.
AUTHORS
The ix driver was written by
Intel Corporation
<freebsd@intel.com>.
CAVEATS
Intel (R) Flow director support is not fully implemented in FreeBSD at this time and additional work is required before those features can be supported.
Enabling flow director may route traffic to the wrong RX queue of the NIC, resulting in sub-optimal performance on the receive side.