Merge branch 'vendor/EXPAT'
[dragonfly.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: src/share/man/man4/em.4,v 1.30 2008/10/06 21:55:53 simon Exp $
33 .\"
34 .Dd September 17, 2012
35 .Dt EM 4
36 .Os
37 .Sh NAME
38 .Nm em ,
39 .Nm emx
40 .Nd "Intel(R) PRO/1000 Gigabit Ethernet adapter driver"
41 .Sh SYNOPSIS
42 To compile this driver into the kernel,
43 place the following lines in your
44 kernel configuration file:
45 .Bd -ragged -offset indent
46 .Cd "device ig_hal"
47 .Cd "device em  # for em(4)"
48 .Cd "device emx # for emx(4)"
49 .Ed
50 .Pp
51 Alternatively, to load the driver as a
52 module at boot time, place the following lines in
53 .Xr loader.conf 5 :
54 .Bd -literal -offset indent
55 ig_hal_load="YES"
56 if_em_load="YES"  # for em(4)
57 if_emx_load="YES" # for emx(4)
58 .Ed
59 .Sh DESCRIPTION
60 The
61 .Nm
62 driver provides support for PCI Gigabit Ethernet adapters based on
63 the Intel 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546,
64 82546EB, 82546GB, 82547, 82571, 81572, 82573, and 82574 Ethernet
65 controller chips.
66 The driver supports Transmit/Receive checksum offload
67 and Jumbo Frames on all but 82542-based adapters.
68 Furthermore it supports TCP segmentation offload (TSO) on adapters
69 based on the 82571, 82572, 82573 and 82574 controller chips.
70 For further hardware information, see the
71 .Pa README
72 included with the driver.
73 .Pp
74 The
75 .Nm emx
76 is a version of the
77 .Nm em
78 driver for 82571, 82572, 82573, and 82574 Ethernet controller chips that
79 additionally supports RSS (Receive Side Scaling).
80 .Pp
81 For questions related to hardware requirements,
82 refer to the documentation supplied with your Intel PRO/1000 adapter.
83 All hardware requirements listed apply to use with
84 .Dx .
85 .Pp
86 Support for Jumbo Frames is provided via the interface MTU setting.
87 Selecting an MTU larger than 1500 bytes with the
88 .Xr ifconfig 8
89 utility configures the adapter to receive and transmit Jumbo Frames.
90 The maximum MTU size for Jumbo Frames is 16114.
91 .Pp
92 This driver version supports VLANs.
93 The
94 .Nm
95 and
96 .Nm emx
97 drivers support the following media types:
98 .Bl -tag -width ".Cm 10baseT/UTP"
99 .It Cm autoselect
100 Enables auto-negotiation for speed and duplex.
101 .It Cm 10baseT/UTP
102 Sets 10Mbps operation.
103 Use the
104 .Cm mediaopt
105 option to select
106 .Cm full-duplex
107 mode.
108 .It Cm 100baseTX
109 Sets 100Mbps operation.
110 Use the
111 .Cm mediaopt
112 option to select
113 .Cm full-duplex
114 mode.
115 .It Cm 1000baseSX
116 Sets 1000Mbps operation.
117 Only
118 .Cm full-duplex
119 mode is supported at this speed.
120 .It Cm 1000baseT
121 Sets 1000Mbps operation.
122 Only
123 .Cm full-duplex
124 mode is supported at this speed.
125 .El
126 .Pp
127 The
128 .Nm
129 and
130 .Nm emx
131 drivers support the following media options:
132 .Bl -tag -width ".Cm full-duplex"
133 .It Cm full-duplex
134 Forces full-duplex operation
135 .It Cm half-duplex
136 Forces half-duplex operation.
137 .El
138 .Pp
139 Only use
140 .Cm mediaopt
141 to set the driver to
142 .Cm full-duplex .
143 If
144 .Cm mediaopt
145 is not specified, the driver defaults to
146 .Cm half-duplex .
147 .Pp
148 For more information on configuring this device, see
149 .Xr ifconfig 8 .
150 .Pp
151 The
152 .Nm
153 and
154 .Nm emx
155 drivers support
156 .Xr polling 4 .
157 .Sh HARDWARE
158 The
159 .Nm
160 driver supports Gigabit Ethernet adapters based on the Intel
161 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB,
162 82546GB, 82547, 82571, 82572, 82573, and 82574 controller chips:
163 .Pp
164 .Bl -bullet -compact
165 .It
166 Intel PRO/1000 CT Network Connection (82547)
167 .It
168 Intel PRO/1000 F Server Adapter (82543)
169 .It
170 Intel PRO/1000 Gigabit Server Adapter (82542)
171 .It
172 Intel PRO/1000 GT Desktop Adapter (82541PI)
173 .It
174 Intel PRO/1000 MF Dual Port Server Adapter (82546)
175 .It
176 Intel PRO/1000 MF Server Adapter (82545)
177 .It
178 Intel PRO/1000 MF Server Adapter (LX) (82545)
179 .It
180 Intel PRO/1000 MT Desktop Adapter (82540)
181 .It
182 Intel PRO/1000 MT Desktop Adapter (82541)
183 .It
184 Intel PRO/1000 MT Dual Port Server Adapter (82546)
185 .It
186 Intel PRO/1000 MT Quad Port Server Adapter (82546EB)
187 .It
188 Intel PRO/1000 MT Server Adapter (82545)
189 .It
190 Intel PRO/1000 PF Dual Port Server Adapter (82571)
191 .It
192 Intel PRO/1000 PF Quad Port Server Adapter (82571)
193 .It
194 Intel PRO/1000 PF Server Adapter (82572)
195 .It
196 Intel PRO/1000 PT Desktop Adapter (82572)
197 .It
198 Intel PRO/1000 PT Dual Port Server Adapter (82571)
199 .It
200 Intel PRO/1000 PT Quad Port Server Adapter (82571)
201 .It
202 Intel PRO/1000 PT Server Adapter (82572)
203 .It
204 Intel PRO/1000 T Desktop Adapter (82544)
205 .It
206 Intel PRO/1000 T Server Adapter (82543)
207 .It
208 Intel PRO/1000 XF Server Adapter (82544)
209 .It
210 Intel PRO/1000 XT Server Adapter (82544)
211 .El
212 .Pp
213 The
214 .Nm emx
215 driver supports Gigabit Ethernet adapters based on the Intel
216 82571, 82572, 82573, and 82574 controller chips.
217 .Sh LOADER TUNABLES
218 Tunables can be set at the
219 .Xr loader 8
220 prompt before booting the kernel or stored in
221 .Xr loader.conf 5 .
222 .Bl -tag -width indent
223 .It Va hw.em.int_throttle_ceil
224 Hardware interrupt throttling rate.
225 The default value is 10000Hz.
226 .It Va hw.em.rxd
227 Number of receive descriptors allocated by the driver.
228 The default value is 256.
229 The 82542 and 82543-based adapters can handle up to 256 descriptors,
230 while others can have up to 4096.
231 .It Va hw.em.txd
232 Number of transmit descriptors allocated by the driver.
233 The default value is 256.
234 The 82542 and 82543-based adapters can handle up to 256 descriptors,
235 while others can have up to 4096.
236 .It Va hw.em.int_tx_nsegs
237 This value controls how many transmit descriptors should be consumed
238 by the hardware before the hardware generates a transmit interrupt.
239 The default value is 1/16 of the number of transmit descriptors.
240 If
241 .Xr polling 4
242 is not used on the hardware and
243 the major part of the transmitted data are bulk data,
244 this value could safely be set to 1/2 of the number of transmit descriptors.
245 .It Va hw.em.msi.enable
246 By default, the driver will use MSI if it is supported.
247 This behavior can be turned off by setting this tunable to 0.
248 .El
249 .\".Pp
250 .\" XXX emx(4) tunables
251 .Sh DIAGNOSTICS
252 .Bl -diag
253 .It "em%d: Unable to allocate bus resource: memory"
254 A fatal initialization error has occurred.
255 .It "em%d: Unable to allocate bus resource: interrupt"
256 A fatal initialization error has occurred.
257 .It "em%d: watchdog timeout -- resetting"
258 The device has stopped responding to the network, or there is a problem with
259 the network connection (cable).
260 .El
261 .Sh SUPPORT
262 For general information and support,
263 go to the Intel support website at:
264 .Pa http://support.intel.com .
265 .Pp
266 If an issue is identified with the released source code on the supported kernel
267 with a supported adapter, email the specific information related to the
268 issue to
269 .Aq freebsdnic@mailbox.intel.com .
270 .Sh SEE ALSO
271 .Xr arp 4 ,
272 .Xr ifmedia 4 ,
273 .Xr netintro 4 ,
274 .Xr ng_ether 4 ,
275 .Xr polling 4 ,
276 .Xr vlan 4 ,
277 .Xr ifconfig 8
278 .Sh HISTORY
279 The
280 .Nm
281 device driver first appeared in
282 .Fx 4.4
283 and the
284 .Nm emx
285 driver first appeared in
286 .Dx 2.3 .
287 .Sh AUTHORS
288 .An -nosplit
289 The
290 .Nm
291 driver was written by
292 .An Intel Corporation Aq freebsdnic@mailbox.intel.com .
293 .Pp
294 The
295 .Nm emx
296 driver was written by
297 .An Sepherosa Ziehau
298 (in parts based on
299 .Tn Intel Ap s ) .