ix
— Intel 10Gb
Ethernet driver
To compile this driver into the kernel, place the following lines
in your kernel configuration file:
device iflib
device ix
Alternatively, to load the driver as a module at boot time, place
the following line in
loader.conf(5):
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).
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)
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.
- 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.
- 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).
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>.
The ix
device driver first appeared in
FreeBSD 7.0.
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.