]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - share/man/man4/bce.4
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / share / man / man4 / bce.4
1 .\" Copyright (c) 2006-2014 QLogic Corporation
2 .\"
3 .\" Redistribution and use in source and binary forms, with or without
4 .\" modification, are permitted provided that the following conditions
5 .\" are met:
6 .\"
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\"
13 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS'
14 .\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
17 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23 .\" THE POSSIBILITY OF SUCH DAMAGE.
24 .\"
25 .\" $FreeBSD$
26 .\"
27 .Dd June 4, 2012
28 .Dt BCE 4
29 .Os
30 .Sh NAME
31 .Nm bce
32 .Nd "QLogic NetXtreme II (BCM5706/5708/5709/5716) PCI/PCIe Gigabit Ethernet adapter driver"
33 .Sh SYNOPSIS
34 To compile this driver into the kernel,
35 place the following lines in your
36 kernel configuration file:
37 .Bd -ragged -offset indent
38 .Cd "device miibus"
39 .Cd "device bce"
40 .Ed
41 .Pp
42 Alternatively, to load the driver as a
43 module at boot time, place the following line in
44 .Xr loader.conf 5 :
45 .Bd -literal -offset indent
46 if_bce_load="YES"
47 .Ed
48 .Sh DESCRIPTION
49 The
50 .Nm
51 driver supports QLogic's NetXtreme II product family, including the
52 BCM5706, BCM5708, BCM5709 and BCM5716 Ethernet controllers.
53 .Pp
54 The NetXtreme II product family is composed of various Converged NIC (or CNIC)
55 Ethernet controllers which support a TCP Offload Engine (TOE), Remote DMA (RDMA),
56 and iSCSI acceleration, in addition to standard L2 Ethernet traffic, all on the
57 same controller.
58 .Pp
59 The following features are supported in the
60 .Nm
61 driver under
62 .Fx :
63 .Pp
64 .Bl -item -offset indent -compact
65 .It
66 IP/TCP/UDP checksum offload
67 .It
68 Jumbo frames (up to 9022 bytes)
69 .It
70 VLAN tag stripping
71 .It
72 Interrupt coalescing
73 .It
74 10/100/1000Mbps operation in full-duplex mode
75 .It
76 10/100Mbps operation in half-duplex mode
77 .El
78 .Pp
79 The
80 .Nm
81 driver supports the following media types:
82 .Bl -tag -width ".Cm 10baseT/UTP"
83 .It Cm autoselect
84 Enable autoselection of the media type and options.
85 The user can manually override
86 the autoselected mode by adding media options to
87 .Xr rc.conf 5 .
88 .It Cm 10baseT/UTP
89 Set 10Mbps operation.
90 The
91 .Xr ifconfig 8
92 .Cm mediaopt
93 option can also be used to select either
94 .Cm full-duplex
95 or
96 .Cm half-duplex
97 modes.
98 .It Cm 100baseTX
99 Set 100Mbps (Fast Ethernet) operation.
100 The
101 .Xr ifconfig 8
102 .Cm mediaopt
103 option can also be used to select either
104 .Cm full-duplex
105 or
106 .Cm half-duplex
107 modes.
108 .It Cm 1000baseSX
109 Sets 1000Mbps operation.
110 Only
111 .Cm full-duplex
112 mode is supported at this speed.
113 .It Cm 1000baseT
114 Set 1000baseT operation over twisted pair.
115 Only
116 .Cm full-duplex
117 mode is supported.
118 .It Cm 2500BaseSX
119 Set 2500Mbps operation.
120 Only
121 .Cm full-duplex
122 mode is supported.
123 .El
124 .Pp
125 The
126 .Nm
127 driver supports the following media options:
128 .Bl -tag -width ".Cm full-duplex"
129 .It Cm full-duplex
130 Force full duplex operation.
131 .It Cm half-duplex
132 Force half duplex operation.
133 .El
134 .Pp
135 For more information on configuring this device, see
136 .Xr ifconfig 8 .
137 .Sh HARDWARE
138 The
139 .Nm
140 driver provides support for various NICs based on the QLogic NetXtreme II
141 family of Gigabit Ethernet controllers, including the
142 following:
143 .Pp
144 .Bl -bullet -compact
145 .It
146 QLogic NetXtreme II BCM5706 1000Base-SX
147 .It
148 QLogic NetXtreme II BCM5706 1000Base-T
149 .It
150 QLogic NetXtreme II BCM5708 1000Base-SX
151 .It
152 QLogic NetXtreme II BCM5708 1000Base-T
153 .It
154 QLogic NetXtreme II BCM5709 1000Base-SX
155 .It
156 QLogic NetXtreme II BCM5709 1000Base-T
157 .It
158 QLogic NetXtreme II BCM5716 1000Base-T
159 .It
160 Dell PowerEdge 1950 integrated BCM5708 NIC
161 .It
162 Dell PowerEdge 2950 integrated BCM5708 NIC
163 .It
164 Dell PowerEdge R710 integrated BCM5709 NIC
165 .It
166 HP NC370F Multifunction Gigabit Server Adapter
167 .It
168 HP NC370T Multifunction Gigabit Server Adapter
169 .It
170 HP NC370i Multifunction Gigabit Server Adapter
171 .It
172 HP NC371i Multifunction Gigabit Server Adapter
173 .It
174 HP NC373F PCIe Multifunc Giga Server Adapter
175 .It
176 HP NC373T PCIe Multifunction Gig Server Adapter
177 .It
178 HP NC373i Multifunction Gigabit Server Adapter
179 .It
180 HP NC373m Multifunction Gigabit Server Adapter
181 .It
182 HP NC374m PCIe Multifunction Adapter
183 .It
184 HP NC380T PCIe DP Multifunc Gig Server Adapter
185 .It
186 HP NC382T PCIe DP Multifunction Gigabit Server Adapter
187 .It
188 HP NC382i DP Multifunction Gigabit Server Adapter
189 .It
190 HP NC382m DP 1GbE Multifunction BL-c Adapter
191 .El
192 .Sh SYSCTL VARIABLES
193 The following variables are available as both
194 .Xr sysctl 8
195 variables and
196 .Xr loader 8
197 tunables:
198 .Bl -tag -width indent
199 .It Va hw.bce.verbose
200 Enable/Disable verbose logging and output to the console.
201 Useful for debugging (default 0).
202 .It Va hw.bce.msi_enable
203 Enable/Disable MSI support (default 1).
204 .It Va hw.bce.tso_enable
205 Enable/Disable TSO support (default 1).
206 .It Va hw.bce.strict_rx_mtu
207 Enable/Disable strict RX frame size checking (default 0).
208 .It Va hw.bce.hdr_split
209 Enable/Disable frame header/payload splitting (default 1).
210 .It Va hw.bce.rx_pages
211 Set the number of memory pages assigned to receive packets by the driver.
212 Due to alignment issues, this value can only be of the set
213 1, 2, 4 or 8 (default 2).
214 .It Va hw.bce.tx_pages
215 Set the number of memory pages assigned to transmit packets
216 by the driver.
217 Due to alignment issues, this value can only be of the set
218 1, 2, 4 or 8 (default 2).
219 .It Va hw.bce.rx_ticks
220 Time in microsecond ticks to wait before generating a status
221 block updates due to RX processing activity.
222 Values from 0-100 are valid.
223 A value of 0 disables this status block update.
224 Cannot be set to 0 if hw.bce.rx_quick_cons_trip is also 0
225 (default 18).
226 .It Va hw.bce.rx_ticks_int
227 Time in microsecond ticks to wait during RX interrupt
228 processing before generating a status block update.
229 Values from 0-100 are valid.
230 Valid values are in the range from 0-100.
231 A value of 0 disables this status block update (default 18).
232 .It Va hw.bce.rx_quick_cons_trip
233 Number of RX Quick BD Chain entries that must be completed
234 before a status block is generated.
235 Values from 0-256 are valid.
236 A value of 0 disables this status block update.
237 Cannot be set to 0 if hw.bce.rx_ticks is also 0 (default 6).
238 .It Va hw.bce.rx_quick_cons_trip_int
239 Number of RX quick BD entries that must be completed before
240 a status block is generated duing interrupt processing.
241 Values from 0-256 are valid.
242 A value of 0 disables this status block update (default 6).
243 .It Va hw.bce.tx_ticks
244 Time in microsecond ticks to wait before a status block
245 update is generated due to TX activitiy.
246 Values from 0-100 are valid.
247 A value of 0 disables this status block update.
248 Cannot be set to 0 if hw.bce.tx_quick_cons_trip is also 0
249 (default 80).
250 .It Va hw.bce.tx_ticks_int
251 Time in microsecond ticks to wait in interrupt processing
252 before a status block update is generated due to TX activity
253 Values from 0-100 are valid.
254 A value of 0 disables this status block update (default 80).
255 .It Va hw.bce.tx_cons_trip
256 How many TX Quick BD Chain entries that must be completed
257 before a status block is generated.
258 Values from 0-100 are valid.
259 A value of 0 disables this status block update.
260 Cannot be set to 0 if hw.bce.tx_ticks is also 0 (default 20).
261 .It Va hw.bce.tx_cons_trip_int
262 How many TX Quick BD Chain entries that must be completed
263 before a status block is generated during an interrupt.
264 Values from 0-100 are valid.
265 A value of 0 disables this status block update (default 20).
266 .El
267 .Sh DIAGNOSTICS
268 .Bl -diag
269 .It "bce%d: PCI memory allocation failed!"
270 The driver has encountered a fatal initialization error.
271 .It "bce%d: PCI map interrupt failed!"
272 The driver has encountered a fatal initialization error.
273 .It "bce%d: Unsupported controller revision (%c%d)"
274 The driver does not support the controller revision in use.
275 .It "bce%d: Controller initialization failed!"
276 The driver has encountered a fatal initialization error.
277 .It "bce%d: NVRAM test failed!"
278 The driver could not access the controller NVRAM correctly.
279 .It "bce%d: DMA resource allocation failed!"
280 The driver could not allocate DMA memory to setup the controllers
281 host memory data structures.
282 .It "bce%d: Interface allocation failed!"
283 The driver could not create a network interface for the controller.
284 .It "bce%d: PHY probe failed!"
285 The driver could not access the PHY used by the controller.
286 .It "bce%d: Failed to setup IRQ!"
287 The driver could not initialize the IRQ handler.
288 .It "bce%d: Error: PHY read timeout!"
289 The driver could not read a PHY register before the timeout period expired.
290 .It "bce%d: PHY write timeout!"
291 The driver could not write to the PHY register because a timeout occurred.
292 .It "bce%d: Timeout error reading NVRAM at offset 0x%08X!"
293 The driver could not write to NVRAM because a timeout occurred.
294 .It "bce%d: Unknown Flash NVRAM found!"
295 The driver does not recognize the NVRAM device being used and therefore
296 cannot access it correctly.
297 .It "bce%d: Invalid NVRAM magic value!"
298 The driver cannot read NVRAM or the NVRAM is corrupt.
299 .It "bce%d: Invalid Manufacturing Information NVRAM CRC!"
300 The driver cannot read NVRAM or the NVRAM is corrupt.
301 .It "bce%d: Invalid Feature Configuration Information NVRAM CRC!"
302 The driver cannot read NVRAM or the NVRAM is corrupt.
303 .It "bce%d: DMA mapping error!"
304 The driver was unable to map memory into DMA addressable space required
305 by the controller.
306 .It "bce%d: Could not allocate parent DMA tag!"
307 The driver could not allocate a PCI compatible DMA tag.
308 .It "bce%d: Could not allocate status block DMA tag!"
309 The driver could not allocate a DMA tag for the controller's
310 status block.
311 .It "bce%d: Could not allocate status block DMA memory!"
312 The driver could not allocate DMA addressable memory for the controller's
313 status block.
314 .It "bce%d: Could not map status block DMA memory!"
315 The driver could not map the status block memory into the controller's DMA
316 address space.
317 .It "bce%d: Could not allocate statistics block DMA tag!"
318 The driver could not allocate a DMA tag for the controller's
319 statistics block.
320 .It "bce%d: Could not allocate statistics block DMA memory!"
321 The driver could not allocate DMA addressable memory for the controller's
322 statistics block.
323 .It "bce%d: Could not map statistics block DMA memory!"
324 The driver could not map the statistics block memory into the controller's DMA
325 address space.
326 .It "bce%d: Could not allocate TX descriptor chain DMA tag!"
327 The driver could not allocate a DMA tag for the controller's
328 TX chain.
329 .It "bce%d: Could not allocate TX descriptor chain DMA memory!"
330 The driver could not allocate DMA addressable memory for the controller's
331 TX chain.
332 .It "bce%d: Could not map TX descriptor chain DMA memory!"
333 The driver could not map the TX descriptor chain memory into the controller's DMA
334 address space.
335 .It "bce%d: Could not allocate TX mbuf DMA tag!"
336 The driver could not allocate a DMA tag for the controller's
337 TX mbuf memory.
338 .It "bce%d: Unable to create TX mbuf DMA map!"
339 The driver could not map the TX mbuf memory into the controller's DMA
340 address space.
341 .It "bce%d: Could not allocate RX descriptor chain DMA tag!"
342 The driver could not allocate a DMA tag for the controller's
343 RX chain.
344 .It "bce%d: Could not allocate RX descriptor chain "
345 The driver could not allocate DMA addressable memory for the controller's
346 RX chain.
347 .It "bce%d: Could not map RX descriptor chain DMA memory!"
348 The driver could not map the RX descriptor chain memory into the controller's DMA
349 address space.
350 .It "bce%d: Could not allocate RX mbuf DMA tag!"
351 The driver could not allocate a DMA tag for the controller's
352 RX mbuf memory.
353 .It "bce%d: Unable to create RX mbuf DMA map!"
354 The driver could not map the RX mbuf memory into the controller's DMA
355 address space.
356 .It "bce%d: Firmware synchronization timeout!"
357 The driver was not able to synchronize with the firmware running on the
358 controller.
359 The firmware may be stopped or hung.
360 .It "bce%d: Invalid Ethernet address!"
361 The driver was not able to read a valid Ethernet MAC address from NVRAM.
362 .It "bce%d: Reset failed!"
363 The driver has encountered a fatal initialization error.
364 .It "bce%d: Byte swap is incorrect!"
365 The driver has encountered a fatal initialization error.
366 Contact the author
367 with details of the CPU architecture and system chipset in use.
368 .It "bce%d: Firmware did not complete initialization!"
369 The driver has encountered a fatal initialization error.
370 .It "bce%d: Bootcode not running!"
371 The driver has encountered a fatal initialization error.
372 .It "bce%d: Error mapping mbuf into RX chain!"
373 The driver could not map a RX mbuf into DMA addressable memory.
374 .It "bce%d: Error filling RX chain: rx_bd[0x%04X]!"
375 The driver was unable to allocate enough mbufs to fill the RX chain
376 during initialization.
377 Try increasing the number of mbufs available in
378 the system, increase system memory, or if using jumbo frames, make sure
379 enough 9KB mbufs are available.
380 .It "bce%d: Failed to allocate new mbuf, incoming frame dropped!"
381 The driver was unable to allocate a new mbuf for the RX chain and reused
382 the mbuf for the received frame, dropping the incoming frame in the process.
383 Try increasing the number of mbufs available in the system or increase system
384 memory.
385 .It "bce%d: Controller reset failed!"
386 A fatal initialization error has occurred.
387 .It "bce%d: Controller initialization failed!"
388 A fatal initialization error has occurred.
389 .It "bce%d: Block initialization failed!"
390 A fatal initialization error has occurred.
391 .It "bce%d: Error mapping mbuf into TX chain!"
392 The driver could not map a TX mbuf into DMA addressable memory.
393 .It "bce%d: Error registering poll function!"
394 The driver received an error while attempting to register the poll function.
395 .It "bce%d: Changing VLAN_MTU not supported."
396 Changing the VLAN MTU is not currently supported by the driver.
397 .It "bce%d: Cannot change VLAN_HWTAGGING while management firmware (ASF/IPMI/UMP) is running!"
398 Management firmware to support ASF/IPMI/UMP requires that VLAN
399 tag stripping be enabled in the controller.
400 .It "bce%d: Changing VLAN_HWTAGGING not supported!"
401 Disabling VLAN tag stripping is not currently supported by the driver.
402 .It "bce%d: Watchdog timeout occurred, resetting!"
403 The device has stopped responding to the network, there is a problem
404 with the cable connection, or a driver logic problem has occurred..
405 .It "bce%d: Fatal attention detected: 0x%08X!"
406 A controller hardware failure has occurred.
407 If the problem continues replace the controller.
408 .El
409 .Sh SUPPORT
410 For support questions please contact your QLogic approved reseller or
411 QLogic Technical Support at
412 .Pa http://support.qlogic.com ,
413 or by E-mail at
414 .Aq support@qlogic.com .
415 .Sh SEE ALSO
416 .Xr altq 4 ,
417 .Xr arp 4 ,
418 .Xr miibus 4 ,
419 .Xr netintro 4 ,
420 .Xr ng_ether 4 ,
421 .Xr vlan 4 ,
422 .Xr ifconfig 8
423 .Sh HISTORY
424 The
425 .Nm
426 device driver first appeared in
427 .Fx 6.1 .
428 .Sh AUTHORS
429 The
430 .Nm
431 driver was written by
432 .An David Christensen Aq davidch@broadcom.com .