1517904deSPeter Grehan.\"- 2517904deSPeter Grehan.\" Copyright 2021 Intel Corp 3517904deSPeter Grehan.\" Copyright 2021 Rubicon Communications, LLC (Netgate) 4517904deSPeter Grehan.\" SPDX-License-Identifier: BSD-3-Clause 5517904deSPeter Grehan.\" 6*f221d35bSMarius Strobl.Dd January 9, 2023 7331d4f3cSTrond Endrestol.Dt IGC 4 8517904deSPeter Grehan.Os 9517904deSPeter Grehan.Sh NAME 10517904deSPeter Grehan.Nm igc 11517904deSPeter Grehan.Nd "Intel Ethernet Controller I225 driver" 12517904deSPeter Grehan.Sh SYNOPSIS 13517904deSPeter GrehanTo compile this driver into the kernel, 14517904deSPeter Grehanplace the following lines in your 15517904deSPeter Grehankernel configuration file: 16517904deSPeter Grehan.Bd -ragged -offset indent 17517904deSPeter Grehan.Cd "device iflib" 18517904deSPeter Grehan.Cd "device igc" 19517904deSPeter Grehan.Ed 20517904deSPeter Grehan.Pp 21517904deSPeter GrehanAlternatively, to load the driver as a 22517904deSPeter Grehanmodule at boot time, place the following line in 23517904deSPeter Grehan.Xr loader.conf 5 : 24517904deSPeter Grehan.Bd -literal -offset indent 25517904deSPeter Grehanif_igc_load="YES" 26517904deSPeter Grehan.Ed 27517904deSPeter Grehan.Sh DESCRIPTION 28517904deSPeter GrehanThe 29517904deSPeter Grehan.Nm 30517904deSPeter Grehandriver provides support for any PCI Express adapter or LOM (LAN 31517904deSPeter GrehanOn Motherboard) based on the Intel I225 Multi Gigabit Controller. 32517904deSPeter GrehanThe driver supports Transmit/Receive checksum offload, Jumbo Frames, 33517904deSPeter GrehanMSI/MSI-X, TSO, and RSS. 34517904deSPeter Grehan.Pp 35517904deSPeter GrehanSupport for Jumbo Frames is provided via the interface MTU setting. 36517904deSPeter GrehanSelecting an MTU larger than 1500 bytes with the 37517904deSPeter Grehan.Xr ifconfig 8 38517904deSPeter Grehanutility 39517904deSPeter Grehanconfigures the adapter to receive and transmit Jumbo Frames. 40517904deSPeter GrehanThe maximum MTU size for Jumbo Frames is 9216 bytes. 41517904deSPeter Grehan.Pp 42517904deSPeter GrehanThis driver version supports VLAN hardware insertion / extraction, and 43517904deSPeter GrehanVLAN checksum offload. 44517904deSPeter GrehanFor information on enabling VLANs, see 45517904deSPeter Grehan.Xr ifconfig 8 . 46517904deSPeter GrehanThe 47517904deSPeter Grehan.Nm 48517904deSPeter Grehandriver supports the following media types: 49517904deSPeter Grehan.Bl -tag -width ".Cm 10baseT/UTP" 50517904deSPeter Grehan.It Cm autoselect 51517904deSPeter GrehanEnables auto-negotiation for speed and duplex. 52517904deSPeter Grehan.It Cm 10baseT/UTP 53517904deSPeter GrehanSets 10Mbps operation. 54517904deSPeter GrehanUse the 55517904deSPeter Grehan.Cm mediaopt 56517904deSPeter Grehanoption to select 57517904deSPeter Grehan.Cm half-duplex 58517904deSPeter Grehanmode. 59517904deSPeter Grehan.It Cm 100baseTX 60517904deSPeter GrehanSets 100Mbps operation. 61517904deSPeter GrehanUse the 62517904deSPeter Grehan.Cm mediaopt 63517904deSPeter Grehanoption to select 64517904deSPeter Grehan.Cm half-duplex 65517904deSPeter Grehanmode. 66517904deSPeter Grehan.It Cm 1000baseT 67517904deSPeter GrehanSets 1000Mbps operation. 68517904deSPeter GrehanOnly 69517904deSPeter Grehan.Cm full-duplex 70517904deSPeter Grehanmode is supported at this speed. 71517904deSPeter Grehan.It Cm 2500baseT 72517904deSPeter GrehanSets 2500Mbps operation. 73517904deSPeter GrehanOnly 74517904deSPeter Grehan.Cm full-duplex 75517904deSPeter Grehanmode is supported at this speed. 76517904deSPeter Grehan.El 77517904deSPeter Grehan.Sh HARDWARE 78517904deSPeter GrehanThe 79517904deSPeter Grehan.Nm 80517904deSPeter Grehandriver supports the following models: 81517904deSPeter Grehan.Pp 82517904deSPeter Grehan.Bl -bullet -compact 83517904deSPeter Grehan.It 84517904deSPeter GrehanI225-LM 85517904deSPeter Grehan.It 86517904deSPeter GrehanI225-V 87517904deSPeter Grehan.It 88517904deSPeter GrehanI225-IT 89517904deSPeter Grehan.It 90517904deSPeter GrehanI225-K 91517904deSPeter Grehan.El 92517904deSPeter Grehan.Sh LOADER TUNABLES 93517904deSPeter GrehanTunables can be set at the 94517904deSPeter Grehan.Xr loader 8 95517904deSPeter Grehanprompt before booting the kernel or stored in 96517904deSPeter Grehan.Xr loader.conf 5 . 97517904deSPeter Grehan.Bl -tag -width indent 98517904deSPeter Grehan.It Va hw.igc.igc_disable_crc_stripping 99517904deSPeter GrehanDisable or enable hardware stripping of CRC field. 100517904deSPeter GrehanThis is mostly useful on BMC/IPMI shared interfaces where stripping the 101517904deSPeter GrehanCRC causes remote access over IPMI to fail. 102517904deSPeter GrehanDefault 0 (enabled). 103517904deSPeter Grehan.It Va hw.igc.rx_int_delay 104517904deSPeter GrehanThis value delays the generation of receive interrupts in units 105517904deSPeter Grehanof 1.024 microseconds. 106517904deSPeter GrehanThe default value is 0, since adapters may hang with this feature being 107517904deSPeter Grehanenabled. 108517904deSPeter Grehan.It Va hw.igc.rx_abs_int_delay 109517904deSPeter GrehanIf hw.igc.rx_int_delay is non-zero, this tunable limits the 110517904deSPeter Grehanmaximum delay in which a receive interrupt is generated. 111517904deSPeter Grehan.It Va hw.igc.tx_int_delay 112517904deSPeter GrehanThis value delays the generation of transmit interrupts in units 113517904deSPeter Grehanof 1.024 microseconds. 114517904deSPeter GrehanThe default value is 64. 115517904deSPeter Grehan.It Va hw.igc.tx_abs_int_delay 116517904deSPeter GrehanIf hw.igc.tx_int_delay is non-zero, this tunable limits the 117517904deSPeter Grehanmaximum delay in which a transmit interrupt is generated. 118517904deSPeter Grehan.It Va hw.igc.sbp 119517904deSPeter GrehanShow bad packets when in promiscuous mode. 120517904deSPeter GrehanDefault is false. 121517904deSPeter Grehan.It Va hw.igc.eee_setting 122517904deSPeter GrehanDisable or enable Energy Efficient Ethernet. 123517904deSPeter GrehanDefault 1 (disabled). 124517904deSPeter Grehan.It Va hw.igc.max_interrupt_rate 125517904deSPeter GrehanMaximum device interrupts per second. 126517904deSPeter GrehanThe default is 8000. 127517904deSPeter Grehan.El 128517904deSPeter Grehan.Sh DIAGNOSTICS 129517904deSPeter Grehan.Bl -diag 130517904deSPeter Grehan.It "igc%d: Hardware Initialization Failed" 131517904deSPeter GrehanA fatal initialization error has occurred. 132517904deSPeter Grehan.It "igc%d: Unable to allocate bus resource: memory" 133517904deSPeter GrehanA fatal initialization error has occurred. 134517904deSPeter Grehan.It "igc%d: Invalid MAC address" 135517904deSPeter GrehanThe MAC address programmed into the EEPROM is either empty or a multicast/broadcast 136517904deSPeter Grehanaddress. 137517904deSPeter Grehan.El 138517904deSPeter Grehan.Sh SEE ALSO 139517904deSPeter Grehan.Xr altq 4 , 140517904deSPeter Grehan.Xr arp 4 , 141517904deSPeter Grehan.Xr iflib 4 , 142517904deSPeter Grehan.Xr netintro 4 , 143517904deSPeter Grehan.Xr ng_ether 4 , 144517904deSPeter Grehan.Xr vlan 4 , 145517904deSPeter Grehan.Xr ifconfig 8 146517904deSPeter Grehan.Sh HISTORY 147517904deSPeter GrehanThe 148517904deSPeter Grehan.Nm 149517904deSPeter Grehandevice driver first appeared in 150ba719a0fSTom Hukins.Fx 13.1 . 151517904deSPeter Grehan.Sh AUTHORS 152517904deSPeter Grehan.An -nosplit 153517904deSPeter GrehanThe 154517904deSPeter Grehan.Nm 155517904deSPeter Grehanwas originally written by 156517904deSPeter Grehan.An Intel Corporation 157517904deSPeter Grehanand converted to the 158517904deSPeter Grehan.Xr iflib 4 159517904deSPeter Grehanframework by 160517904deSPeter Grehan.An Netgate . 161