18e5e42d5SMathieu Simon.\"- 28e5e42d5SMathieu Simon.\" SPDX-License-Identifier: BSD-3-Clause 38e5e42d5SMathieu Simon.\" 48e5e42d5SMathieu Simon.\" Copyright (c) 2019-2020, Intel Corporation 58e5e42d5SMathieu Simon.\" All rights reserved. 68e5e42d5SMathieu Simon.\" 78e5e42d5SMathieu Simon.\" Redistribution and use in source and binary forms of the Software, with or 88e5e42d5SMathieu Simon.\" without modification, are permitted provided that the following conditions 98e5e42d5SMathieu Simon.\" are met: 108e5e42d5SMathieu Simon.\" 1. Redistributions of source code must retain the above copyright notice, 118e5e42d5SMathieu Simon.\" this list of conditions and the following disclaimer. 128e5e42d5SMathieu Simon.\" 138e5e42d5SMathieu Simon.\" 2. Redistributions in binary form must reproduce the above copyright notice, 148e5e42d5SMathieu Simon.\" this list of conditions and the following disclaimer in the documentation 158e5e42d5SMathieu Simon.\" and/or other materials provided with the distribution. 168e5e42d5SMathieu Simon.\" 178e5e42d5SMathieu Simon.\" 3. Neither the name of the Intel Corporation nor the names of its 188e5e42d5SMathieu Simon.\" contributors may be used to endorse or promote products derived from 198e5e42d5SMathieu Simon.\" this Software without specific prior written permission. 208e5e42d5SMathieu Simon.\" 218e5e42d5SMathieu Simon.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 228e5e42d5SMathieu Simon.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 238e5e42d5SMathieu Simon.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 248e5e42d5SMathieu Simon.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 258e5e42d5SMathieu Simon.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 268e5e42d5SMathieu Simon.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 278e5e42d5SMathieu Simon.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 288e5e42d5SMathieu Simon.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 298e5e42d5SMathieu Simon.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 308e5e42d5SMathieu Simon.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 318e5e42d5SMathieu Simon.\" POSSIBILITY OF SUCH DAMAGE. 328e5e42d5SMathieu Simon.\" 338e5e42d5SMathieu Simon.\" * Other names and brands may be claimed as the property of others. 348e5e42d5SMathieu Simon.\" 358e5e42d5SMathieu Simon.Dd May 20, 2024 368e5e42d5SMathieu Simon.Dt ICE 4 378e5e42d5SMathieu Simon.Os 388e5e42d5SMathieu Simon.Sh NAME 398e5e42d5SMathieu Simon.Nm ice 408e5e42d5SMathieu Simon.Nd "Intel Ethernet 800 Series Driver" 418e5e42d5SMathieu Simon.Sh SYNOPSIS 428e5e42d5SMathieu SimonTo compile this driver into the kernel, place the following lines in your 438e5e42d5SMathieu Simonkernel configuration file: 448e5e42d5SMathieu Simon.Bd -ragged -offset indent 458e5e42d5SMathieu Simon.Cd "device iflib" 468e5e42d5SMathieu Simon.Cd "device ice" 478e5e42d5SMathieu Simon.Ed 488e5e42d5SMathieu Simon.Pp 498e5e42d5SMathieu SimonTo load the driver as a module at boot time, place the following lines in 508e5e42d5SMathieu Simon.Xr loader.conf 5 : 518e5e42d5SMathieu Simon.Bd -literal -offset indent 528e5e42d5SMathieu Simonif_ice_load="YES" 538e5e42d5SMathieu Simon.Ed 548e5e42d5SMathieu Simon.Sh DESCRIPTION 558e5e42d5SMathieu Simon.Ss Features 568e5e42d5SMathieu SimonThe 578e5e42d5SMathieu Simon.Nm 588e5e42d5SMathieu Simondriver provides support for any PCI Express adapter or LOM 598e5e42d5SMathieu Simon(LAN On Motherboard) 608e5e42d5SMathieu Simonin the Intel Ethernet 800 Series. 618e5e42d5SMathieu SimonAs of this writing, the series includes devices with these model numbers: 628e5e42d5SMathieu Simon.Pp 638e5e42d5SMathieu Simon.Bl -bullet -compact 648e5e42d5SMathieu Simon.It 658e5e42d5SMathieu SimonIntel\(rg Ethernet Controller E810\-C 668e5e42d5SMathieu Simon.It 678e5e42d5SMathieu SimonIntel\(rg Ethernet Controller E810\-XXV 688e5e42d5SMathieu Simon.It 698e5e42d5SMathieu SimonIntel\(rg Ethernet Connection E822\-C 708e5e42d5SMathieu Simon.It 718e5e42d5SMathieu SimonIntel\(rg Ethernet Connection E822\-L 728e5e42d5SMathieu Simon.It 738e5e42d5SMathieu SimonIntel\(rg Ethernet Connection E823\-C 748e5e42d5SMathieu Simon.It 758e5e42d5SMathieu SimonIntel\(rg Ethernet Connection E823\-L 768e5e42d5SMathieu Simon.El 778e5e42d5SMathieu Simon.Pp 788e5e42d5SMathieu SimonFor questions related to hardware requirements, refer to the documentation 798e5e42d5SMathieu Simonsupplied with your adapter. 808e5e42d5SMathieu Simon.Pp 818e5e42d5SMathieu SimonSupport for Jumbo Frames is provided via the interface MTU setting. 828e5e42d5SMathieu SimonSelecting an MTU larger than 1500 bytes with the 838e5e42d5SMathieu Simon.Xr ifconfig 8 848e5e42d5SMathieu Simonutility configures the adapter to receive and transmit Jumbo Frames. 858e5e42d5SMathieu SimonThe maximum MTU size for Jumbo Frames is 9706. 868e5e42d5SMathieu SimonThis value coincides with the maximum Jumbo Frame size of 9728. 878e5e42d5SMathieu Simon.Pp 888e5e42d5SMathieu SimonThis driver version supports VLANs. 898e5e42d5SMathieu SimonFor information on enabling VLANs, see the 908e5e42d5SMathieu Simon.Pa README . 918e5e42d5SMathieu Simon.Pp 928e5e42d5SMathieu SimonOffloads are also controlled via the interface, for instance, checksumming for 938e5e42d5SMathieu Simonboth IPv4 and IPv6 can be set and unset, TSO4 and/or TSO6, and finally LRO can 948e5e42d5SMathieu Simonbe set and unset. 958e5e42d5SMathieu Simon.Pp 968e5e42d5SMathieu SimonFor more information on configuring this device, see 978e5e42d5SMathieu Simon.Xr ifconfig 8 . 988e5e42d5SMathieu Simon.Ss Additional Utilities 998e5e42d5SMathieu SimonThere are additional tools available from Intel to help configure and update 1008e5e42d5SMathieu Simonthe adapters covered by this driver. 1018e5e42d5SMathieu SimonThese tools can be downloaded directly from Intel at 1028e5e42d5SMathieu Simon.Lk https://downloadcenter.intel.com , 1038e5e42d5SMathieu Simonby searching for their names, or by installing certain packages: 1048e5e42d5SMathieu Simon.Bl -bullet 1058e5e42d5SMathieu Simon.It 1068e5e42d5SMathieu SimonTo change the behavior of the QSFP28 ports on E810-C adapters, use the 1078e5e42d5SMathieu SimonIntel EPCT (Ethernet Port configuration tool); installed by the 1088e5e42d5SMathieu Simon.Em sysutils/intel-epct 1098e5e42d5SMathieu Simonpackage. 1108e5e42d5SMathieu Simon.It 1118e5e42d5SMathieu SimonTo update the firmware on an adapter, use the Intel Non-Volatile Memory (NVM) 1128e5e42d5SMathieu SimonUpdate Utility for Intel Network Adapter 800 series; installed by the 1138e5e42d5SMathieu Simon.Em sysutils/intel-nvmupdate-100g 1148e5e42d5SMathieu Simonpackage. 1158e5e42d5SMathieu Simon.El 1168e5e42d5SMathieu Simon.Sh HARDWARE 117*f4bd011aSAlexander ZiaeeThe 118*f4bd011aSAlexander Ziaee.Nm 119*f4bd011aSAlexander Ziaeedriver supports the Intel Ethernet 800 series. 120*f4bd011aSAlexander ZiaeeMost adapters in this series with SFP28/QSFP28 cages 1218e5e42d5SMathieu Simonhave firmware that requires that Intel qualified modules are used; these 1228e5e42d5SMathieu Simonqualified modules are listed below. 1238e5e42d5SMathieu SimonThis qualification check cannot be disabled by the driver. 1248e5e42d5SMathieu Simon.Pp 1258e5e42d5SMathieu SimonThe 1268e5e42d5SMathieu Simon.Nm 1278e5e42d5SMathieu Simondriver supports 100Gb Ethernet adapters with these QSFP28 modules: 1288e5e42d5SMathieu Simon.Pp 1298e5e42d5SMathieu Simon.Bl -bullet -compact 1308e5e42d5SMathieu Simon.It 1318e5e42d5SMathieu SimonIntel\(rg 100G QSFP28 100GBASE-SR4 E100GQSFPSR28SRX 1328e5e42d5SMathieu Simon.It 1338e5e42d5SMathieu SimonIntel\(rg 100G QSFP28 100GBASE-SR4 SPTMBP1PMCDF 1348e5e42d5SMathieu Simon.It 1358e5e42d5SMathieu SimonIntel\(rg 100G QSFP28 100GBASE-CWDM4 SPTSBP3CLCCO 1368e5e42d5SMathieu Simon.It 1378e5e42d5SMathieu SimonIntel\(rg 100G QSFP28 100GBASE-DR SPTSLP2SLCDF 1388e5e42d5SMathieu Simon.El 1398e5e42d5SMathieu Simon.Pp 1408e5e42d5SMathieu SimonThe 1418e5e42d5SMathieu Simon.Nm 1428e5e42d5SMathieu Simondriver supports 25Gb and 10Gb Ethernet adapters with these SFP28 modules: 1438e5e42d5SMathieu Simon.Pp 1448e5e42d5SMathieu Simon.Bl -bullet -compact 1458e5e42d5SMathieu Simon.It 1468e5e42d5SMathieu SimonIntel\(rg 10G/25G SFP28 25GBASE-SR E25GSFP28SR 1478e5e42d5SMathieu Simon.It 1488e5e42d5SMathieu SimonIntel\(rg 25G SFP28 25GBASE-SR E25GSFP28SRX (Extended Temp) 1498e5e42d5SMathieu Simon.It 1508e5e42d5SMathieu SimonIntel\(rg 25G SFP28 25GBASE-LR E25GSFP28LRX (Extended Temp) 1518e5e42d5SMathieu Simon.El 1528e5e42d5SMathieu Simon.Pp 1538e5e42d5SMathieu SimonThe 1548e5e42d5SMathieu Simon.Nm 1558e5e42d5SMathieu Simondriver supports 10Gb and 1Gb Ethernet adapters with these SFP+ modules: 1568e5e42d5SMathieu Simon.Pp 1578e5e42d5SMathieu Simon.Bl -bullet -compact 1588e5e42d5SMathieu Simon.It 1598e5e42d5SMathieu SimonIntel\(rg 1G/10G SFP+ 10GBASE-SR E10GSFPSR 1608e5e42d5SMathieu Simon.It 1618e5e42d5SMathieu SimonIntel\(rg 1G/10G SFP+ 10GBASE-SR E10GSFPSRG1P5 1628e5e42d5SMathieu Simon.It 1638e5e42d5SMathieu SimonIntel\(rg 1G/10G SFP+ 10GBASE-SR E10GSFPSRG2P5 1648e5e42d5SMathieu Simon.It 1658e5e42d5SMathieu SimonIntel\(rg 10G SFP+ 10GBASE-SR E10GSFPSRX (Extended Temp) 1668e5e42d5SMathieu Simon.It 1678e5e42d5SMathieu SimonIntel\(rg 1G/10G SFP+ 10GBASE-LR E10GSFPLR 1688e5e42d5SMathieu Simon.El 1698e5e42d5SMathieu Simon.Pp 1708e5e42d5SMathieu SimonNote that adapters also support all passive and active 1718e5e42d5SMathieu Simonlimiting direct attach cables that comply with SFF-8431 v4.1 and 1728e5e42d5SMathieu SimonSFF-8472 v10.4 specifications. 1738e5e42d5SMathieu Simon.Pp 1748e5e42d5SMathieu SimonThis is not an exhaustive list; please consult product documentation for an 1758e5e42d5SMathieu Simonup-to-date list of supported media. 1768e5e42d5SMathieu Simon.Sh LOADER TUNABLES 1778e5e42d5SMathieu SimonTunables can be set at the 1788e5e42d5SMathieu Simon.Xr loader 8 1798e5e42d5SMathieu Simonprompt before booting the kernel or stored in 1808e5e42d5SMathieu Simon.Xr loader.conf 5 . 1818e5e42d5SMathieu SimonSee the 1828e5e42d5SMathieu Simon.Xr iflib 4 1838e5e42d5SMathieu Simonman page for more information on using iflib sysctl variables as tunables. 1848e5e42d5SMathieu Simon.Bl -tag -width indent 1858e5e42d5SMathieu Simon.It Va hw.ice.#.enable_health_events 1868e5e42d5SMathieu SimonTBW 1878e5e42d5SMathieu Simon.It Va hw.ice.#.debug.enable_tx_fc_filter 1888e5e42d5SMathieu SimonTBW 1898e5e42d5SMathieu Simon.It Va hw.ice.#.debug.enable_tx_lldp_filter 1908e5e42d5SMathieu SimonTBW 1918e5e42d5SMathieu Simon.It Va hw.ice.#.debug.enable_health_events 1928e5e42d5SMathieu SimonTBW 1938e5e42d5SMathieu Simon.El 1948e5e42d5SMathieu Simon.Sh SYSCTL PROCEDURES 1958e5e42d5SMathieu Simon.Bl -tag -width indent 1968e5e42d5SMathieu Simon.It Va dev.ice.#.fc 1978e5e42d5SMathieu SimonAllows one to set the flow control value. 1988e5e42d5SMathieu SimonA value of 0 disables flow control, 3 enables full, 1 is RX, and 2 is 1998e5e42d5SMathieu SimonTX pause. 2008e5e42d5SMathieu Simon.It Va dev.ice.#.advertise_speed 2018e5e42d5SMathieu SimonAllows one to set advertised link speeds, this will then cause a link 2028e5e42d5SMathieu Simonrenegotiation. 2038e5e42d5SMathieu Simon.It Va dev.ice.#.current_speed 2048e5e42d5SMathieu SimonThis is a display of the current setting. 2058e5e42d5SMathieu Simon.It Va dev.ice.#.fw_version 2068e5e42d5SMathieu SimonDisplays the current firmware and NVM versions of the adapter. 2078e5e42d5SMathieu Simon.It Va dev.ice.#.ddp_version 2088e5e42d5SMathieu SimonTBW 2098e5e42d5SMathieu Simon.It Va dev.ice.#.requested_fec 2108e5e42d5SMathieu SimonTBW 2118e5e42d5SMathieu Simon.It Va dev.ice.#.negotiated_fec 2128e5e42d5SMathieu SimonTBW 2138e5e42d5SMathieu Simon.It Va dev.ice.#.fw_lldp_agent 2148e5e42d5SMathieu SimonTBW 2158e5e42d5SMathieu Simon.It Va dev.ice.#.ets_min_rate 2168e5e42d5SMathieu SimonTBW 2178e5e42d5SMathieu Simon.It Va dev.ice.#.up2tc_map 2188e5e42d5SMathieu SimonTBW 2198e5e42d5SMathieu Simon.It Va dev.ice.#.pfc 2208e5e42d5SMathieu SimonTBW 2218e5e42d5SMathieu Simon.El 2228e5e42d5SMathieu Simon.Sh INTERRUPT STORMS 2238e5e42d5SMathieu SimonIt is important to note that 100G operation can generate high 2248e5e42d5SMathieu Simonnumbers of interrupts, often incorrectly being interpreted as 2258e5e42d5SMathieu Simona storm condition in the kernel. 2268e5e42d5SMathieu SimonIt is suggested that this be resolved by setting 2278e5e42d5SMathieu Simon.Va hw.intr_storm_threshold 2288e5e42d5SMathieu Simonto 0. 2298e5e42d5SMathieu Simon.Sh SUPPORT 2308e5e42d5SMathieu SimonFor general information and support, 2318e5e42d5SMathieu Simongo to the Intel support website at: 2328e5e42d5SMathieu Simon.Lk http://www.intel.com/support/ . 2338e5e42d5SMathieu Simon.Pp 2348e5e42d5SMathieu SimonIf an issue is identified with this driver with a supported adapter, 2358e5e42d5SMathieu Simonemail all the specific information related to the issue to 2368e5e42d5SMathieu Simon.Aq Mt freebsd@intel.com . 2378e5e42d5SMathieu Simon.Sh SEE ALSO 2388e5e42d5SMathieu Simon.Xr arp 4 , 2398e5e42d5SMathieu Simon.Xr iflib 4 , 2408e5e42d5SMathieu Simon.Xr netintro 4 , 2418e5e42d5SMathieu Simon.Xr ng_ether 4 , 2428e5e42d5SMathieu Simon.Xr vlan 4 , 2438e5e42d5SMathieu Simon.Xr ifconfig 8 2448e5e42d5SMathieu Simon.Sh HISTORY 2458e5e42d5SMathieu SimonThe 2468e5e42d5SMathieu Simon.Nm 2478e5e42d5SMathieu Simondevice driver first appeared in 2488e5e42d5SMathieu Simon.Fx 12.2 . 2498e5e42d5SMathieu Simon.Sh AUTHORS 2508e5e42d5SMathieu SimonThe 2518e5e42d5SMathieu Simon.Nm 2528e5e42d5SMathieu Simondriver was written by 2538e5e42d5SMathieu Simon.An Intel Corporation Aq Mt freebsd@intel.com . 254