xref: /freebsd/share/man/man4/em.4 (revision 0f7f3352c8bc463607912e2463d13e52d44a4cae)
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 16, 2015
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
41To compile this driver into the kernel,
42place the following line in your
43kernel configuration file:
44.Bd -ragged -offset indent
45.Cd "device em"
46.Ed
47.Pp
48Optional multiqueue support is available via the following kernel
49compile options:
50.Bd -ragged -offset indent
51.Cd "options EM_MULTIQUEUE"
52.Ed
53.Pp
54Note:  Activating EM_MULTIQUEUE support is not supported by Intel.
55.Pp
56Alternatively, to load the driver as a
57module at boot time, place the following line in
58.Xr loader.conf 5 :
59.Bd -literal -offset indent
60if_em_load="YES"
61.Ed
62.Sh DESCRIPTION
63The
64.Nm
65driver provides support for PCI Gigabit Ethernet adapters based on
66the Intel 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546,
6782546EB, 82546GB, 82547, 82571, 81572, 82573, and 82574 Ethernet
68controller chips.
69The driver supports Transmit/Receive checksum offload
70and Jumbo Frames on all but 82542-based adapters.
71Furthermore it supports TCP segmentation offload (TSO) on all adapters but
72those based on the 82543, 82544 and 82547 controller chips.
73The identification LEDs of the adapters supported by the
74.Nm
75driver can be controlled via the
76.Xr led 4
77API for localization purposes.
78For further hardware information, see the
79.Pa README
80included with the driver.
81.Pp
82For questions related to hardware requirements,
83refer to the documentation supplied with your Intel PRO/1000 adapter.
84All hardware requirements listed apply to use with
85.Fx .
86.Pp
87Support for Jumbo Frames is provided via the interface MTU setting.
88Selecting an MTU larger than 1500 bytes with the
89.Xr ifconfig 8
90utility configures the adapter to receive and transmit Jumbo Frames.
91The maximum MTU size for Jumbo Frames is 16114.
92.Pp
93This driver version supports VLANs.
94The
95.Nm
96driver supports the following media types:
97.Bl -tag -width ".Cm 10baseT/UTP"
98.It Cm autoselect
99Enables auto-negotiation for speed and duplex.
100.It Cm 10baseT/UTP
101Sets 10Mbps operation.
102Use the
103.Cm mediaopt
104option to select
105.Cm full-duplex
106mode.
107.It Cm 100baseTX
108Sets 100Mbps operation.
109Use the
110.Cm mediaopt
111option to select
112.Cm full-duplex
113mode.
114.It Cm 1000baseSX
115Sets 1000Mbps operation.
116Only
117.Cm full-duplex
118mode is supported at this speed.
119.It Cm 1000baseTX
120Sets 1000Mbps operation.
121Only
122.Cm full-duplex
123mode is supported at this speed.
124.El
125.Pp
126The
127.Nm
128driver supports the following media options:
129.Bl -tag -width ".Cm full-duplex"
130.It Cm full-duplex
131Forces full-duplex operation
132.It Cm half-duplex
133Forces half-duplex operation.
134.El
135.Pp
136Only use
137.Cm mediaopt
138to set the driver to
139.Cm full-duplex .
140If
141.Cm mediaopt
142is not specified, the driver defaults to
143.Cm half-duplex .
144.Pp
145For more information on configuring this device, see
146.Xr ifconfig 8 .
147.Sh HARDWARE
148The
149.Nm
150driver supports Gigabit Ethernet adapters based on the Intel
15182540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB,
15282546GB, 82547, 82571, 82572, 82573, and 82574 controller chips:
153.Pp
154.Bl -bullet -compact
155.It
156Intel PRO/1000 CT Network Connection (82547)
157.It
158Intel PRO/1000 F Server Adapter (82543)
159.It
160Intel PRO/1000 Gigabit Server Adapter (82542)
161.It
162Intel PRO/1000 GT Desktop Adapter (82541PI)
163.It
164Intel PRO/1000 MF Dual Port Server Adapter (82546)
165.It
166Intel PRO/1000 MF Server Adapter (82545)
167.It
168Intel PRO/1000 MF Server Adapter (LX) (82545)
169.It
170Intel PRO/1000 MT Desktop Adapter (82540)
171.It
172Intel PRO/1000 MT Desktop Adapter (82541)
173.It
174Intel PRO/1000 MT Dual Port Server Adapter (82546)
175.It
176Intel PRO/1000 MT Quad Port Server Adapter (82546EB)
177.It
178Intel PRO/1000 MT Server Adapter (82545)
179.It
180Intel PRO/1000 PF Dual Port Server Adapter (82571)
181.It
182Intel PRO/1000 PF Quad Port Server Adapter (82571)
183.It
184Intel PRO/1000 PF Server Adapter (82572)
185.It
186Intel PRO/1000 PT Desktop Adapter (82572)
187.It
188Intel PRO/1000 PT Dual Port Server Adapter (82571)
189.It
190Intel PRO/1000 PT Quad Port Server Adapter (82571)
191.It
192Intel PRO/1000 PT Server Adapter (82572)
193.It
194Intel PRO/1000 T Desktop Adapter (82544)
195.It
196Intel PRO/1000 T Server Adapter (82543)
197.It
198Intel PRO/1000 XF Server Adapter (82544)
199.It
200Intel PRO/1000 XT Server Adapter (82544)
201.El
202.Sh LOADER TUNABLES
203Tunables can be set at the
204.Xr loader 8
205prompt before booting the kernel or stored in
206.Xr loader.conf 5 .
207.Bl -tag -width indent
208.It Va hw.em.disable_crc_stripping
209Disable or enable hardware stripping of CRC field.
210This is mostly useful on BMC/IPMI shared interfaces where stripping the CRC
211causes remote access over IPMI to fail.
212Default 0 (enabled).
213.It Va hw.em.eee_setting
214Disable or enable Energy Efficient Ethernet.
215Default 1 (disabled).
216.It Va hw.em.msix
217Enable or disable MSI-X style interrupts.
218Default 1 (enabled).
219.It Va hw.em.smart_pwr_down
220Enable or disable smart power down features on newer adapters.
221Default 0 (disabled).
222.It Va hw.em.sbp
223Show bad packets when in promiscuous mode.
224Default 0 (off).
225.It Va hw.em.rxd
226Number of receive descriptors allocated by the driver.
227The default value is 1024 for adapters newer than 82547,
228and 256 for older ones.
229The 82542 and 82543-based adapters can handle up to 256 descriptors,
230while others can have up to 4096.
231.It Va hw.em.txd
232Number of transmit descriptors allocated by the driver.
233The default value is 1024 for adapters newer than 82547,
234and 256 for older ones.
235The 82542 and 82543-based adapters can handle up to 256 descriptors,
236while others can have up to 4096.
237.It Va hw.em.rx_int_delay
238This value delays the generation of receive interrupts in units of
2391.024 microseconds.
240The default value is 0, since adapters may hang with this feature
241being enabled.
242.It Va hw.em.rx_abs_int_delay
243If
244.Va hw.em.rx_int_delay
245is non-zero, this tunable limits the maximum delay in which a receive
246interrupt is generated.
247.It Va hw.em.tx_int_delay
248This value delays the generation of transmit interrupts in units of
2491.024 microseconds.
250The default value is 64.
251.It Va hw.em.tx_abs_int_delay
252If
253.Va hw.em.tx_int_delay
254is non-zero, this tunable limits the maximum delay in which a transmit
255interrupt is generated.
256.It Va hw.em.num_queues
257Number of hardware queues that will be configured on this adapter (maximum of 2)
258Defaults to 1.
259Only valid with kernel configuration
260.Cd "options EM_MULTIQUEUE".
261.El
262.Sh FILES
263.Bl -tag -width /dev/led/em*
264.It Pa /dev/led/em*
265identification LED device nodes
266.El
267.Sh EXAMPLES
268Make the identification LED of em0 blink:
269.Pp
270.Dl "echo f2 > /dev/led/em0"
271.Pp
272Turn the identification LED of em0 off again:
273.Pp
274.Dl "echo 0 > /dev/led/em0"
275.Sh DIAGNOSTICS
276.Bl -diag
277.It "em%d: Unable to allocate bus resource: memory"
278A fatal initialization error has occurred.
279.It "em%d: Unable to allocate bus resource: interrupt"
280A fatal initialization error has occurred.
281.It "em%d: watchdog timeout -- resetting"
282The device has stopped responding to the network, or there is a problem with
283the network connection (cable).
284.El
285.Sh SUPPORT
286For general information and support,
287go to the Intel support website at:
288.Pa http://support.intel.com .
289.Pp
290If an issue is identified with the released source code on the supported kernel
291with a supported adapter, email the specific information related to the
292issue to
293.Aq Mt freebsd@intel.com .
294.Sh SEE ALSO
295.Xr altq 4 ,
296.Xr arp 4 ,
297.Xr igb 4 ,
298.Xr led 4 ,
299.Xr netintro 4 ,
300.Xr ng_ether 4 ,
301.Xr polling 4 ,
302.Xr vlan 4 ,
303.Xr ifconfig 8
304.Sh HISTORY
305The
306.Nm
307device driver first appeared in
308.Fx 4.4 .
309.Sh AUTHORS
310The
311.Nm
312driver was written by
313.An Intel Corporation Aq Mt freebsd@intel.com .
314.Sh BUGS
315Activating EM_MULTIQUEUE support requires MSI-X features.
316