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.Pp 80.Sh HARDWARE 81The 82.Nm 83driver supports the following models: 84.Pp 85.Bl -bullet -compact 86.It 87I225-LM 88.It 89I225-V 90.It 91I225-IT 92.It 93I225-K 94.El 95.Sh LOADER TUNABLES 96Tunables can be set at the 97.Xr loader 8 98prompt before booting the kernel or stored in 99.Xr loader.conf 5 . 100.Bl -tag -width indent 101.It Va hw.igc.igc_disable_crc_stripping 102Disable or enable hardware stripping of CRC field. 103This is mostly useful on BMC/IPMI shared interfaces where stripping the 104CRC causes remote access over IPMI to fail. 105Default 0 (enabled). 106.It Va hw.igc.rx_int_delay 107This value delays the generation of receive interrupts in units 108of 1.024 microseconds. 109The default value is 0, since adapters may hang with this feature being 110enabled. 111.It Va hw.igc.rx_abs_int_delay 112If hw.igc.rx_int_delay is non-zero, this tunable limits the 113maximum delay in which a receive interrupt is generated. 114.It Va hw.igc.tx_int_delay 115This value delays the generation of transmit interrupts in units 116of 1.024 microseconds. 117The default value is 64. 118.It Va hw.igc.tx_abs_int_delay 119If hw.igc.tx_int_delay is non-zero, this tunable limits the 120maximum delay in which a transmit interrupt is generated. 121.It Va hw.igc.sbp 122Show bad packets when in promiscuous mode. 123Default is false. 124.It Va hw.igc.rx_process_limit 125Maximum number of received packets to process at a time. 126Default is 100. 127A value of -1 means unlimited. 128.It Va hw.igc.eee_setting 129Disable or enable Energy Efficient Ethernet. 130Default 1 (disabled). 131.It Va hw.igc.max_interrupt_rate 132Maximum device interrupts per second. 133The default is 8000. 134.El 135.Sh DIAGNOSTICS 136.Bl -diag 137.It "igc%d: Hardware Initialization Failed" 138A fatal initialization error has occurred. 139.It "igc%d: Unable to allocate bus resource: memory" 140A fatal initialization error has occurred. 141.It "igc%d: Invalid MAC address" 142The MAC address programmed into the EEPROM is either empty or a multicast/broadcast 143address. 144.El 145.Sh SEE ALSO 146.Xr altq 4 , 147.Xr arp 4 , 148.Xr iflib 4 , 149.Xr netintro 4 , 150.Xr ng_ether 4 , 151.Xr vlan 4 , 152.Xr ifconfig 8 153.Sh HISTORY 154The 155.Nm 156device driver first appeared in 157.Fx 14.0 . 158.Sh AUTHORS 159.An -nosplit 160The 161.Nm 162was originally written by 163.An Intel Corporation 164and converted to the 165.Xr iflib 4 166framework by 167.An Netgate . 168