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.\" 32*2d28fd51SAlexander Ziaee.Dd October 26, 2024 33d8b48a26SFelix Johnson.Dt IX 4 34d8b48a26SFelix Johnson.Os 35d8b48a26SFelix Johnson.Sh NAME 36d8b48a26SFelix Johnson.Nm ix 37*2d28fd51SAlexander Ziaee.Nd Intel 10Gb Ethernet driver 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 56*2d28fd51SAlexander Ziaeedriver provides support for Intel(R) 10Gb Ethernet PCIe adapters. 57d8b48a26SFelix JohnsonThe driver supports Jumbo Frames, MSIX, TSO, and RSS. 58d8b48a26SFelix Johnson.Pp 59d8b48a26SFelix JohnsonFor questions related to hardware requirements, 60d8b48a26SFelix Johnsonrefer to the documentation supplied with your Intel 10GbE adapter. 61d8b48a26SFelix JohnsonAll hardware requirements listed apply to use with 62d8b48a26SFelix Johnson.Fx . 63d8b48a26SFelix Johnson.Pp 64d8b48a26SFelix JohnsonSupport for Jumbo Frames is provided via the interface MTU setting. 65d8b48a26SFelix JohnsonSelecting an MTU larger than 1500 bytes with the 66d8b48a26SFelix Johnson.Xr ifconfig 8 67d8b48a26SFelix Johnsonutility configures the adapter to receive and transmit Jumbo Frames. 68d8b48a26SFelix JohnsonThe maximum MTU size for Jumbo Frames is 9710. 69d8b48a26SFelix Johnson.Pp 70d8b48a26SFelix JohnsonThis driver version supports VLANs. 71d8b48a26SFelix JohnsonFor information on enabling VLANs, see 72d8b48a26SFelix Johnson.Xr ifconfig 8 . 73d8b48a26SFelix Johnson.Sh HARDWARE 74d8b48a26SFelix JohnsonThe 75d8b48a26SFelix Johnson.Nm 76*2d28fd51SAlexander Ziaeedriver supports Intel 10Gb Ethernet PCIe adapters, 77*2d28fd51SAlexander Ziaeeincluding: 78d8b48a26SFelix Johnson.Pp 79d8b48a26SFelix Johnson.Bl -bullet -compact 80d8b48a26SFelix Johnson.It 81*2d28fd51SAlexander ZiaeeIntel(R) Ethernet X553 82d8b48a26SFelix Johnson.It 83*2d28fd51SAlexander ZiaeeIntel(R) Ethernet X552 84d8b48a26SFelix Johnson.It 85*2d28fd51SAlexander ZiaeeIntel(R) Ethernet X550 86d8b48a26SFelix Johnson.It 87*2d28fd51SAlexander ZiaeeIntel(R) Ethernet X540 Bypass 88*2d28fd51SAlexander Ziaee.It 89*2d28fd51SAlexander ZiaeeIntel(R) Ethernet X540 90*2d28fd51SAlexander Ziaee.It 91*2d28fd51SAlexander ZiaeeIntel(R) Ethernet X520 Bypass (82599) 92*2d28fd51SAlexander Ziaee.It 93*2d28fd51SAlexander ZiaeeIntel(R) Ethernet X520 (82599) 94*2d28fd51SAlexander Ziaee.It 95*2d28fd51SAlexander ZiaeeIntel(R) 10 Gigabit Server Adapter (82598EB) 96d8b48a26SFelix Johnson.El 97a340b464SFelix Johnson.Sh LOADER TUNABLES 98a340b464SFelix JohnsonThe 99a340b464SFelix Johnson.Nm 100a340b464SFelix Johnsondriver supports the following loader tunables: 101a340b464SFelix Johnson.Bl -tag -width "hw.ix.allow_unsupported_sfp" 102a340b464SFelix Johnson.It Va hw.ix.max_interrupt_rate 103a340b464SFelix JohnsonMaximum interrupts per second. 104a340b464SFelix Johnson.It Va hw.ix.flow_control 105a340b464SFelix JohnsonDefault flow control used for all adapters. 106a340b464SFelix Johnson.It Va hw.ix.advertise_speed 107a340b464SFelix JohnsonDefault advertised speed for all adapters. 108a340b464SFelix Johnson.It Va hw.ix.enable_msix 109a340b464SFelix JohnsonEnable Message Signalled Interrupts (MSI-X). 110a340b464SFelix Johnson.It Va hw.ix.allow_unsupported_sfp 111a340b464SFelix JohnsonAllow unsupported small form-factor pluggable 112a340b464SFelix Johnson.Pq SFP 113a340b464SFelix Johnsonmodules. 114a340b464SFelix JohnsonUse at your own risk. 115a340b464SFelix Johnson.It Va hw.ix.enable_fdir 116a340b464SFelix JohnsonEnable Flow Director. 117a340b464SFelix JohnsonFlow Director directs Ethernet packets to the core where the 118a340b464SFelix Johnsonpacket consuming process, application, container, 119a340b464SFelix Johnsonor microservice is running. 120a340b464SFelix Johnson.It Va hw.ix.enable_rss 121a340b464SFelix JohnsonEnable Receive-Side Scaling (RSS). 122a340b464SFelix JohnsonWhen RSS is enabled, all of the receive data processing for 123a340b464SFelix Johnsona particular TCP connection is shared across multiple processors 124a340b464SFelix Johnsonor processor cores. 125a340b464SFelix JohnsonWithout RSS, all of the processing is performed by a single 126a340b464SFelix Johnsonprocessor, resulting in inefficient system cache utilization. 127a340b464SFelix JohnsonThis has no effect if your system has only one processing unit. 128a340b464SFelix Johnson.It Va hw.ix.enable_aim 129a340b464SFelix JohnsonEnable Adaptive Interrupt Moderation (AIM). 130a340b464SFelix JohnsonVary the interrupt rate over time based on the traffic for 131a340b464SFelix Johnsonthat interrupt vector. 132a340b464SFelix Johnson.El 133d8b48a26SFelix Johnson.Sh DIAGNOSTICS 134d8b48a26SFelix Johnson.Bl -diag 135d8b48a26SFelix Johnson.It "ix%d: Unable to allocate bus resource: memory" 136d8b48a26SFelix JohnsonA fatal initialization error has occurred. 137d8b48a26SFelix Johnson.It "ix%d: Unable to allocate bus resource: interrupt" 138d8b48a26SFelix JohnsonA fatal initialization error has occurred. 139d8b48a26SFelix Johnson.It "ix%d: watchdog timeout -- resetting" 140d8b48a26SFelix JohnsonThe device has stopped responding to the network, or there is a problem with 141d8b48a26SFelix Johnsonthe network connection (cable). 142d8b48a26SFelix Johnson.El 143d8b48a26SFelix Johnson.Sh SUPPORT 144d8b48a26SFelix JohnsonFor general information and support, 145d8b48a26SFelix Johnsongo to the Intel support website at: 146d8b48a26SFelix Johnson.Pa http://support.intel.com . 147d8b48a26SFelix Johnson.Pp 148d8b48a26SFelix JohnsonIf an issue is identified with the released source code on the supported kernel 149d8b48a26SFelix Johnsonwith a supported adapter, email the specific information related to the 150d8b48a26SFelix Johnsonissue to 151d8b48a26SFelix Johnson.Aq Mt freebsd@intel.com . 152d8b48a26SFelix Johnson.Sh SEE ALSO 153d8b48a26SFelix Johnson.Xr altq 4 , 154d8b48a26SFelix Johnson.Xr arp 4 , 155d8b48a26SFelix Johnson.Xr iflib 4 , 156d8b48a26SFelix Johnson.Xr netintro 4 , 157d8b48a26SFelix Johnson.Xr ng_ether 4 , 158d8b48a26SFelix Johnson.Xr polling 4 , 159d8b48a26SFelix Johnson.Xr vlan 4 , 160a340b464SFelix Johnson.Xr ifconfig 8 , 161a340b464SFelix Johnson.Xr sysctl 8 162d8b48a26SFelix Johnson.Sh HISTORY 163d8b48a26SFelix JohnsonThe 164d8b48a26SFelix Johnson.Nm 165d8b48a26SFelix Johnsondevice driver first appeared in 166d8b48a26SFelix Johnson.Fx 7.0 . 167d8b48a26SFelix Johnson.Sh AUTHORS 168d8b48a26SFelix JohnsonThe 169d8b48a26SFelix Johnson.Nm 170d8b48a26SFelix Johnsondriver was written by 171d8b48a26SFelix Johnson.An Intel Corporation Aq Mt freebsd@intel.com . 172d8b48a26SFelix Johnson.Sh CAVEATS 173d8b48a26SFelix JohnsonIntel (R) Flow director support is not fully implemented in 174d8b48a26SFelix Johnson.Fx 175d8b48a26SFelix Johnsonat this time and additional work is required 176d8b48a26SFelix Johnsonbefore those features can be supported. 177d8b48a26SFelix Johnson.Pp 178d8b48a26SFelix JohnsonEnabling flow director may route traffic to the wrong RX queue of the NIC, 179d8b48a26SFelix Johnsonresulting in sub-optimal performance on the receive side. 180