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.rx_int_delay 104This value delays the generation of receive interrupts in units 105of 1.024 microseconds. 106The default value is 0, since adapters may hang with this feature being 107enabled. 108.It Va hw.igc.rx_abs_int_delay 109If hw.igc.rx_int_delay is non-zero, this tunable limits the 110maximum delay in which a receive interrupt is generated. 111.It Va hw.igc.tx_int_delay 112This value delays the generation of transmit interrupts in units 113of 1.024 microseconds. 114The default value is 64. 115.It Va hw.igc.tx_abs_int_delay 116If hw.igc.tx_int_delay is non-zero, this tunable limits the 117maximum delay in which a transmit interrupt is generated. 118.It Va hw.igc.sbp 119Show bad packets when in promiscuous mode. 120Default is false. 121.It Va hw.igc.eee_setting 122Disable or enable Energy Efficient Ethernet. 123Default 1 (disabled). 124.It Va hw.igc.max_interrupt_rate 125Maximum device interrupts per second. 126The default is 8000. 127.El 128.Sh DIAGNOSTICS 129.Bl -diag 130.It "igc%d: Hardware Initialization Failed" 131A fatal initialization error has occurred. 132.It "igc%d: Unable to allocate bus resource: memory" 133A fatal initialization error has occurred. 134.It "igc%d: Invalid MAC address" 135The MAC address programmed into the EEPROM is either empty or a multicast/broadcast 136address. 137.El 138.Sh SEE ALSO 139.Xr altq 4 , 140.Xr arp 4 , 141.Xr iflib 4 , 142.Xr netintro 4 , 143.Xr ng_ether 4 , 144.Xr vlan 4 , 145.Xr ifconfig 8 146.Sh HISTORY 147The 148.Nm 149device driver first appeared in 150.Fx 13.1 . 151.Sh AUTHORS 152.An -nosplit 153The 154.Nm 155was originally written by 156.An Intel Corporation 157and converted to the 158.Xr iflib 4 159framework by 160.An Netgate . 161