bge.conf revision 7c478bd95313f5f23a4c958a745db2134aa03244
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# CDDL HEADER START
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# The contents of this file are subject to the terms of the
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# Common Development and Distribution License, Version 1.0 only
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# (the "License"). You may not use this file except in compliance
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# with the License.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac# or http://www.opensolaris.org/os/licensing.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# See the License for the specific language governing permissions
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# and limitations under the License.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# When distributing Covered Code, include this CDDL HEADER in each
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac# If applicable, add the following below this CDDL HEADER, with the
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac# fields enclosed by brackets "[]" replaced with your own identifying
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac# information: Portions Copyright [yyyy] [name of copyright owner]
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# CDDL HEADER END
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#########################################################################
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
05b42f00b813c3dc70cbb80d62089f9cc0f6f549ludovicp# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# Use is subject to license terms.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#ident "%Z%%M% %I% %E% SMI"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# Driver.conf file for the BGE driver, for
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# Broadcom 579x Gigabit Ethernet devices
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# All the properties below can be set globally (i.e. for all instances
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# of BGE), or on a per-instance basis. See driver.conf(4) for details
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# of the syntax of global and per-instance properties.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# Properties specified in this file take effect when the driver is first
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# loaded, typically just after system boot. Changes to the file will
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# therefore not take effect until the next reboot, but will be permanent
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# thereafter.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift#
eaaa6d3fb6fe0e7ec79a33b436eb5cca09ebd0cdneil_a_wilson# Some of the driver's parameters can also be changed using ndd(1m).
eaaa6d3fb6fe0e7ec79a33b436eb5cca09ebd0cdneil_a_wilson# Changes made with ndd apply only to a specific instance (e.g. bge1).
eaaa6d3fb6fe0e7ec79a33b436eb5cca09ebd0cdneil_a_wilson# They take effect immediately, but are lost if the driver is unloaded.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#########################################################################
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# The autonegotiation feature can be controlled by the boolean properties
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# listed below.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# Firstly, 'adv_autoneg_cap' controls whether autonegotiation is enabled.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# If autonegotiation is turned OFF ("forced mode"), the remaining 'adv_*'
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# speed/duplex properties force selection of a specific mode, namely,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# the first mode found to be enabled, in highest-to-lowest speed order
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# (thus, if adv_1000fdx_cap=1, all other values will be ignored; to force
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# 10/hdx mode, *all* the faster modes must be explicitly disabled).
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# BEWARE - it's very easy to end up with a non-working link using forced
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# mode. There's NO validation that the link partner actually supports
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# the mode that this device has been forced into. In some cases, this
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# will prevent the link coming up; in others, the link status will show
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# 'up' (electrical connection made) but data transfer will not work at
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# all, or will work poorly (low throughput, high collision rates, etc).
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# Note that many switches *require* autonegotiation in order to operate
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# at 1000Mbps or in full-duplex mode or with flow control. In other words,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# the only combinations that are likely to work with autonegotiation off
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# are 100Mbps/half-duplex and 10Mbps/half-duplex, unless the peer has also
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# been manually forced to some other (matching) combination.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# With autonegotiation ON (the default and preferred mode), the 'adv_*'
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# properties control which capabilities are advertised to the partner.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# The default is to advertise all the capabilities that the hardware
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# supports; thus, the properties below serve only to limit the advertised
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# capabilities to restricted subset -- it is not possible to advertise a
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# capability that the hardware does not support.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# The autonegotiation process will then automagically select the fastest
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# speed/duplex mode and greatest degree of flow control supported by both
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# partners.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# If the local device is set to autonegotiate, but the link partner can't
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# or doesn't autonegotiate, the correct speed will be determined anyway,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# and HALF-DUPLEX mode will be selected, as mandated by the IEEE802.3
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# standard. This will yield the correct result if the partner is in fact
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# incapable of autonegotiating: it must be a half-duplex device, because
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# the only devices that don't support autonegotation are half-duplex (the
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# standard says that all full-duplex-capable devices must also support
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# autonegotiation).
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# However, this choice will NOT be correct if the peer is actually capable
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# of autonegotiation and full-duplex operation, and has been manually set
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# to "forced full-duplex without autonegotiation" (a mode not recommended
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# by the IEEE standard). The link will appear to work, but the duplex
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# mismatch will result in packet loss and spurious "late collisions". In
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift# such cases, the preferred solution is to enable autonegotiation by the
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# peer. Failing that, autonegotiation by the BGE device can be disabled,
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift# and forced mode used to match the peer's forced settings as above.
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# adv_autoneg_cap = 1;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# adv_1000fdx_cap = 1;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# adv_1000hdx_cap = 1;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# adv_100T4_cap = 0;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# adv_100fdx_cap = 1;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# adv_100hdx_cap = 1;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# adv_10fdx_cap = 1;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# adv_10hdx_cap = 1;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# adv_asym_pause_cap = 0;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# adv_pause_cap = 1;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# All of these parameters can can also be queried and modified at run-time
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# by use of the ndd(1m) command.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#########################################################################
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# OBP's device driver exports methods to set the link speed explicity,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# which then pass the information to the Solaris driver through the
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# 'transfer-speed' property. It therefore SHOULDN'T be set here, but
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# is documented for completeness. If the 'transfer-speed' property is
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# set to 10, 100, or 1000, the link will be set to the selected speed,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# and autonegotiation ENABLED but restricted to the specified speed.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# The correct duplex setting will be determined by autonegotiation.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# This property, if set, overrides and alters the settings of the adv_*
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# parameters corresponding to the properties above.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# transfer-speed = 1000;
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#########################################################################
7185b49f58c4cdb16d035ecc45e38ec9b1cd9bd0matthew_swift#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# As a third alternative, the following two properties can be set to
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# force the link speed/duplex setting instead. Doing so will override
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# and alter the settings of the adv_* parameters corresponding to the
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# properties above, and take precedence over all other means of setting
eaaa6d3fb6fe0e7ec79a33b436eb5cca09ebd0cdneil_a_wilson# the speed/duplex at boot time.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift#
eaaa6d3fb6fe0e7ec79a33b436eb5cca09ebd0cdneil_a_wilson# Autonegotiation will be DISABLED if EITHER of these properties is set,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# therefore BOTH properties should be set explicity if either one is.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# 'speed' may be set to 10, 100 or 1000, while 'full-duplex' may be 0 or 1.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift#
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift# See the warning above about the potential for misconfiguration when
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# autonegotiation is disabled. Defining these properties could leave your
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# system configured so that the network will not work at all after reboot,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# requiring manual intervention and further reboots to recover!
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# speed = 100;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# full-duplex = 0;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#########################################################################
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# The property below represents the list of subsystem vendor/device pairs
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# with which driver operation is supported. This list will be updated and
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# extended as new subsystems are validated ...
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilsonbge-known-subsystems = 0x108e1647,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson 0x108e1648,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson 0x108e16a7,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson 0x108e16a8,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson 0x17c20010,
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift 0x17341013,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson 0x101402a6,
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift 0x10f12885,
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift 0x17c20020,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson 0x10b71006,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson 0x10280109,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson 0x1028865d,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson 0x0e11005a,
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson 0x103c12bc;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#########################################################################
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# The properties below represents the number of receive and send ring used.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# For BCM5705, BCM5782, etc, there are only 1 receive ring and 1 send ring.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# Otherwise, there can be up to 16 receive rings and 4 send rings.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilsonbge-rx-rings = 1;
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilsonbge-tx-rings = 1;
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson