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