Project

General

Profile

Feature #3446 » bge.7d.patch

Ken Mays, 2014-02-08 09:05 PM

View differences:

usr/src/man/man7d/bge.7d 2014-02-08 15:57:45.807510900 -0500
3 3
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
4 4
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
5 5
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6
.TH BGE 7D "Apr 9, 2008"
6
.TH bge 7D "9 Apr 2008" "SunOS 5.11" "Devices"
7 7
.SH NAME
8
bge \- SUNW,bge Gigabit Ethernet driver for Broadcom BCM57xx
8
bge \- Gigabit Ethernet driver for Broadcom BCM57xx NetXtreme Devices
9 9
.SH SYNOPSIS
10 10
.LP
11 11
.nf
......
15 15
.SH DESCRIPTION
16 16
.sp
17 17
.LP
18
The \fBbge\fR Gigabit Ethernet driver is a multi-threaded, loadable, clonable,
19
GLD-based STREAMS driver supporting the Data Link Provider Interface,
20
\fBdlpi\fR(7P), on Broadcom BCM57xx
21
(BCM5700/5701/5703/5704/5705/5705M/5714/5721/5751/5751M/5782/5788 on x86)
22
Gigabit Ethernet controllers fitted to the system motherboard. With the
23
exception of BCM5700/BCM5701/BCM5704S, these devices incorporate both MAC and
24
PHY functions and provide three-speed (copper) Ethernet operation on the RJ-45
25
connectors. (BCM5700/BCM5701/BCM5704S do not have a PHY integrated into the MAC
26
chipset.)
27
.sp
28
.LP
29
The \fBbge\fR driver functions include controller initialization, frame
30
transmit and receive, promiscuous and multicast support, and error recovery and
31
reporting.
32
.sp
33
.LP
34
The \fBbge\fR driver and hardware support auto-negotiation, a protocol
35
specified by the 1000 Base-T standard. Auto-negotiation allows each device to
36
advertise its capabilities and discover those of its peer (link partner). The
37
highest common denominator supported by both link partners is automatically
38
selected, yielding the greatest available throughput, while requiring no manual
39
configuration. The \fBbge\fR driver also allows you to configure the advertised
40
capabilities to less than the maximum (where the full speed of the interface is
41
not required), or to force a specific mode of operation, irrespective of the
42
link partner's advertised capabilities.
18
The \fBbge\fR Gigabit Ethernet driver is a multi-threaded, loadable, clonable, GLD-based STREAMS driver supporting the Data Link Provider Interface, \fBdlpi\fR(7P), on Broadcom BCM57xx (BCM5700, 5701, 5703, 5704, 5705, 5705M, 5714, 5717, 5718, 5719, 5720, 5721, 5751, 5751M, 5782, 5784M, 5788) Gigabit Ethernet controllers. With the exception of BCM5700, BCM5701, BCM5704S, these devices incorporate both MAC and PHY functions and provide three-speed (copper) Ethernet operation on the RJ-45 connectors. (BCM5700, BCM5701, BCM5704S do not have a PHY integrated into the MAC chipset.)
19
.sp
20
.LP
21
The \fBbge\fR driver functions include controller initialization, frame transmit and receive, promiscuous and multicast support, and error recovery and reporting.
22
.sp
23
.LP
24
The \fBbge\fR driver and hardware support auto-negotiation, a protocol specified by the 1000 Base-T standard. Auto-negotiation allows each device to advertise its capabilities and discover those of its peer (link partner). The highest common denominator supported by both link partners is automatically selected, yielding the greatest available throughput, while requiring no manual configuration. The \fBbge\fR driver also allows you to configure the advertised capabilities to less than the maximum (where the full speed of the interface is not required), or to force a specific mode of operation, irrespective of the link partner's advertised capabilities.
43 25
.SH APPLICATION PROGRAMMING INTERFACE
44 26
.sp
45 27
.LP
46
The cloning character-special device, \fB/dev/bge\fR, is used to access all
47
BCM57xx devices ( (BCM5700/5701/5703/5704, 5705/5714/5721/5751/5751M/5782 on
48
x86) fitted to the system motherboard.
28
The cloning character-special device, \fB/dev/bge\fR, is used to access all BCM57xx devices (BCM5700, 5701, 5703, 5704, 5705, 5705M, 5714, 5717, 5718, 5719, 5720, 5721, 5751, 5751M, 5782, 5784M, 5788).
49 29
.sp
50 30
.LP
51
The \fBbge\fR driver is managed by the \fBdladm\fR(1M) command line utility,
52
which allows VLANs to be defined on top of bge  instances and for \fBbge\fR
53
instances to be aggregated. See \fBdladm\fR(1M) for more details.
31
The \fBbge\fR driver is managed by the \fBdladm\fR(1M) command line utility, which allows VLANs to be defined on top of bge  instances and for \fBbge\fR instances to be aggregated. See \fBdladm\fR(1M) for more details.
54 32
.sp
55 33
.LP
56
You must send an explicit DL_ATTACH_REQ message to associate the opened stream
57
with a particular device (PPA). The PPA ID is interpreted as an unsigned
58
integer data type and indicates the corresponding device instance (unit)
59
number. The driver returns an error (DL_ERROR_ACK) if the PPA field value does
60
not correspond to a valid device instance number for the system. The device is
61
initialized on first attach and de-initialized (stopped) at last detach.
34
You must send an explicit DL_ATTACH_REQ message to associate the opened stream with a particular device (PPA). The PPA ID is interpreted as an unsigned integer data type and indicates the corresponding device instance (unit) number. The driver returns an error (DL_ERROR_ACK) if the PPA field value does not correspond to a valid device instance number for the system. The device is initialized on first attach and de-initialized (stopped) at last detach.
62 35
.sp
63 36
.LP
64
The values returned by the driver in the DL_INFO_ACK primitive in response to a
65
DL_INFO_REQ are:
37
The values returned by the driver in the DL_INFO_ACK primitive in response to a DL_INFO_REQ are:
66 38
.RS +4
67 39
.TP
68 40
.ie t \(bu
......
91 63
.TP
92 64
.ie t \(bu
93 65
.el o
94
\fBSAP\fR length value is \fI-2\fR, meaning the physical address component is
95
followed immediately by a 2-byte \fBSAP\fR component within the \fBDLSAP\fR
96
address.
66
\fBSAP\fR length value is \fI-2\fR, meaning the physical address component is followed immediately by a 2-byte \fBSAP\fR component within the \fBDLSAP\fR address.
97 67
.RE
98 68
.RS +4
99 69
.TP
100 70
.ie t \(bu
101 71
.el o
102
Broadcast address value is the Ethernet/IEEE broadcast address
103
(FF:FF:FF:FF:FF:FF).
72
Broadcast address value is the Ethernet/IEEE broadcast address (FF:FF:FF:FF:FF:FF).
104 73
.RE
105 74
.sp
106 75
.LP
107
Once in the DL_ATTACHED state, you must send a DL_BIND_REQ to associate a
108
particular Service Access Point (SAP) with the stream.
76
Once in the DL_ATTACHED state, you must send a DL_BIND_REQ to associate a particular Service Access Point (SAP) with the stream.
109 77
.SH CONFIGURATION
110 78
.sp
111 79
.LP
112
By default, the \fBbge\fR driver performs auto-negotiation to select the link
113
speed and mode. Link speed and mode can be any one of the following, (as
114
described in the \fI IEEE803.2\fR standard):
80
There are a number of configuration properties that can be changed. These are modified in the \fBbge.conf\fR driver configuration file and take affect after the driver is reloaded. By default, the \fBbge\fR driver performs auto-negotiation to select the link speed and mode. Link speed and mode can be any one of the following, (as described in the \fI IEEE803.2\fR standard):
115 81
.RS +4
116 82
.TP
117 83
.ie t \(bu
......
165 131
.RE
166 132
.sp
167 133
.LP
168
as the highest common denominator supported by both link partners. Because the
169
\fBbge\fR device supports all modes, the effect is to select the highest
170
throughput mode supported by the other device.
134
as the highest common denominator supported by both link partners. Because the \fBbge\fR device supports all modes, the effect is to select the highest throughput mode supported by the other device.
171 135
.sp
172 136
.LP
173
Alternatively, you can set the capabilities advertised by the \fBbge\fR device
174
using \fBdladm\fR(1M). The driver supports a number of parameters whose names
175
begin with \fBen_\fR (see below). Each of these parameters contains a boolean
176
value that determines whether the device advertises that mode of operation. If
177
\fBen_autoneg_cap\fR is set to 0, the driver forces the mode of operation
178
selected by the first non-zero parameter in priority order as  listed below:
137
Alternatively, you can set the capabilities advertised by the \fBbge\fR device using \fBdladm\fR(1M). The driver supports a number of parameters whose names begin with \fBen_\fR (see below). Each of these parameters contains a boolean value that determines whether the device advertises that mode of operation. If \fBen_autoneg_cap\fR is set to 0, the driver forces the mode of operation selected by the first non-zero parameter in priority order as  listed below:
179 138
.sp
180 139
.in +2
181 140
.nf
182 141
    (highest priority/greatest throughput)
183 142
          en_1000fdx_cap        1000Mbps full duplex
184
          en_1000hdx_cap        1000Mbps half duplex
185
          en_100fdx_cap         100Mbps full duplex
186
          en_100hdx_cap         100Mbps half duplex
187
          en_10fdx_cap          10Mbps full duplex
188
          en_10hdx_cap          10Mbps half duplex
143
          en_1000hdx_cap        1000Mpbs half duplex
144
          en_100fdx_cap         100Mpbs full duplex
145
          en_100hdx_cap         100Mpbs half duplex
146
          en_10fdx_cap          10Mpbs full duplex
147
          en_10hdx_cap          10Mpbs half duplex
189 148
                           (lowest priority/least throughput)
190 149
.fi
191 150
.in -2
192 151

  
193 152
.sp
194 153
.LP
195
For example, to prevent the device 'bge2' from advertising gigabit
196
capabilities, enter (as super-user):
154
For example, to prevent the device 'bge2' from advertising gigabit capabilities, enter (as super-user):
197 155
.sp
198 156
.in +2
199 157
.nf
......
204 162

  
205 163
.sp
206 164
.LP
207
All capabilities default to enabled. Note that changing any capability
208
parameter causes the link to go down while the link partners renegotiate the
209
link speed/duplex using the newly changed capabilities.
165
All capabilities default to enabled. Note that changing any capability parameter causes the link to go down while the link partners renegotiate the link speed/duplex using the newly changed capabilities.
210 166
.sp
211 167
.LP
212
The current settings of the parameters may be found using dladm show-ether. In
213
addition, the driver exports the current state, speed, duplex setting, and
214
working mode of the link via kstat parameters (these are read only and may not
215
be changed). For example, to check link state of device \fBbge0\fR:
168
The current settings of the parameters may be found using dladm show-dev. In addition, the driver exports the current state, speed, duplex setting, and working mode of the link via kstat parameters (these are read only and may not be changed). For example, to check link state of device \fBbge0\fR:
216 169
.sp
217 170
.in +2
218 171
.nf
......
227 180

  
228 181
.sp
229 182
.LP
230
The output above indicates that the link is up and running at 1Gbps full-duplex
231
with its rx/tx direction pause capability.
183
The output above indicates that the link is up and running at 1Gbps full-duplex with its rx/tx direction pause capability.
232 184
.sp
233 185
.LP
234 186
To extract link state information for the same link using kstat:
......
236 188
.in +2
237 189
.nf
238 190
# kstat bge:0:mac:link_state
239
module: bge                 instance: 0
191
module: bge                 instance: 0     
240 192
name:   mac                 class:    net
241
link_state
193
link_state 
242 194
.fi
243 195
.in -2
244 196

  
245 197
.sp
246 198
.LP
247
The default MTU is 1500. To enable Jumbo Frames support, you can configure the
248
\fBbge\fR driver by defining the default_mtu property via \fBdladm\fR(1M) or in
249
\fBdriver.conf\fR(4) to greater than 1500 bytes (for example:
250
default_mtu=9000). Note that the largest jumbo size supported by bge is 9000
251
bytes. Additionally, not all bge-derived devices currently support Jumbo
252
Frames. The following devices  support Jumbo Frames up to 9KB:  BCM5700, 5701,
253
5702, 5703C, 5703S, 5704C, 5704S, 5714C, 5714S, 5715C and 5715S. Other devices
254
currently do not support Jumbo Frames.
199
The default MTU is 1500. To enable Jumbo Frames support, you can configure the \fBbge\fR driver by defining the default_mtu property via \fBdladm\fR(1M) or in \fBbge.conf\fR to greater than 1500 bytes (for example: default_mtu=9000). Note that the largest jumbo size supported by bge is 9000 bytes. Additionally, not all bge-derived devices currently support Jumbo Frames. The following devices support Jumbo Frames up to 9KB: BCM5700, 5701, 5702, 5703C, 5703S, 5704C, 5704S, 5717/18/19/20, 5714C, 5714S, 5715C and 5715S. Other devices currently do not support Jumbo Frames.
200
.LP
201
BCM5717/18/19/20 devices support Energy Efficient Ethernet (EEE). This feature is turned off by default and can be turned on via the bge-eee property in the \fBdriver.conf\fR(4) file.
255 202
.SH FILES
256 203
.sp
257 204
.ne 2
205
.mk
258 206
.na
259 207
\fB\fB/kernel/drv/bge*\fR\fR
260 208
.ad
261 209
.RS 27n
210
.rt  
262 211
32-bit ELF kernel module. (x86)
263 212
.RE
264 213

  
265 214
.sp
266 215
.ne 2
216
.mk
267 217
.na
268 218
\fB\fB/kernel/drv/amd64/bge\fR\fR
269 219
.ad
270 220
.RS 27n
221
.rt  
271 222
64-bit ELF kernel module (x86).
272 223
.RE
273 224

  
274 225
.sp
275 226
.ne 2
227
.mk
276 228
.na
277 229
\fB\fB/kernel/drv/sparcv9/bge\fR\fR
278 230
.ad
279 231
.RS 27n
232
.rt  
280 233
64-bit ELF kernel module (SPARC).
281 234
.RE
282 235

  
......
288 241

  
289 242
.sp
290 243
.TS
291
box;
292
c | c
293
l | l .
294
ATTRIBUTE TYPE	ATTRIBUTE VALUE
244
tab() box;
245
cw(2.75i) |cw(2.75i) 
246
lw(2.75i) |lw(2.75i) 
247
.
248
ATTRIBUTE TYPEATTRIBUTE VALUE
295 249
_
296
Architecture	SPARC, x86
250
ArchitectureSPARC, x86
297 251
.TE
298 252

  
299 253
.SH SEE ALSO
300 254
.sp
301 255
.LP
302
\fBdladm\fR(1M), \fBdriver.conf\fR(4), \fBattributes\fR(5), \fBstreamio\fR(7I),
303
\fBdlpi\fR(7P)
256
\fBdladm\fR(1M), \fBdriver.conf\fR(4), \fBattributes\fR(5), \fBstreamio\fR(7I), \fBdlpi\fR(7P)
304 257
.sp
305 258
.LP
306 259
\fIWriting Device Drivers\fR
(2-2/10)