Merge from vendor branch LIBPCAP:
[dragonfly.git] / share / man / man4 / bge.4
1 .\" Copyright (c) 2001 Wind River Systems
2 .\" Copyright (c) 1997, 1998, 1999, 2000, 2001
3 .\"     Bill Paul <wpaul@windriver.com>. All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\"    notice, this list of conditions and the following disclaimer.
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 .\" 3. All advertising materials mentioning features or use of this software
14 .\"    must display the following acknowledgement:
15 .\"     This product includes software developed by Bill Paul.
16 .\" 4. Neither the name of the author nor the names of any co-contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"   without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
24 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
30 .\" THE POSSIBILITY OF SUCH DAMAGE.
31 .\"
32 .\" $FreeBSD: src/share/man/man4/bge.4,v 1.1.2.4 2003/02/17 21:20:39 trhodes Exp $
33 .\" $DragonFly: src/share/man/man4/bge.4,v 1.2 2003/06/17 04:36:58 dillon Exp $
34 .\"
35 .Dd September 27, 2001
36 .Dt BGE 4
37 .Os
38 .Sh NAME
39 .Nm bge
40 .Nd "Broadcom BCM570x PCI gigabit ethernet adapter driver"
41 .Sh SYNOPSIS
42 .Cd "device miibus"
43 .Cd "device bge"
44 .Sh DESCRIPTION
45 The
46 .Nm
47 driver provides support for various NICs based on the Broadcom BCM570x
48 family of gigabit ethernet controller chips, including the
49 following:
50 .Pp
51 .Bl -bullet -compact
52 .It
53 3Com 3c996-T (10/100/1000baseTX)
54 .It
55 Dell PowerEdge 2550 integrated BCM5700 NIC (10/100/1000baseTX)
56 .It
57 Netgear GA302T (10/100/1000baseTX)
58 .It
59 SysKonnect SK-9D21 (10/100/1000baseTX)
60 .It
61 SysKonnect SK-9D41 (1000baseSX)
62 .El
63 .Pp
64 All of these NICs are capable of 10, 100 and 1000Mbps speeds over CAT5
65 copper cable, except for the SysKonnect SK-9D41 which supports only
66 1000Mbps over multimode fiber.
67 The BCM570x builds upon the technology of the Alteon Tigon II.
68 It has two R4000 CPU cores and is PCI v2.2 and PCI-X v1.0 compliant.
69 It supports IP, TCP
70 and UDP checksum checksum offload for both receive and transmit,
71 multiple RX and TX DMA rings for QoS applications, rules-based
72 receive filtering, and VLAN tag stripping/insertion as well as
73 a 256-bit multicast hash filter.
74 Additional features may be
75 provided via value-add firmware updates.
76 The BCM570x supports TBI (ten bit interface) and GMII
77 transceivers, which means it can be used with either copper of 1000baseX
78 fiber applications.
79 Note however the device only supports a single
80 speed in TBI mode.
81 .Pp
82 Most cards also use the Broadcom BCM5401 or BCM5411 10/100/1000
83 copper gigabit tranceivers,
84 which support autonegotiation of 10, 100 and 1000mbps modes in
85 full or half duplex.
86 .Pp
87 The BCM5700 also supports jumbo frames, which can be configured
88 via the interface MTU setting.
89 Selecting an MTU larger than 1500 bytes with the
90 .Xr ifconfig 8
91 utility configures the adapter to receive and transmit jumbo frames.
92 Using jumbo frames can greatly improve performance for certain tasks,
93 such as file transfers and data streaming.
94 .Pp
95 The
96 .Nm
97 driver supports the following media types:
98 .Bl -tag -width ".Cm 10baseT/UTP"
99 .It Cm autoselect
100 Enable autoselection of the media type and options.
101 The user can manually override
102 the autoselected mode by adding media options to
103 .Xr rc.conf 5 .
104 .It Cm 10baseT/UTP
105 Set 10Mbps operation.
106 The
107 .Xr ifconfig 8
108 .Ic mediaopt
109 option can also be used to select either
110 .Cm full-duplex
111 or
112 .Cm half-duplex
113 modes.
114 .It Cm 100baseTX
115 Set 100Mbps (fast ethernet) operation.
116 The
117 .Xr ifconfig 8
118 .Ic mediaopt
119 option can also be used to select either
120 .Cm full-duplex
121 or
122 .Cm half-duplex
123 modes.
124 .It Cm 1000baseTX
125 Set 1000baseTX operation over twisted pair.
126 .Cm full-duplex
127 and
128 .Cm half-duplex
129 modes are supported.
130 .It Cm 1000baseSX
131 Set 1000Mbps (gigabit ethernet) operation.
132 Both
133 .Cm full-duplex
134 and
135 .Cm half-duplex
136 modes are supported.
137 .El
138 .Pp
139 The
140 .Nm
141 driver supports the following media options:
142 .Bl -tag -width ".Cm full-duplex"
143 .It Cm full-duplex
144 Force full duplex operation.
145 .It Cm half-duplex
146 Force half duplex operation.
147 .El
148 .Pp
149 The
150 .Nm
151 driver also supports one special link option for 1000baseTX cards:
152 .Bl -tag -width ".Cm link0"
153 .It Cm link0
154 With 1000baseTX cards, establishing a link between two ports requires
155 that one port be configured as a master and the other a slave.
156 With autonegotiation,
157 the master/slave settings will be chosen automatically.
158 However when manually selecting the link state, it is necessary to
159 force one side of the link to be a master and the other a slave.
160 The
161 .Nm
162 driver configures the ports as slaves by default.
163 Setting the
164 .Cm link0
165 flag with
166 .Xr ifconfig 8
167 will set a port as a master instead.
168 .El
169 .Pp
170 For more information on configuring this device, see
171 .Xr ifconfig 8 .
172 .Sh DIAGNOSTICS
173 .Bl -diag
174 .It "bge%d: couldn't map memory"
175 A fatal initialization error has occurred.
176 .It "bge%d: couldn't map ports"
177 A fatal initialization error has occurred.
178 .It "bge%d: couldn't map interrupt"
179 A fatal initialization error has occurred.
180 .It "bge%d: no memory for softc struct!"
181 The driver failed to allocate memory for per-device instance information
182 during initialization.
183 .It "bge%d: failed to enable memory mapping!"
184 The driver failed to initialize PCI shared memory mapping.
185 This might
186 happen if the card is not in a bus-master slot.
187 .It "bge%d: no memory for jumbo buffers!"
188 The driver failed to allocate memory for jumbo frames during
189 initialization.
190 .It "bge%d: watchdog timeout"
191 The device has stopped responding to the network, or there is a problem with
192 the network connection (cable).
193 .El
194 .Sh SEE ALSO
195 .Xr arp 4 ,
196 .Xr miibus 4 ,
197 .Xr netintro 4 ,
198 .Xr ng_ether 4 ,
199 .Xr vlan 4 ,
200 .Xr ifconfig 8
201 .Sh HISTORY
202 The
203 .Nm
204 device driver first appeared in
205 .Fx 4.5 .
206 .Sh AUTHORS
207 The
208 .Nm
209 driver was written by
210 .An Bill Paul Aq wpaul@windriver.com .