]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/man/man4/em.4
Import device-tree files from Linux 6.4
[FreeBSD/FreeBSD.git] / share / man / man4 / em.4
1 .\" Copyright (c) 2001-2003, Intel Corporation
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions are met:
6 .\"
7 .\" 1. Redistributions of source code must retain the above copyright notice,
8 .\"    this list of conditions and the following disclaimer.
9 .\"
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\"    notice, this list of conditions and the following disclaimer in the
12 .\"    documentation and/or other materials provided with the distribution.
13 .\"
14 .\" 3. Neither the name of the Intel Corporation nor the names of its
15 .\"    contributors may be used to endorse or promote products derived from
16 .\"    this software without specific prior written permission.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 .\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22 .\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 .\" POSSIBILITY OF SUCH DAMAGE.
29 .\"
30 .\" * Other names and brands may be claimed as the property of others.
31 .\"
32 .\" $FreeBSD$
33 .\"
34 .Dd August 3, 2023
35 .Dt EM 4
36 .Os
37 .Sh NAME
38 .Nm em
39 .Nd "Intel(R) PRO/1000 Gigabit Ethernet adapter driver"
40 .Sh SYNOPSIS
41 To compile this driver into the kernel,
42 place the following lines in your
43 kernel configuration file:
44 .Bd -ragged -offset indent
45 .Cd "device iflib"
46 .Cd "device em"
47 .Ed
48 .Pp
49 Alternatively, to load the driver as a
50 module at boot time, place the following line in
51 .Xr loader.conf 5 :
52 .Bd -literal -offset indent
53 if_em_load="YES"
54 .Ed
55 .Sh DESCRIPTION
56 The
57 .Nm
58 driver provides support for PCI/PCI-X Gigabit Ethernet adapters based on
59 the Intel 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546,
60 82546EB, 82546GB, and 82547 controller chips.
61 .Pp
62 The
63 .Nm
64 driver provides support for PCI Express Gigabit Ethernet adapters
65 based on the Intel 82571, 82572, 82573, 82574, and 82583 Ethernet
66 controller chips.
67 .Pp
68 The
69 .Nm
70 driver provides support for Gigabit Ethernet adapters connected to I/O
71 Controller Hub (ICH) and Platform Controller Hub (PCH) including Intel
72 80003ES2LAN, 82562, 82566, 82567, 82577, 82578, 82579, i217, i218, and i219.
73 .Pp
74 The
75 .Nm
76 driver provides support for PCI Express Gigabit Ethernet adapters
77 based on the Intel 82575, 82576, 82580, i210, i211, and i35x.  These
78 appear as
79 .Cm igb
80 interfaces to maintain compatibility with existing infrastructure.
81 .Pp
82 The driver supports Transmit/Receive checksum offload and Jumbo Frames
83 on all but 82542-based adapters.
84 .Pp
85 Furthermore it supports TCP segmentation offload (TSO) on all adapters but
86 those based on the 82542, 82543, 82544 and 82547 controller chips.
87 The identification LEDs of the adapters supported by the
88 .Nm
89 driver can be controlled via the
90 .Xr led 4
91 API for localization purposes.
92 For further hardware information, see the
93 .Pa README
94 included with the driver.
95 .Pp
96 For questions related to hardware requirements, refer to the
97 documentation supplied with your Intel PRO/1000 adapter.
98 All hardware requirements listed apply to use with
99 .Fx .
100 .Pp
101 Support for Jumbo Frames is provided via the interface MTU setting.
102 Selecting an MTU larger than 1500 bytes with the
103 .Xr ifconfig 8
104 utility configures the adapter to receive and transmit Jumbo Frames.
105 The maximum MTU size for Jumbo Frames is 16114.
106 .Pp
107 This driver supports hardware assisted VLANs.
108 The
109 .Nm
110 driver supports the following media types:
111 .Bl -tag -width ".Cm 10baseT/UTP"
112 .It Cm autoselect
113 Enables auto-negotiation for speed and duplex.
114 .It Cm 10baseT/UTP
115 Sets 10Mbps operation.
116 Use the
117 .Cm mediaopt
118 option to select
119 .Cm full-duplex
120 mode.
121 .It Cm 100baseTX
122 Sets 100Mbps operation.
123 Use the
124 .Cm mediaopt
125 option to select
126 .Cm full-duplex
127 mode.
128 .It Cm 1000baseSX
129 Sets 1000Mbps operation.
130 Only
131 .Cm full-duplex
132 mode is supported at this speed.
133 .It Cm 1000baseTX
134 Sets 1000Mbps operation.
135 Only
136 .Cm full-duplex
137 mode is supported at this speed.
138 .El
139 .Pp
140 The
141 .Nm
142 driver supports the following media options:
143 .Bl -tag -width ".Cm full-duplex"
144 .It Cm full-duplex
145 Forces full-duplex operation
146 .It Cm half-duplex
147 Forces half-duplex operation.
148 .El
149 .Pp
150 Only use
151 .Cm mediaopt
152 to set the driver to
153 .Cm full-duplex .
154 If
155 .Cm mediaopt
156 is not specified, the driver defaults to
157 .Cm half-duplex .
158 .Pp
159 For more information on configuring this device, see
160 .Xr ifconfig 8 .
161 .Sh HARDWARE
162 The
163 .Nm
164 driver supports Gigabit Ethernet adapters based on the Intel
165 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB,
166 82546GB, 82547, 82571, 82572, 82573, 82574, 82575, 82576, and 82580
167 controller chips:
168 .Pp
169 .Bl -bullet -compact
170 .It
171 Intel Gigabit ET Dual Port Server Adapter (82576)
172 .It
173 Intel Gigabit VT Quad Port Server Adapter (82575)
174 .It
175 Intel Single, Dual and Quad Gigabit Ethernet Controller (82580)
176 .It
177 Intel i210 and i211 Gigabit Ethernet Controller
178 .It
179 Intel i350 and i354 Gigabit Ethernet Controller
180 .It
181 Intel PRO/1000 CT Network Connection (82547)
182 .It
183 Intel PRO/1000 F Server Adapter (82543)
184 .It
185 Intel PRO/1000 Gigabit Server Adapter (82542)
186 .It
187 Intel PRO/1000 GT Desktop Adapter (82541PI)
188 .It
189 Intel PRO/1000 MF Dual Port Server Adapter (82546)
190 .It
191 Intel PRO/1000 MF Server Adapter (82545)
192 .It
193 Intel PRO/1000 MF Server Adapter (LX) (82545)
194 .It
195 Intel PRO/1000 MT Desktop Adapter (82540)
196 .It
197 Intel PRO/1000 MT Desktop Adapter (82541)
198 .It
199 Intel PRO/1000 MT Dual Port Server Adapter (82546)
200 .It
201 Intel PRO/1000 MT Quad Port Server Adapter (82546EB)
202 .It
203 Intel PRO/1000 MT Server Adapter (82545)
204 .It
205 Intel PRO/1000 PF Dual Port Server Adapter (82571)
206 .It
207 Intel PRO/1000 PF Quad Port Server Adapter (82571)
208 .It
209 Intel PRO/1000 PF Server Adapter (82572)
210 .It
211 Intel PRO/1000 PT Desktop Adapter (82572)
212 .It
213 Intel PRO/1000 PT Dual Port Server Adapter (82571)
214 .It
215 Intel PRO/1000 PT Quad Port Server Adapter (82571)
216 .It
217 Intel PRO/1000 PT Server Adapter (82572)
218 .It
219 Intel PRO/1000 T Desktop Adapter (82544)
220 .It
221 Intel PRO/1000 T Server Adapter (82543)
222 .It
223 Intel PRO/1000 XF Server Adapter (82544)
224 .It
225 Intel PRO/1000 XT Server Adapter (82544)
226 .El
227 .Sh LOADER TUNABLES
228 Tunables can be set at the
229 .Xr loader 8
230 prompt before booting the kernel or stored in
231 .Xr loader.conf 5 .
232 See
233 .Xr iflib 4
234 for per-instance variables.
235 .Bl -tag -width indent
236 .It Va hw.em.disable_crc_stripping
237 Disable or enable hardware stripping of CRC field.
238 This is mostly useful on BMC/IPMI shared interfaces where stripping the CRC
239 causes remote access over IPMI to fail.
240 Default 0 (enabled).
241 .It Va hw.em.eee_setting
242 Disable or enable Energy Efficient Ethernet.
243 Default 1 (disabled).
244 .It Va hw.em.smart_pwr_down
245 Enable or disable smart power down features on newer adapters.
246 Default 0 (disabled).
247 .It Va hw.em.sbp
248 Show bad packets when in promiscuous mode.
249 Default 0 (off).
250 .It Va hw.em.rx_int_delay
251 This value delays the generation of receive interrupts in units of
252 1.024 microseconds.
253 The default value is 0, since adapters may hang with this feature
254 being enabled.
255 .It Va hw.em.rx_abs_int_delay
256 If
257 .Va hw.em.rx_int_delay
258 is non-zero, this tunable limits the maximum delay in which a receive
259 interrupt is generated.
260 .It Va hw.em.tx_int_delay
261 This value delays the generation of transmit interrupts in units of
262 1.024 microseconds.
263 The default value is 64.
264 .It Va hw.em.tx_abs_int_delay
265 If
266 .Va hw.em.tx_int_delay
267 is non-zero, this tunable limits the maximum delay in which a transmit
268 interrupt is generated.
269 .It Va hw.em.max_interrupt_rate
270 Maximum interrupts per second.
271 The default value is 8000.
272 .It Va hw.em.rx_process_limit
273 Maximum number of received packets to process at a time, -1 means unlimited.
274 The default value is 100.
275 .El
276 .Sh FILES
277 .Bl -tag -width /dev/led/em*
278 .It Pa /dev/led/em*
279 identification LED device nodes
280 .El
281 .Sh EXAMPLES
282 Make the identification LED of em0 blink:
283 .Pp
284 .Dl "echo f2 > /dev/led/em0"
285 .Pp
286 Turn the identification LED of em0 off again:
287 .Pp
288 .Dl "echo 0 > /dev/led/em0"
289 .Sh DIAGNOSTICS
290 .Bl -diag
291 .It "em%d: Unable to allocate bus resource: memory"
292 A fatal initialization error has occurred.
293 .It "em%d: Unable to allocate bus resource: interrupt"
294 A fatal initialization error has occurred.
295 .It "em%d: watchdog timeout -- resetting"
296 The device has stopped responding to the network, or there is a problem with
297 the network connection (cable).
298 .El
299 .Sh SUPPORT
300 For general information and support,
301 go to the Intel support website at:
302 .Pa http://support.intel.com .
303 .Pp
304 If an issue is identified with the released source code on the supported kernel
305 with a supported adapter, email the specific information related to the
306 issue to
307 .Aq Mt freebsd@intel.com .
308 .Sh SEE ALSO
309 .Xr altq 4 ,
310 .Xr arp 4 ,
311 .Xr iflib 4 ,
312 .Xr led 4 ,
313 .Xr netintro 4 ,
314 .Xr ng_ether 4 ,
315 .Xr polling 4 ,
316 .Xr vlan 4 ,
317 .Xr ifconfig 8
318 .Sh HISTORY
319 The
320 .Nm
321 device driver first appeared in
322 .Fx 4.4 .
323 .Nm
324 was merged with the lem and igb device driver and converted to the iflib
325 framework in
326 .Fx 12.0 .
327 .Sh AUTHORS
328 .An -nosplit
329 The
330 .Nm
331 driver was originally written by
332 .An Intel Corporation Aq Mt freebsd@intel.com .
333 It was merged with igb driver and converted to the iflib framework by
334 .An Matthew Macy Aq Mt mmacy@mattmacy.io
335 and
336 .An Sean Bruno Aq Mt sbruno@FreeBSD.org .