1.\"- 2.\" Copyright 2021 Intel Corp 3.\" Copyright 2021 Rubicon Communications, LLC (Netgate) 4.\" SPDX-License-Identifier: BSD-3-Clause 5.\" 6.Dd January 9, 2023 7.Dt IGC 4 8.Os 9.Sh NAME 10.Nm igc 11.Nd "Intel Ethernet Controller I225 driver" 12.Sh SYNOPSIS 13To compile this driver into the kernel, 14place the following lines in your 15kernel configuration file: 16.Bd -ragged -offset indent 17.Cd "device iflib" 18.Cd "device igc" 19.Ed 20.Pp 21Alternatively, to load the driver as a 22module at boot time, place the following line in 23.Xr loader.conf 5 : 24.Bd -literal -offset indent 25if_igc_load="YES" 26.Ed 27.Sh DESCRIPTION 28The 29.Nm 30driver provides support for any PCI Express adapter or LOM (LAN 31On Motherboard) based on the Intel I225 Multi Gigabit Controller. 32The driver supports Transmit/Receive checksum offload, Jumbo Frames, 33MSI/MSI-X, TSO, and RSS. 34.Pp 35Support for Jumbo Frames is provided via the interface MTU setting. 36Selecting an MTU larger than 1500 bytes with the 37.Xr ifconfig 8 38utility 39configures the adapter to receive and transmit Jumbo Frames. 40The maximum MTU size for Jumbo Frames is 9216 bytes. 41.Pp 42This driver version supports VLAN hardware insertion / extraction, and 43VLAN checksum offload. 44For information on enabling VLANs, see 45.Xr ifconfig 8 . 46The 47.Nm 48driver supports the following media types: 49.Bl -tag -width ".Cm 10baseT/UTP" 50.It Cm autoselect 51Enables auto-negotiation for speed and duplex. 52.It Cm 10baseT/UTP 53Sets 10Mbps operation. 54Use the 55.Cm mediaopt 56option to select 57.Cm half-duplex 58mode. 59.It Cm 100baseTX 60Sets 100Mbps operation. 61Use the 62.Cm mediaopt 63option to select 64.Cm half-duplex 65mode. 66.It Cm 1000baseT 67Sets 1000Mbps operation. 68Only 69.Cm full-duplex 70mode is supported at this speed. 71.It Cm 2500baseT 72Sets 2500Mbps operation. 73Only 74.Cm full-duplex 75mode is supported at this speed. 76.El 77.Sh HARDWARE 78The 79.Nm 80driver supports the following models: 81.Pp 82.Bl -bullet -compact 83.It 84I220-V 85.It 86I221-V 87.It 88I225-LM 89.It 90I225-LMvP(2) 91.It 92I225-V 93.It 94I225-IT, I225-IT(2) 95.It 96I225-K, I225-K(2) 97.It 98I226-LM 99.It 100I226-LMvP 101.It 102I226-V 103.It 104I226-IT 105.It 106I226-K 107.El 108.Sh LOADER TUNABLES 109Tunables can be set at the 110.Xr loader 8 111prompt before booting the kernel or stored in 112.Xr loader.conf 5 . 113.Bl -tag -width indent 114.It Va hw.igc.igc_disable_crc_stripping 115Disable or enable hardware stripping of CRC field. 116This is mostly useful on BMC/IPMI shared interfaces where stripping the 117CRC causes remote access over IPMI to fail. 118Default 0 (enabled). 119.It Va hw.igc.sbp 120Show bad packets when in promiscuous mode. 121Default is false. 122.It Va hw.igc.eee_setting 123Disable or enable Energy Efficient Ethernet. 124Default 1 (disabled). 125.It Va hw.igc.max_interrupt_rate 126Maximum device interrupts per second. 127The default is 8000. 128.El 129.Sh DIAGNOSTICS 130.Bl -diag 131.It "igc%d: Hardware Initialization Failed" 132A fatal initialization error has occurred. 133.It "igc%d: Unable to allocate bus resource: memory" 134A fatal initialization error has occurred. 135.It "igc%d: Invalid MAC address" 136The MAC address programmed into the EEPROM is either empty or a multicast/broadcast 137address. 138.El 139.Sh SEE ALSO 140.Xr altq 4 , 141.Xr arp 4 , 142.Xr iflib 4 , 143.Xr netintro 4 , 144.Xr ng_ether 4 , 145.Xr vlan 4 , 146.Xr ifconfig 8 147.Sh HISTORY 148The 149.Nm 150device driver first appeared in 151.Fx 13.1 . 152.Sh AUTHORS 153.An -nosplit 154The 155.Nm 156was originally written by 157.An Intel Corporation 158and converted to the 159.Xr iflib 4 160framework by 161.An Netgate . 162