1.\"- 2.\" Copyright 2021 Intel Corp 3.\" Copyright 2021 Rubicon Communications, LLC (Netgate) 4.\" SPDX-License-Identifier: BSD-3-Clause 5.\" 6.Dd May 10, 2021 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.rx_process_limit 122Maximum number of received packets to process at a time. 123Default is 100. 124A value of -1 means unlimited. 125.It Va hw.igc.eee_setting 126Disable or enable Energy Efficient Ethernet. 127Default 1 (disabled). 128.It Va hw.igc.max_interrupt_rate 129Maximum device interrupts per second. 130The default is 8000. 131.El 132.Sh DIAGNOSTICS 133.Bl -diag 134.It "igc%d: Hardware Initialization Failed" 135A fatal initialization error has occurred. 136.It "igc%d: Unable to allocate bus resource: memory" 137A fatal initialization error has occurred. 138.It "igc%d: Invalid MAC address" 139The MAC address programmed into the EEPROM is either empty or a multicast/broadcast 140address. 141.El 142.Sh SEE ALSO 143.Xr altq 4 , 144.Xr arp 4 , 145.Xr iflib 4 , 146.Xr netintro 4 , 147.Xr ng_ether 4 , 148.Xr vlan 4 , 149.Xr ifconfig 8 150.Sh HISTORY 151The 152.Nm 153device driver first appeared in 154.Fx 14.0 . 155.Sh AUTHORS 156.An -nosplit 157The 158.Nm 159was originally written by 160.An Intel Corporation 161and converted to the 162.Xr iflib 4 163framework by 164.An Netgate . 165