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

NAME

6       eri - eri Fast-Ethernet device driver
7

SYNOPSIS

9       /dev/eri
10
11

DESCRIPTION

13       The  eri  Fast Ethernet driver is a multi-threaded, loadable, clonable,
14       STREAMS—based hardware driver supporting the connectionless  Data  Link
15       Provider  Interface dlpi(7P) over an eri Fast-Ethernet controller. Mul‐
16       tiple eri devices installed within the  system  are  supported  by  the
17       driver.
18
19
20       The  eri driver provides basic support for the eri hardware and handles
21       the eri device. Functions include chip  initialization,  frame  transit
22       and  receive, multicast and promiscuous support, and error recovery and
23       reporting.
24
25
26       The eri device provides 100Base-TX networking interfaces using the  SUN
27       RIO  ASIC  and  an  internal transceiver. The RIO ASIC provides the PCI
28       interface and MAC functions. The physical layer functions are  provided
29       by the internal transceiver which connects to a RJ-45 connector.
30
31
32       The 100Base-TX standard specifies an auto-negotiation protocol to auto‐
33       matically select the mode and speed of operation. The  internal  trans‐
34       ceiver  is  capable of performing auto-negotiation using the remote-end
35       of the link (link partner) and receives the capabilities  of the remote
36       end. It selects the  highest common denominator mode of operation based
37       on the priorities. It also supports a forced-mode  of  operation  under
38       which the driver selects the mode of operation.
39

APPLICATION PROGRAMMING INTERFACE

41       The  cloning  character-special  device  /dev/eri is used to access all
42       eri controllers installed within the system.
43
44   eri and DLPI
45       The  eri driver is a "style 2" Data Link Service provider. All  M_PROTO
46       and  M_PCPROTO  type messages are interpreted as DLPI primitives. Valid
47       DLPI primitives are defined in <sys/dlpi.h>. Refer to dlpi(7P) for more
48       information.
49
50
51       An  explicit DL_ATTACH_REQ message by the user is required to associate
52       the opened stream with a particular device (ppa). The ppa ID is  inter‐
53       preted as an unsigned integer data type and indicates the corresponding
54       device instance (unit) number. An error (DL_ERROR_ACK) is  returned  by
55       the driver if the ppa field value does not correspond to a valid device
56       instance number for this system. The device  is  initialized  on  first
57       attach and de-initialized (stopped) at last detach.
58
59
60       The  values  returned  by  the  driver  in the DL_INFO_ACK primitive in
61       response to the DL_INFO_REQ from the user are as follows:
62
63           o      The maximum SDU is 1500 (ETHERMTU - defined in   <sys/ether‐
64                  net.h> ).
65
66           o      The minimum SDU is 0.
67
68           o      The dlsap address length is 8.
69
70           o      The MAC type is DL_ETHER.
71
72           o      The  sap  length  values is -2, meaning the physical address
73                  component is followed immediately  by a 2 byte sap component
74                  within the DLSAP address.
75
76           o      The service mode is DL_CLDLS.
77
78           o      Optional quality of service (QOS) is not currently supported
79                  so  QOS fields are 0.
80
81           o      The provider style is DL_STYLE.
82
83           o      The version is DL_VERSION_2.
84
85           o      The  broadcast  address  value  is  Ethernet/IEEE  broadcast
86                  address (0xFFFFFF).
87
88
89       Once  in the DL_ATTACHED state, the user must send a DL_BIND_REQ to as‐
90       sociate a particular SAP (Service Access Pointer) with the stream.  The
91       eri driver interprets the sap field within the DL_BIND_REQ as an Ether‐
92       net "type," therefore valid  values  for  the  sap  field  are  in  the
93       [0-0xFFFF] range.  Only one Ethernet type can be bound to the stream at
94       any time.
95
96
97       If the user selects a sap with a value of 0, the receiver  will  be  in
98       IEEE  802.3  mode. All frames received from the media having a Ethernet
99       type field in the range [0-1500] are assumed to be 802.3 frames and are
100       routed up all open Streams which are bound to sap value 0. If more than
101       one Stream is in 802.3 mode, the frame will be duplicated and routed up
102       multiple Streams as DL_UNITDATA_IND messages.
103
104
105       In  transmission, the driver checks the sap field of the DL_BIND_REQ to
106       determine if the value is 0 or if the Ethernet type  field  is  in  the
107       range  [0-1500].  If  either is true, the driver computes the length of
108       the message, not including initial M_PROTO mblk (message block), of all
109       subsequent  DL_UNITDATA_REQ  messages,  and transmits 802.3 frames that
110       have this value in the MAC frame header length field.
111
112
113       The eri driver's DLSAP address format consists of the 6  byte  physical
114       (Ethernet)  address  component  followed  immediately by the 2 byte sap
115       (type) component, producing  an  8  byte  DLSAP  address.  Applications
116       should  not  hardcode  to this particular implementation-specific DLSAP
117       address format but use information returned in the  DL_INFO_ACK  primi‐
118       tive  to  compose  and  decompose DLSAP addresses. The sap length, full
119       DLSAP  length,  and  sap/physical  ordering  are  included  within  the
120       DL_INFO_ACK. The physical address length can be computed by subtracting
121       the sap length from the full DLSAP address length  or  by  issuing  the
122       DL_PHYS_ADDR_REQ to obtain the current physical address associated with
123       the stream.
124
125
126       Once in the DL_BOUND state, the user may transmit frames on the  Ether‐
127       net  by  sending  DL_UNITDATA_REQ  messages  to the eri driver. The eri
128       driver will route received  Ethernet  frames  up  all  open  and  bound
129       streams having a sap which matches the Ethernet type as DL_UNITDATA_IND
130       messages.  Received Ethernet frames are duplicated and routed up multi‐
131       ple  open  streams if necessary. The DLSAP address contained within the
132       DL_UNITDATA_REQ and DL_UNITDATA_IND messages consists of both  the  sap
133       (type) and physical (Ethernet) components.
134
135   eri Primitives
136       In  addition  to  the  mandatory  connectionless  DLPI message set, the
137       driver also supports the following primitives:
138
139
140       The DL_ENABMULTI_REQ and  DL_DISABMULTI_REQ  primitives  enable/disable
141       reception  of  individual multicast group addresses. A set of multicast
142       addresses may be iteratively created and modified on a per-stream basis
143       using  these primitives. These primitives are accepted by the driver in
144       any state following DL_ATTACHED.
145
146
147       The  DL_PROMISCON_REQ  and  DL_PROMISCOFF_REQ   primitives   with   the
148       DL_PROMISC_PHYS  flag set in the dl_level field enables/disables recep‐
149       tion of all promiscuous mode frames on the media, including frames gen‐
150       erated  by  the local host. When used with the DL_PROMISC_SAP flag set,
151       this enables/disables reception of all sap (Ethernet type) values. When
152       used  with  the DL_PROMISC_MULTI flag set, this enables/disables recep‐
153       tion of all multicast group addresses. The effect of each is always  on
154       a  per-stream basis and independent of the other sap and physical level
155       configurations on this stream or other streams.
156
157
158       The DL_PHYS_ADDR_REQ primitive returns the  6  octet  Ethernet  address
159       currently  associated  (attached) to the stream in the DL_PHYS_ADDR_ACK
160       primitive.  This primitive is valid only in states following a success‐
161       ful DL_ATTACH_REQ.
162
163
164       The DL_SET_PHYS_ADDR_REQ primitive changes the 6 octet Ethernet address
165       currently associated (attached) to this stream. The credentials of  the
166       process which originally opened this stream must be superuser, or EPERM
167       is returned in the DL_ERROR_ACK. This primitive is destructive  because
168       it  affects  all current and future streams attached to this device. An
169       M_ERROR is sent up all other streams attached to this device when  this
170       primitive  is successful on this stream. Once changed, all streams sub‐
171       sequently opened and attached to this device will obtain this new phys‐
172       ical  address.   Once  changed,  the physical address will remain until
173       this primitive is used to change the physical address again or the sys‐
174       tem is rebooted, whichever comes first.
175
176   eri DRIVER
177       By  default,  the  eri  driver performs auto-negotiation to  select the
178       mode and speed of the link, which can  be  in  one  of  the   following
179       modes, as described in the 100Base-TX standard:
180
181           o      100 Mbps, full-duplex
182
183           o      100 Mbps, half-duplex
184
185           o      10 Mbps, full-duplex
186
187           o      10 Mbps, half-duplex
188
189
190       The auto-negotiation protocol automatically selects:
191
192           o      Operation mode (half-duplex or full-duplex)
193
194           o      Speed (100 Mbps or 10 Mbps)
195
196
197       The auto-negotiation protocol does the following:
198
199           o      Gets all modes of operation supported by the link partner
200
201           o      Advertises its capabilities to the Link Partner
202
203           o      Selects  the  highest  common  denominator mode of operation
204                  based on the  priorities
205
206
207       The internal transceiver is capable of all of the operating speeds  and
208       modes  listed above. By default, auto-negotiation is used to select the
209       speed and the mode of the link and the common mode  of  operation  with
210       the link partner.
211
212
213       For  users  who want to select the speed and mode of  the link, the eri
214       device supports programmable IPG (Inter-Packet Gap) parameters ipg1 and
215       ipg2.  Sometimes,  the user may want to alter these values depending on
216       whether the driver supports 10 Mbps or 100 Mpbs  and  accordingly,  IPG
217       will be set to 9.6 or 0.96 microseconds.
218
219   eri Parameter List
220       The  eri driver provides for setting and getting various parameters for
221       the  eri device. The parameter list includes current  transceiver  sta‐
222       tus, current link status, inter-packet gap, local transceiver capabili‐
223       ties and link partner capabilities.
224
225
226       The local transceiver has two set of  capabilities:  one  set  reflects
227       hardware capabilities, which are  read-only (RO) parameters. The second
228       set reflects the values chosen by the user and is used in speed  selec‐
229       tion  and  possess  read/write (RW) capability. At boot time, these two
230       sets of capabilities will be the  same.  Because  the  current  default
231       value  of  these parameters can only be read and not modified, the link
232       partner capabilities are also read only.
233

FILES

235       /dev/eri                    eri special character device.
236
237
238       /kernel/drv/eri.conf         System wide default device driver  proper‐
239                                   ties
240
241
242       /kernel/drv/sparcv9/eri      64 bit device driver
243
244

SEE ALSO

246       ndd(1M), netstat(1M), driver.conf(4), hme(7D), qfe(7d), dlpi(7P)
247
248
249
250SunOS 5.11                        1 Mar 2000                           eri(7D)
Impressum