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