xref: /freebsd/share/man/man4/igc.4 (revision 7fdf597e96a02165cfe22ff357b857d5fa15ed8a)
1.\"-
2.\" Copyright 2021 Intel Corp
3.\" Copyright 2021 Rubicon Communications, LLC (Netgate)
4.\" SPDX-License-Identifier: BSD-3-Clause
5.\"
6.Dd January 9, 2023
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
84I220-V
85.It
86I221-V
87.It
88I225-LM
89.It
90I225-LMvP(2)
91.It
92I225-V
93.It
94I225-IT, I225-IT(2)
95.It
96I225-K, I225-K(2)
97.It
98I226-LM
99.It
100I226-LMvP
101.It
102I226-V
103.It
104I226-IT
105.It
106I226-K
107.El
108.Sh LOADER TUNABLES
109Tunables can be set at the
110.Xr loader 8
111prompt before booting the kernel or stored in
112.Xr loader.conf 5 .
113.Bl -tag -width indent
114.It Va hw.igc.igc_disable_crc_stripping
115Disable or enable hardware stripping of CRC field.
116This is mostly useful on BMC/IPMI shared interfaces where stripping the
117CRC causes remote access over IPMI to fail.
118Default 0 (enabled).
119.It Va hw.igc.sbp
120Show bad packets when in promiscuous mode.
121Default is false.
122.It Va hw.igc.eee_setting
123Disable or enable Energy Efficient Ethernet.
124Default 1 (disabled).
125.It Va hw.igc.max_interrupt_rate
126Maximum device interrupts per second.
127The default is 8000.
128.El
129.Sh DIAGNOSTICS
130.Bl -diag
131.It "igc%d: Hardware Initialization Failed"
132A fatal initialization error has occurred.
133.It "igc%d: Unable to allocate bus resource: memory"
134A fatal initialization error has occurred.
135.It "igc%d: Invalid MAC address"
136The MAC address programmed into the EEPROM is either empty or a multicast/broadcast
137address.
138.El
139.Sh SEE ALSO
140.Xr altq 4 ,
141.Xr arp 4 ,
142.Xr iflib 4 ,
143.Xr netintro 4 ,
144.Xr ng_ether 4 ,
145.Xr vlan 4 ,
146.Xr ifconfig 8
147.Sh HISTORY
148The
149.Nm
150device driver first appeared in
151.Fx 13.1 .
152.Sh AUTHORS
153.An -nosplit
154The
155.Nm
156was originally written by
157.An Intel Corporation
158and converted to the
159.Xr iflib 4
160framework by
161.An Netgate .
162