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 84I225-LM 85.It 86I225-V 87.It 88I225-IT 89.It 90I225-K 91.El 92.Sh LOADER TUNABLES 93Tunables can be set at the 94.Xr loader 8 95prompt before booting the kernel or stored in 96.Xr loader.conf 5 . 97.Bl -tag -width indent 98.It Va hw.igc.igc_disable_crc_stripping 99Disable or enable hardware stripping of CRC field. 100This is mostly useful on BMC/IPMI shared interfaces where stripping the 101CRC causes remote access over IPMI to fail. 102Default 0 (enabled). 103.It Va hw.igc.sbp 104Show bad packets when in promiscuous mode. 105Default is false. 106.It Va hw.igc.eee_setting 107Disable or enable Energy Efficient Ethernet. 108Default 1 (disabled). 109.It Va hw.igc.max_interrupt_rate 110Maximum device interrupts per second. 111The default is 8000. 112.El 113.Sh DIAGNOSTICS 114.Bl -diag 115.It "igc%d: Hardware Initialization Failed" 116A fatal initialization error has occurred. 117.It "igc%d: Unable to allocate bus resource: memory" 118A fatal initialization error has occurred. 119.It "igc%d: Invalid MAC address" 120The MAC address programmed into the EEPROM is either empty or a multicast/broadcast 121address. 122.El 123.Sh SEE ALSO 124.Xr altq 4 , 125.Xr arp 4 , 126.Xr iflib 4 , 127.Xr netintro 4 , 128.Xr ng_ether 4 , 129.Xr vlan 4 , 130.Xr ifconfig 8 131.Sh HISTORY 132The 133.Nm 134device driver first appeared in 135.Fx 13.1 . 136.Sh AUTHORS 137.An -nosplit 138The 139.Nm 140was originally written by 141.An Intel Corporation 142and converted to the 143.Xr iflib 4 144framework by 145.An Netgate . 146