1d8b48a26SFelix Johnson.\" Copyright (c) 2001-2008, Intel Corporation 2d8b48a26SFelix Johnson.\" All rights reserved. 3d8b48a26SFelix Johnson.\" 4d8b48a26SFelix Johnson.\" Redistribution and use in source and binary forms, with or without 5d8b48a26SFelix Johnson.\" modification, are permitted provided that the following conditions are met: 6d8b48a26SFelix Johnson.\" 7d8b48a26SFelix Johnson.\" 1. Redistributions of source code must retain the above copyright notice, 8d8b48a26SFelix Johnson.\" this list of conditions and the following disclaimer. 9d8b48a26SFelix Johnson.\" 10d8b48a26SFelix Johnson.\" 2. Redistributions in binary form must reproduce the above copyright 11d8b48a26SFelix Johnson.\" notice, this list of conditions and the following disclaimer in the 12d8b48a26SFelix Johnson.\" documentation and/or other materials provided with the distribution. 13d8b48a26SFelix Johnson.\" 14d8b48a26SFelix Johnson.\" 3. Neither the name of the Intel Corporation nor the names of its 15d8b48a26SFelix Johnson.\" contributors may be used to endorse or promote products derived from 16d8b48a26SFelix Johnson.\" this software without specific prior written permission. 17d8b48a26SFelix Johnson.\" 18d8b48a26SFelix Johnson.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19d8b48a26SFelix Johnson.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20d8b48a26SFelix Johnson.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21d8b48a26SFelix Johnson.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 22d8b48a26SFelix Johnson.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23d8b48a26SFelix Johnson.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24d8b48a26SFelix Johnson.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25d8b48a26SFelix Johnson.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26d8b48a26SFelix Johnson.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27d8b48a26SFelix Johnson.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28d8b48a26SFelix Johnson.\" POSSIBILITY OF SUCH DAMAGE. 29d8b48a26SFelix Johnson.\" 30d8b48a26SFelix Johnson.\" * Other names and brands may be claimed as the property of others. 31d8b48a26SFelix Johnson.\" 32d8b48a26SFelix Johnson.Dd May 17, 2023 33d8b48a26SFelix Johnson.Dt IX 4 34d8b48a26SFelix Johnson.Os 35d8b48a26SFelix Johnson.Sh NAME 36d8b48a26SFelix Johnson.Nm ix 37d8b48a26SFelix Johnson.Nd "Intel(R) 10Gb Ethernet driver for the FreeBSD operating system" 38d8b48a26SFelix Johnson.Sh SYNOPSIS 39d8b48a26SFelix JohnsonTo compile this driver into the kernel, 40d8b48a26SFelix Johnsonplace the following lines in your 41d8b48a26SFelix Johnsonkernel configuration file: 42d8b48a26SFelix Johnson.Bd -ragged -offset indent 43d8b48a26SFelix Johnson.Cd "device iflib" 44d8b48a26SFelix Johnson.Cd "device ix" 45d8b48a26SFelix Johnson.Ed 46d8b48a26SFelix Johnson.Pp 47d8b48a26SFelix JohnsonAlternatively, to load the driver as a 48d8b48a26SFelix Johnsonmodule at boot time, place the following line in 49d8b48a26SFelix Johnson.Xr loader.conf 5 : 50d8b48a26SFelix Johnson.Bd -literal -offset indent 51d8b48a26SFelix Johnsonif_ix_load="YES" 52d8b48a26SFelix Johnson.Ed 53d8b48a26SFelix Johnson.Sh DESCRIPTION 54d8b48a26SFelix JohnsonThe 55d8b48a26SFelix Johnson.Nm 56d8b48a26SFelix Johnsondriver provides support for PCI 10Gb Ethernet adapters based on 57d8b48a26SFelix Johnsonthe Intel 82598EB Intel(R) Network Connections. 58d8b48a26SFelix JohnsonThe driver supports Jumbo Frames, MSIX, TSO, and RSS. 59d8b48a26SFelix Johnson.Pp 60d8b48a26SFelix JohnsonFor questions related to hardware requirements, 61d8b48a26SFelix Johnsonrefer to the documentation supplied with your Intel 10GbE adapter. 62d8b48a26SFelix JohnsonAll hardware requirements listed apply to use with 63d8b48a26SFelix Johnson.Fx . 64d8b48a26SFelix Johnson.Pp 65d8b48a26SFelix JohnsonSupport for Jumbo Frames is provided via the interface MTU setting. 66d8b48a26SFelix JohnsonSelecting an MTU larger than 1500 bytes with the 67d8b48a26SFelix Johnson.Xr ifconfig 8 68d8b48a26SFelix Johnsonutility configures the adapter to receive and transmit Jumbo Frames. 69d8b48a26SFelix JohnsonThe maximum MTU size for Jumbo Frames is 9710. 70d8b48a26SFelix Johnson.Pp 71d8b48a26SFelix JohnsonThis driver version supports VLANs. 72d8b48a26SFelix JohnsonFor information on enabling VLANs, see 73d8b48a26SFelix Johnson.Xr ifconfig 8 . 74d8b48a26SFelix Johnson.Sh HARDWARE 75d8b48a26SFelix JohnsonThe 76d8b48a26SFelix Johnson.Nm 77d8b48a26SFelix Johnsondriver supports the following cards: 78d8b48a26SFelix Johnson.Pp 79d8b48a26SFelix Johnson.Bl -bullet -compact 80d8b48a26SFelix Johnson.It 81d8b48a26SFelix JohnsonIntel(R) 10 Gigabit XF SR/AF Dual Port Server Adapter 82d8b48a26SFelix Johnson.It 83d8b48a26SFelix JohnsonIntel(R) 10 Gigabit XF SR/LR Server Adapter 84d8b48a26SFelix Johnson.It 85d8b48a26SFelix JohnsonIntel(R) 82598EB 10 Gigabit AF Network Connection 86d8b48a26SFelix Johnson.It 87d8b48a26SFelix JohnsonIntel(R) 82598EB 10 Gigabit AT CX4 Network Connection 88d8b48a26SFelix Johnson.El 89*a340b464SFelix Johnson.Sh LOADER TUNABLES 90*a340b464SFelix JohnsonThe 91*a340b464SFelix Johnson.Nm 92*a340b464SFelix Johnsondriver supports the following loader tunables: 93*a340b464SFelix Johnson.Bl -tag -width "hw.ix.allow_unsupported_sfp" 94*a340b464SFelix Johnson.It Va hw.ix.max_interrupt_rate 95*a340b464SFelix JohnsonMaximum interrupts per second. 96*a340b464SFelix Johnson.It Va hw.ix.flow_control 97*a340b464SFelix JohnsonDefault flow control used for all adapters. 98*a340b464SFelix Johnson.It Va hw.ix.advertise_speed 99*a340b464SFelix JohnsonDefault advertised speed for all adapters. 100*a340b464SFelix Johnson.It Va hw.ix.enable_msix 101*a340b464SFelix JohnsonEnable Message Signalled Interrupts (MSI-X). 102*a340b464SFelix Johnson.It Va hw.ix.allow_unsupported_sfp 103*a340b464SFelix JohnsonAllow unsupported small form-factor pluggable 104*a340b464SFelix Johnson.Pq SFP 105*a340b464SFelix Johnsonmodules. 106*a340b464SFelix JohnsonUse at your own risk. 107*a340b464SFelix Johnson.It Va hw.ix.enable_fdir 108*a340b464SFelix JohnsonEnable Flow Director. 109*a340b464SFelix JohnsonFlow Director directs Ethernet packets to the core where the 110*a340b464SFelix Johnsonpacket consuming process, application, container, 111*a340b464SFelix Johnsonor microservice is running. 112*a340b464SFelix Johnson.It Va hw.ix.enable_rss 113*a340b464SFelix JohnsonEnable Receive-Side Scaling (RSS). 114*a340b464SFelix JohnsonWhen RSS is enabled, all of the receive data processing for 115*a340b464SFelix Johnsona particular TCP connection is shared across multiple processors 116*a340b464SFelix Johnsonor processor cores. 117*a340b464SFelix JohnsonWithout RSS, all of the processing is performed by a single 118*a340b464SFelix Johnsonprocessor, resulting in inefficient system cache utilization. 119*a340b464SFelix JohnsonThis has no effect if your system has only one processing unit. 120*a340b464SFelix Johnson.It Va hw.ix.enable_aim 121*a340b464SFelix JohnsonEnable Adaptive Interrupt Moderation (AIM). 122*a340b464SFelix JohnsonVary the interrupt rate over time based on the traffic for 123*a340b464SFelix Johnsonthat interrupt vector. 124*a340b464SFelix Johnson.El 125d8b48a26SFelix Johnson.Sh DIAGNOSTICS 126d8b48a26SFelix Johnson.Bl -diag 127d8b48a26SFelix Johnson.It "ix%d: Unable to allocate bus resource: memory" 128d8b48a26SFelix JohnsonA fatal initialization error has occurred. 129d8b48a26SFelix Johnson.It "ix%d: Unable to allocate bus resource: interrupt" 130d8b48a26SFelix JohnsonA fatal initialization error has occurred. 131d8b48a26SFelix Johnson.It "ix%d: watchdog timeout -- resetting" 132d8b48a26SFelix JohnsonThe device has stopped responding to the network, or there is a problem with 133d8b48a26SFelix Johnsonthe network connection (cable). 134d8b48a26SFelix Johnson.El 135d8b48a26SFelix Johnson.Sh SUPPORT 136d8b48a26SFelix JohnsonFor general information and support, 137d8b48a26SFelix Johnsongo to the Intel support website at: 138d8b48a26SFelix Johnson.Pa http://support.intel.com . 139d8b48a26SFelix Johnson.Pp 140d8b48a26SFelix JohnsonIf an issue is identified with the released source code on the supported kernel 141d8b48a26SFelix Johnsonwith a supported adapter, email the specific information related to the 142d8b48a26SFelix Johnsonissue to 143d8b48a26SFelix Johnson.Aq Mt freebsd@intel.com . 144d8b48a26SFelix Johnson.Sh SEE ALSO 145d8b48a26SFelix Johnson.Xr altq 4 , 146d8b48a26SFelix Johnson.Xr arp 4 , 147d8b48a26SFelix Johnson.Xr iflib 4 , 148d8b48a26SFelix Johnson.Xr netintro 4 , 149d8b48a26SFelix Johnson.Xr ng_ether 4 , 150d8b48a26SFelix Johnson.Xr polling 4 , 151d8b48a26SFelix Johnson.Xr vlan 4 , 152*a340b464SFelix Johnson.Xr ifconfig 8 , 153*a340b464SFelix Johnson.Xr sysctl 8 154d8b48a26SFelix Johnson.Sh HISTORY 155d8b48a26SFelix JohnsonThe 156d8b48a26SFelix Johnson.Nm 157d8b48a26SFelix Johnsondevice driver first appeared in 158d8b48a26SFelix Johnson.Fx 7.0 . 159d8b48a26SFelix Johnson.Sh AUTHORS 160d8b48a26SFelix JohnsonThe 161d8b48a26SFelix Johnson.Nm 162d8b48a26SFelix Johnsondriver was written by 163d8b48a26SFelix Johnson.An Intel Corporation Aq Mt freebsd@intel.com . 164d8b48a26SFelix Johnson.Sh CAVEATS 165d8b48a26SFelix JohnsonIntel (R) Flow director support is not fully implemented in 166d8b48a26SFelix Johnson.Fx 167d8b48a26SFelix Johnsonat this time and additional work is required 168d8b48a26SFelix Johnsonbefore those features can be supported. 169d8b48a26SFelix Johnson.Pp 170d8b48a26SFelix JohnsonEnabling flow director may route traffic to the wrong RX queue of the NIC, 171d8b48a26SFelix Johnsonresulting in sub-optimal performance on the receive side. 172