summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/io/bge/bge.conf
blob: edabf29ab1afb0f3ef3aed465cda1865b984fb64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
#
# CDDL HEADER START
#
# 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.
#
# 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.
#
# 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]
#
# CDDL HEADER END
#
#########################################################################
#
# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# Driver.conf file for the BGE driver, for
# Broadcom 579x Gigabit Ethernet devices
# 
# All the properties below can be set globally (i.e. for all instances
# of BGE), or on a per-instance basis.  See driver.conf(4) for details
# of the syntax of global and per-instance properties.
#
# Properties specified in this file take effect when the driver is first
# loaded, typically just after system boot.  Changes to the file will
# therefore not take effect until the next reboot, but will be permanent
# thereafter.
#
# Some of the driver's parameters can also be changed using ndd(1m).
# Changes made with ndd apply only to a specific instance (e.g. bge1).
# They take effect immediately, but are lost if the driver is unloaded.
#
#########################################################################
#
# The autonegotiation feature can be controlled by the boolean properties
# listed below.
#
# Firstly, 'adv_autoneg_cap' controls whether autonegotiation is enabled.
#
# If autonegotiation is turned OFF ("forced mode"), the remaining 'adv_*'
# speed/duplex properties force selection of a specific mode, namely,
# the first mode found to be enabled, in highest-to-lowest speed order
# (thus, if adv_1000fdx_cap=1, all other values will be ignored; to force
# 10/hdx mode, *all* the faster modes must be explicitly disabled).
#
# BEWARE - it's very easy to end up with a non-working link using forced
# mode.  There's NO validation that the link partner actually supports
# the mode that this device has been forced into.  In some cases, this
# will prevent the link coming up; in others, the link status will show
# 'up' (electrical connection made) but data transfer will not work at
# all, or will work poorly (low throughput, high collision rates, etc).
#
# Note that many switches *require* autonegotiation in order to operate
# at 1000Mbps or in full-duplex mode or with flow control.  In other words,
# the only combinations that are likely to work with autonegotiation off
# are 100Mbps/half-duplex and 10Mbps/half-duplex, unless the peer has also
# been manually forced to some other (matching) combination.
#
# With autonegotiation ON (the default and preferred mode), the 'adv_*'
# properties control which capabilities are advertised to the partner.
# The default is to advertise all the capabilities that the hardware
# supports; thus, the properties below serve only to limit the advertised
# capabilities to restricted subset -- it is not possible to advertise a
# capability that the hardware does not support.
#
# The autonegotiation process will then automagically select the fastest
# speed/duplex mode and greatest degree of flow control supported by both
# partners.
#
# If the local device is set to autonegotiate, but the link partner can't
# or doesn't autonegotiate, the correct speed will be determined anyway,
# and HALF-DUPLEX mode will be selected, as mandated by the IEEE802.3
# standard.  This will yield the correct result if the partner is in fact
# incapable of autonegotiating: it must be a half-duplex device, because
# the only devices that don't support autonegotation are half-duplex (the
# standard says that all full-duplex-capable devices must also support
# autonegotiation).
# 
# However, this choice will NOT be correct if the peer is actually capable
# of autonegotiation and full-duplex operation, and has been manually set
# to "forced full-duplex without autonegotiation" (a mode not recommended
# by the IEEE standard).  The link will appear to work, but the duplex
# mismatch will result in packet loss and spurious "late collisions".  In
# such cases, the preferred solution is to enable autonegotiation by the
# peer.  Failing that, autonegotiation by the BGE device can be disabled,
# and forced mode used to match the peer's forced settings as above.
#
# adv_autoneg_cap	= 1;
# adv_1000fdx_cap	= 1;
# adv_1000hdx_cap	= 1;
# adv_100T4_cap		= 0;
# adv_100fdx_cap	= 1;
# adv_100hdx_cap	= 1;
# adv_10fdx_cap		= 1;
# adv_10hdx_cap		= 1;
# adv_asym_pause_cap	= 0;
# adv_pause_cap		= 0;
#
# All of these parameters can can also be queried and modified at run-time
# by use of the ndd(1m) command.
#
#########################################################################
#
# OBP's device driver exports methods to set the link speed explicity,
# which then pass the information to the Solaris driver through the
# 'transfer-speed' property.  It therefore SHOULDN'T be set here, but
# is documented for completeness.  If the 'transfer-speed' property is
# set to 10, 100, or 1000, the link will be set to the selected speed,
# and autonegotiation ENABLED but restricted to the specified speed.
# The correct duplex setting will be determined by autonegotiation.
# 
# This property, if set, overrides and alters the settings of the adv_*
# parameters corresponding to the properties above.
#
# transfer-speed	= 1000;
#
#########################################################################
#
# As a third alternative, the following two properties can be set to
# force the link speed/duplex setting instead.  Doing so will override
# and alter the settings of the adv_* parameters corresponding to the
# properties above, and take precedence over all other means of setting
# the speed/duplex at boot time.
# 
# Autonegotiation will be DISABLED if EITHER of these properties is set,
# therefore BOTH properties should be set explicity if either one is.
# 'speed' may be set to 10, 100 or 1000, while 'full-duplex' may be 0 or 1.
#
# See the warning above about the potential for misconfiguration when
# autonegotiation is disabled.  Defining these properties could leave your
# system configured so that the network will not work at all after reboot,
# requiring manual intervention and further reboots to recover!
#
# speed			= 100;
# full-duplex		= 0;
# 
#########################################################################
#
# The property below represents the list of subsystem vendor/device pairs
# with which driver operation is supported.  This list will be updated and
# extended as new subsystems are validated ...
# 
bge-known-subsystems	= 0x108e1647,
			  0x108e1648,
			  0x108e16a7,
			  0x108e16a8,
			  0x17c20010,
			  0x17341013,
			  0x101402a6,
			  0x10f12885,
			  0x17c20020,
			  0x10b71006,
			  0x10280109,
			  0x102801f8,
			  0x1028865d,
			  0x0e11005a,
			  0x0e1100cb,
			  0x103c12bc;
#########################################################################
#
# The properties below represents the number of receive and send ring used.
# For BCM5705, BCM5782, etc, there are only 1 receive ring and 1 send ring.
# Otherwise, there can be up to 16 receive rings and 4 send rings. 
#
bge-rx-rings		= 16;
bge-tx-rings		= 1;