Devices bge(7D)
NAME
bge - SUNW,bge Gigabit Ethernet driver for Broadcom BCM57xx
SYNOPSIS
/dev/bge*
DESCRIPTION
The bge Gigabit Ethernet driver is a multi-threaded, load-
able, clonable, GLD-based STREAMS driver supporting the Data
Link Provider Interface, dlpi(7P), on Broadcom BCM57xx
(BCM5700/5701/5703/5704/5705/5705M/5714/5721/5751/5751M/5782/5788
on x86) Gigabit Ethernet controllers fitted to the system
motherboard. 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.)
The bge driver functions include controller initialization,
frame transmit and receive, promiscuous and multicast sup-
port, and error recovery and reporting.
The bge driver and hardware support auto-negotiation, a pro-
tocol 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 bge
driver also allows you to configure the advertised capabili-
ties 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.
APLICATION PROGRAMING INTERFACE
The cloning character-special device, /dev/bge, is used to
access all BCM57xx devices ( (BCM5700/5701/5703/5704,
5705/5714/5721/5751/5751M/5782 on x86) fitted to the system
motherboard.
The bge driver is managed by the dladm(1M) command line
utility, which allows VLANs to be defined on top of bge
instances and for bge instances to be aggregated. See
dladm(1M) for more details.
SunOS 5.11 Last change: 9 Apr 2008 1
Devices bge(7D)
You must send an explicit DLATACHREQ message to associate
the opened stream with a particular device (PA). The PA ID
is interpreted as an unsigned integer data type and indi-
cates the corresponding device instance (unit) number. The
driver returns an error (DLERORACK) if the PA 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.
The values returned by the driver in the DLINFOACK primi-
tive in response to a DLINFOREQ are:
o Maximum SDU (default 1500).
o Minimum SDU (default 0).
o DLSAP address length is 8.
o MAC type is DLETHER.
o SAP length value is -2, meaning the physical
address component is followed immediately by a 2-
byte SAP component within the DLSAP address.
o Broadcast address value is the Ethernet/IE broad-
cast address (F:F:F:F:F:F).
Once in the DLATACHED state, you must send a DLBINDREQ
to associate a particular Service Access Point (SAP) with
the stream.
CONFIGURATION
By default, the bge 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 IE803.2
standard):
o 1000 Mbps, full-duplex
o 1000 Mbps, half-duplex
o 100 Mbps, full-duplex
o 100 Mbps, half-duplex
o 10 Mbps, full-duplex
o 10 Mbps, half-duplex
SunOS 5.11 Last change: 9 Apr 2008 2
Devices bge(7D)
The auto-negotiation protocol automatically selects:
o Speed (1000 Mbps, 100 Mbps, or 10 Mbps)
o Operation mode (full-duplex or half-duplex)
as the highest common denominator supported by both link
partners. Because the bge device supports all modes, the
effect is to select the highest throughput mode supported by
the other device.
Alternatively, you can set the capabilities advertised by
the bge device using dladm(1M). The driver supports a number
of parameters whose names begin with en (see below). Each
of these parameters contains a boolean value that determines
whether the device advertises that mode of operation. If
enautonegcap is set to 0, the driver forces the mode of
operation selected by the first non-zero parameter in prior-
ity order as listed below:
(highest priority/greatest throughput)
en1000fdxcap 1000Mbps full duplex
en1000hdxcap 1000Mpbs half duplex
en100fdxcap 100Mpbs full duplex
en100hdxcap 100Mpbs half duplex
en10fdxcap 10Mpbs full duplex
en10hdxcap 10Mpbs half duplex
(lowest priority/least throughput)
For example, to prevent the device 'bge2' from advertising
gigabit capabilities, enter (as super-user):
# dladm set-linkprop -p enable1000hdxcap=0 bge2
# dladm set-linkprop -p enable1000fdxcap=0 bge2
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.
The current settings of the parameters may be found using
dladm show-ether. 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
SunOS 5.11 Last change: 9 Apr 2008 3
Devices bge(7D)
bge0:
# dladm show-ether -x bge0
LINK PTYPE STATE AUTO SPED-DUPLEX PAUSE
bge0 current up yes 1G-f bi
-- capable -- yes 1G-fh,100M-fh,10M-fh bi
-- adv -- yes 1G-fh bi
-- peeradv -- yes 1G-f bi
The output above indicates that the link is up and running
at 1Gbps full-duplex with its rx/tx direction pause capabil-
ity.
To extract link state information for the same link using
kstat:
# kstat bge:0:mac:linkstate
module: bge instance: 0
name: mac class: net
linkstate
The default MTU is 1500. To enable Jumbo Frames support, you
can configure the bge driver by defining the defaultmtu
property via dladm(1M) or in driver.conf(4) to greater than
1500 bytes (for example: defaultmtu=9000). Note that the
largest jumbo size supported by bge is 9000 bytes. Addition-
ally, 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,
5714C, 5714S, 5715C and 5715S. Other devices currently do
not support Jumbo Frames.
FILES
/kernel/drv/bge* 32-bit ELF kernel module. (x86)
/kernel/drv/amd64/bge 64-bit ELF kernel module (x86).
/kernel/drv/sparcv9/bge 64-bit ELF kernel module (SPARC).
ATRIBUTES
See attributes(5) for a description of the following attri-
butes:
SunOS 5.11 Last change: 9 Apr 2008 4
Devices bge(7D)
ATRIBUTE TYPE ATRIBUTE VALUE
Architecture SPARC, x86
SEE ALSO
dladm(1M), driver.conf(4), attributes(5), streamio(7I),
dlpi(7P)
Writing Device Drivers
STREAMS Programming Guide
Network Interfaces Programmer's Guide
SunOS 5.11 Last change: 9 Apr 2008 5
|