1bge(7D)                             Devices                            bge(7D)
2
3
4

NAME

6       bge - SUNW,bge Gigabit Ethernet driver for Broadcom BCM57xx
7

SYNOPSIS

9       /dev/bge*
10
11

DESCRIPTION

13       The  bge  Gigabit  Ethernet driver is a multi-threaded, loadable, clon‐
14       able, GLD-based STREAMS driver supporting the Data Link Provider Inter‐
15       face,          dlpi(7P),          on          Broadcom          BCM57xx
16       (BCM5700/5701/5703/5704/5705/5705M/5714/5721/5751/5751M/5782/5788    on
17       x86)  Gigabit  Ethernet  controllers  fitted to the system motherboard.
18       With the exception of BCM5700/BCM5701/BCM5704S, these devices  incorpo‐
19       rate both MAC and PHY functions and provide three-speed (copper) Ether‐
20       net operation on the RJ-45 connectors. (BCM5700/BCM5701/BCM5704S do not
21       have a PHY integrated into the MAC chipset.)
22
23
24       The  bge  driver  functions  include  controller  initialization, frame
25       transmit and receive, promiscuous  and  multicast  support,  and  error
26       recovery and reporting.
27
28
29       The bge driver and hardware support auto-negotiation, a protocol speci‐
30       fied by the 1000 Base-T standard. Auto-negotiation allows  each  device
31       to  advertise  its  capabilities  and  discover those of its peer (link
32       partner). The highest common denominator supported by both  link  part‐
33       ners   is  automatically  selected,  yielding  the  greatest  available
34       throughput, while requiring no manual  configuration.  The  bge  driver
35       also  allows  you to configure the advertised capabilities to less than
36       the maximum (where the full speed of the interface is not required), or
37       to  force  a specific mode of operation, irrespective of the link part‐
38       ner's advertised capabilities.
39

APPLICATION PROGRAMMING INTERFACE

41       The cloning character-special device, /dev/bge, is used to  access  all
42       BCM57xx           devices           (          (BCM5700/5701/5703/5704,
43       5705/5714/5721/5751/5751M/5782 on x86) fitted  to  the  system  mother‐
44       board.
45
46
47       The  bge driver is managed by the dladm(1M) command line utility, which
48       allows VLANs to be defined  on  top  of  bge   instances  and  for  bge
49       instances to be aggregated. See dladm(1M) for more details.
50
51
52       You must send an explicit DL_ATTACH_REQ message to associate the opened
53       stream with a particular device (PPA). The PPA ID is interpreted as  an
54       unsigned  integer  data  type  and  indicates  the corresponding device
55       instance (unit) number. The driver returns an error  (DL_ERROR_ACK)  if
56       the PPA field value does not correspond to a valid device instance num‐
57       ber for the system. The device is initialized on first attach  and  de-
58       initialized (stopped) at last detach.
59
60
61       The  values  returned  by  the  driver  in the DL_INFO_ACK primitive in
62       response to a DL_INFO_REQ are:
63
64           o      Maximum SDU (default 1500).
65
66           o      Minimum SDU (default 0).
67
68           o      DLSAP address length is 8.
69
70           o      MAC type is DL_ETHER.
71
72           o      SAP length value is -2, meaning the physical address  compo‐
73                  nent  is  followed  immediately  by  a  2-byte SAP component
74                  within the DLSAP address.
75
76           o      Broadcast  address  value  is  the  Ethernet/IEEE  broadcast
77                  address (FF:FF:FF:FF:FF:FF).
78
79
80       Once in the DL_ATTACHED state, you must send a DL_BIND_REQ to associate
81       a particular Service Access Point (SAP) with the stream.
82

CONFIGURATION

84       By default, the bge driver performs auto-negotiation to select the link
85       speed  and  mode.  Link speed and mode can be any one of the following,
86       (as described in the  IEEE803.2 standard):
87
88           o      1000 Mbps, full-duplex
89
90           o      1000 Mbps, half-duplex
91
92           o      100 Mbps, full-duplex
93
94           o      100 Mbps, half-duplex
95
96           o      10 Mbps, full-duplex
97
98           o      10 Mbps, half-duplex
99
100
101       The auto-negotiation protocol automatically selects:
102
103           o      Speed (1000 Mbps, 100 Mbps, or 10 Mbps)
104
105           o      Operation mode (full-duplex or half-duplex)
106
107
108       as the highest common denominator  supported  by  both  link  partners.
109       Because  the bge device supports all modes, the effect is to select the
110       highest throughput mode supported by the other device.
111
112
113       Alternatively, you can set  the  capabilities  advertised  by  the  bge
114       device  using  dladm(1M).  The  driver  supports a number of parameters
115       whose names begin with en_ (see below). Each of these  parameters  con‐
116       tains  a  boolean  value  that determines whether the device advertises
117       that mode of operation. If en_autoneg_cap  is  set  to  0,  the  driver
118       forces  the  mode of operation selected by the first non-zero parameter
119       in priority order as  listed below:
120
121             (highest priority/greatest throughput)
122                   en_1000fdx_cap        1000Mbps full duplex
123                   en_1000hdx_cap        1000Mpbs half duplex
124                   en_100fdx_cap         100Mpbs full duplex
125                   en_100hdx_cap         100Mpbs half duplex
126                   en_10fdx_cap          10Mpbs full duplex
127                   en_10hdx_cap          10Mpbs half duplex
128                                    (lowest priority/least throughput)
129
130
131
132       For example, to prevent the  device  'bge2'  from  advertising  gigabit
133       capabilities, enter (as super-user):
134
135         # dladm set-linkprop -p enable_1000hdx_cap=0  bge2
136         # dladm set-linkprop -p enable_1000fdx_cap=0 bge2
137
138
139
140       All  capabilities default to enabled. Note that changing any capability
141       parameter causes the link to go down while the link partners  renegoti‐
142       ate the link speed/duplex using the newly changed capabilities.
143
144
145       The  current  settings of the parameters may be found using dladm show-
146       ether. In addition, the driver exports the current state, speed, duplex
147       setting,  and  working mode of the link via kstat parameters (these are
148       read only and may not be changed). For example, to check link state  of
149       device bge0:
150
151         # dladm show-ether -x bge0
152         LINK       PTYPE    STATE    AUTO  SPEED-DUPLEX            PAUSE
153         bge0       current  up       yes   1G-f                    bi
154         --         capable  --       yes   1G-fh,100M-fh,10M-fh    bi
155         --         adv      --       yes   1G-fh                   bi
156         --         peeradv  --       yes   1G-f                    bi
157
158
159
160       The  output  above  indicates  that the link is up and running at 1Gbps
161       full-duplex with its rx/tx direction pause capability.
162
163
164       To extract link state information for the same link using kstat:
165
166         # kstat bge:0:mac:link_state
167         module: bge                 instance: 0
168         name:   mac                 class:    net
169         link_state
170
171
172
173       The default MTU is 1500. To enable Jumbo Frames support, you  can  con‐
174       figure  the  bge  driver  by  defining  the  default_mtu  property  via
175       dladm(1M) or in driver.conf(4) to greater than 1500 bytes (for example:
176       default_mtu=9000). Note that the largest jumbo size supported by bge is
177       9000 bytes. Additionally, not all bge-derived devices currently support
178       Jumbo  Frames.  The  following devices  support Jumbo Frames up to 9KB:
179       BCM5700, 5701, 5702, 5703C, 5703S, 5704C, 5704S,  5714C,  5714S,  5715C
180       and 5715S. Other devices currently do not support Jumbo Frames.
181

FILES

183       /kernel/drv/bge*           32-bit ELF kernel module. (x86)
184
185
186       /kernel/drv/amd64/bge      64-bit ELF kernel module (x86).
187
188
189       /kernel/drv/sparcv9/bge    64-bit ELF kernel module (SPARC).
190
191

ATTRIBUTES

193       See attributes(5) for a description of the following attributes:
194
195
196
197
198       ┌─────────────────────────────┬─────────────────────────────┐
199       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
200       ├─────────────────────────────┼─────────────────────────────┤
201       │Architecture                 │SPARC, x86                   │
202       └─────────────────────────────┴─────────────────────────────┘
203

SEE ALSO

205       dladm(1M), driver.conf(4), attributes(5), streamio(7I), dlpi(7P)
206
207
208       Writing Device Drivers
209
210
211       STREAMS Programming Guide
212
213
214       Network Interfaces Programmer's Guide
215
216
217
218SunOS 5.11                        9 Apr 2008                           bge(7D)
Impressum