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