1.\" Copyright (c) 2001-2008, Intel Corporation 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions are met: 6.\" 7.\" 1. Redistributions of source code must retain the above copyright notice, 8.\" this list of conditions and the following disclaimer. 9.\" 10.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" notice, this list of conditions and the following disclaimer in the 12.\" documentation and/or other materials provided with the distribution. 13.\" 14.\" 3. Neither the name of the Intel Corporation nor the names of its 15.\" contributors may be used to endorse or promote products derived from 16.\" this software without specific prior written permission. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 22.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28.\" POSSIBILITY OF SUCH DAMAGE. 29.\" 30.\" * Other names and brands may be claimed as the property of others. 31.\" 32.Dd November 10, 2025 33.Dt IX 4 34.Os 35.Sh NAME 36.Nm ix 37.Nd Intel 10Gb Ethernet driver 38.Sh SYNOPSIS 39To compile this driver into the kernel, 40place the following lines in your 41kernel configuration file: 42.Bd -ragged -offset indent 43.Cd "device iflib" 44.Cd "device ix" 45.Ed 46.Pp 47Alternatively, to load the driver as a 48module at boot time, place the following line in 49.Xr loader.conf 5 : 50.Bd -literal -offset indent 51if_ix_load="YES" 52.Ed 53.Sh DESCRIPTION 54The 55.Nm 56driver provides support for Intel(R) 10Gb Ethernet PCIe adapters. 57The driver supports Jumbo Frames, MSIX, TSO, and RSS. 58.Pp 59For questions related to hardware requirements, 60refer to the documentation supplied with your Intel 10GbE adapter. 61All hardware requirements listed apply to use with 62.Fx . 63.Pp 64Support for Jumbo Frames is provided via the interface MTU setting. 65Selecting an MTU larger than 1500 bytes with the 66.Xr ifconfig 8 67utility configures the adapter to receive and transmit Jumbo Frames. 68The maximum MTU size for Jumbo Frames is 9710. 69.Pp 70This driver version supports VLANs. 71For information on enabling VLANs, see 72.Xr ifconfig 8 . 73.Sh HARDWARE 74The 75.Nm 76driver supports Intel 10Gb Ethernet PCIe adapters, 77including: 78.Pp 79.Bl -bullet -compact 80.It 81Intel(R) Ethernet E610 82.It 83Intel(R) Ethernet X553 84.It 85Intel(R) Ethernet X552 86.It 87Intel(R) Ethernet X550 88.It 89Intel(R) Ethernet X540 Bypass 90.It 91Intel(R) Ethernet X540 92.It 93Intel(R) Ethernet X520 Bypass (82599) 94.It 95Intel(R) Ethernet X520 (82599) 96.It 97Intel(R) 10 Gigabit Server Adapter (82598EB) 98.El 99.Sh LOADER TUNABLES 100The 101.Nm 102driver supports the following loader tunables: 103.Bl -tag -width "hw.ix.allow_unsupported_sfp" 104.It Va hw.ix.max_interrupt_rate 105Maximum interrupts per second. 106.It Va hw.ix.flow_control 107Default flow control used for all adapters. 108.It Va hw.ix.advertise_speed 109Default advertised speed for all adapters. 110.It Va hw.ix.enable_msix 111Enable Message Signalled Interrupts (MSI-X). 112.It Va hw.ix.allow_unsupported_sfp 113Allow unsupported small form-factor pluggable 114.Pq SFP 115modules. 116Use at your own risk. 117.It Va hw.ix.enable_fdir 118Enable Flow Director. 119Flow Director directs Ethernet packets to the core where the 120packet consuming process, application, container, 121or microservice is running. 122.It Va hw.ix.enable_rss 123Enable Receive-Side Scaling (RSS). 124When RSS is enabled, all of the receive data processing for 125a particular TCP connection is shared across multiple processors 126or processor cores. 127Without RSS, all of the processing is performed by a single 128processor, resulting in inefficient system cache utilization. 129This has no effect if your system has only one processing unit. 130.It Va hw.ix.enable_aim 131Enable Adaptive Interrupt Moderation (AIM). 132Vary the interrupt rate over time based on the traffic for 133that interrupt vector. 134.El 135.Sh SYSCTL VARIABLES 136The 137.Nm 138driver supports the following 139.Xr sysctl 8 140variables: 141.Bl -tag -width "dev.ix.?.debug.dump.clusters" 142.It Va dev.ix.?.debug.dump.clusters 143Specify a bitmask to select firmware event clusters 144to be included in the debug dump. 145Possible values include: 146.Pp 147.Bl -tag -compact 148.It 0 149All clusters excluding Manageability Transactions 150.It 0x1 151Link cluster 152.It 0x2 153Full CSR Space excluding RCW registers 154.El 155.Pp 156This feature is only supported on E610 devices. 157.It Va dev.ix.?.debug.dump.dump 158Specify 1 to generate a per-device debugging snapshot. 159Output must be redirected to a file 160and decoded by Intel Customer Support. 161.Pp 162This feature is only supported on E610. 163.El 164.Sh DIAGNOSTICS 165.Bl -diag 166.It "ix%d: Unable to allocate bus resource: memory" 167A fatal initialization error has occurred. 168.It "ix%d: Unable to allocate bus resource: interrupt" 169A fatal initialization error has occurred. 170.It "ix%d: watchdog timeout -- resetting" 171The device has stopped responding to the network, or there is a problem with 172the network connection (cable). 173.El 174.Sh SUPPORT 175For general information and support, 176go to the Intel support website at: 177.Pa http://support.intel.com . 178.Pp 179If an issue is identified with the released source code on the supported kernel 180with a supported adapter, email the specific information related to the 181issue to 182.Aq Mt freebsd@intel.com . 183.Sh SEE ALSO 184.Xr altq 4 , 185.Xr arp 4 , 186.Xr iflib 4 , 187.Xr netintro 4 , 188.Xr ng_ether 4 , 189.Xr polling 4 , 190.Xr vlan 4 , 191.Xr ifconfig 8 , 192.Xr sysctl 8 193.Sh HISTORY 194The 195.Nm 196device driver first appeared in 197.Fx 7.0 . 198.Sh AUTHORS 199The 200.Nm 201driver was written by 202.An Intel Corporation Aq Mt freebsd@intel.com . 203.Sh CAVEATS 204Intel (R) Flow director support is not fully implemented in 205.Fx 206at this time and additional work is required 207before those features can be supported. 208.Pp 209Enabling flow director may route traffic to the wrong RX queue of the NIC, 210resulting in sub-optimal performance on the receive side. 211