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