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