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

NAME

6       llc1 - Logical Link Control Protocol Class 1 Driver
7

SYNOPSIS

9       #include <sys/stropts.h>
10
11
12       #include <sys/ethernet.h>
13
14
15       #include <sys/dlpi.h>
16
17
18       #include <sys/llc1.h>
19
20

DESCRIPTION

22       The   llc1 driver is a multi-threaded, loadable, clonable, STREAMS mul‐
23       tiplexing driver  supporting  the  connectionless  Data  Link  Provider
24       Interface,  dlpi(7P), implementing IEEE 802.2 Logical Link Control Pro‐
25       tocol Class 1 over a STREAM to a MAC level driver. Multiple  MAC  level
26       interfaces  installed within the system can be supported by the driver.
27       The  llc1 driver provides basic support for the  LLC1  protocol.  Func‐
28       tions  provided include frame transmit and receive, XID, and TEST, mul‐
29       ticast support, and error recovery and reporting.
30
31
32       The cloning, character-special device, /dev/llc1, is used to access all
33       LLC1 controllers configured under llc1.
34
35
36       The   llc1  driver  is a "Style 2" Data Link Service provider. All mes‐
37       sages of types M_PROTO and M_PCPROTO are  interpreted  as  DLPI  primi‐
38       tives.   An  explicit  DL_ATTACH_REQ message by the user is required to
39       associate the opened stream with a particular device (ppa). The ppa  ID
40       is  interpreted  as  an  unsigned  long and indicates the corresponding
41       device instance (unit) number. An error  (DL_ERROR_ACK) is returned  by
42       the driver if the ppa field value does not correspond to a valid device
43       instance number for this system.
44
45
46       The values returned by the  driver  in  the  DL_INFO_ACK  primitive  in
47       response to the DL_INFO_REQ from the user are as follows:
48
49           o      The  maximum Service Data UNIT (SDU) is derived from the MAC
50                  layer linked below the driver.  In the case of  an  Ethernet
51                  driver, the SDU will be 1497.
52
53           o      The minimum SDU is 0.
54
55           o      The  MAC  type  is DL_CSMACD or  DL_TPR as determined by the
56                  driver linked under llc1. If the driver reports that  it  is
57                  DL_ETHER,  it  will  be  changed to DL_CSMACD; otherwise the
58                  type is the same as the MAC type.
59
60           o      The sap length value is −1,  meaning  the  physical  address
61                  component is followed immediately by a 1-octet sap component
62                  within the DLSAP address.
63
64           o      The service mode is DL_CLDLS.
65
66           o      The MAC type is DL_CSMACD or  DL_TPR as  determined  by  the
67                  driver  linked  under llc1. If the driver reports that it is
68                  DL_ETHER, it will be changed  to  DL_CSMACD;  otherwise  the
69                  type is the same as the MAC type.
70
71           o      The  dlsap address length is 7.
72
73           o      No  optional quality of service (QOS) support is included at
74                  present, so the QOS fields should be initialized to 0.
75
76           o      The DLPI version is DL_VERSION_2.
77
78           o      The provider style is DL_STYLE2.
79
80           o      The  broadcast  address  value  is  the  broadcast   address
81                  returned from the lower level driver.
82
83
84       Once  in the DL_ATTACHED state, the user must send a DL_BIND_REQ to as‐
85       sociate a particular Service Access Point (SAP) with  the  stream.  The
86       llc1 driver interprets the  sap field within the DL_BIND_REQ as an IEEE
87       802.2 "SAP," therefore valid values  for  the  sap  field  are  in  the
88       [0-0xFF] range with only even values being legal.
89
90
91       The  llc1 driver DLSAP address format consists of  the 6-octet physical
92       (e.g., Ethernet) address component followed immediately by the  1-octet
93       sap  (type)  component  producing a 7-octet DLSAP address. Applications
94       should  not hard-code to this particular implementation-specific  DLSAP
95       address  format, but use information returned in the DL_INFO_ACK primi‐
96       tive to compose and decompose DLSAP addresses.  The  sap  length,  full
97       DLSAP  length,  and  sap/physical  ordering  are  included  within  the
98       DL_INFO_ACK. The physical address length can be computed by subtracting
99       the absolute value of the sap length from the full DLSAP address length
100       or by issuing the  DL_PHYS_ADDR_REQ  to  obtain  the  current  physical
101       address associated with the stream.
102
103
104       Once  in the DL_BOUND state, the user may transmit frames on the LAN by
105       sending DL_UNITDATA_REQ messages to the  llc1 driver. The  llc1  driver
106       will  route  received frames up all open and bound streams having a sap
107       which  matches  the  IEEE  802.2  DSAP  as   DL_UNITDATA_IND  messages.
108       Received  frames  are duplicated and routed up multiple open streams if
109       necessary. The DLSAP address contained within the  DL_UNITDATA_REQ  and
110       DL_UNITDATA_IND  messages  consists of both the sap (type) and physical
111       (Ethernet) components.
112
113
114       In addition to the mandatory,  connectionless  DLPI  message  set,  the
115       driver additionally supports the following primitives:
116
117
118       The  DL_ENABMULTI_REQ  and  DL_DISABMULTI_REQ primitives enable/disable
119       reception of specific multicast group addresses.  A  set  of  multicast
120       addresses may be iteratively created and modified on a per-stream basis
121       using these primitives. These primitives are accepted by the driver  in
122       any driver state that is valid while still being attached to the ppa.
123
124
125       The  DL_PHYS_ADDR_REQ  primitive  returns  the 6-octet physical address
126       currently associated (attached) to the stream in the   DL_PHYS_ADDR_ACK
127       primitive.  This primitive is valid only in states following a success‐
128       ful  DL_ATTACH_REQ.
129
130
131       The DL_SET_PHYS_ADDR_REQ primitive changes the 6-octet physical address
132       currently  associated  (attached)  to  this  stream.  Once changed, all
133       streams subsequently opened and attached to  this  device  will  obtain
134       this  new  physical  address.  Once  changed, the physical address will
135       remain set until this primitive is used to change the physical  address
136       again or the system is rebooted, whichever occurs first.
137
138
139       The  DL_XID_REQ/DL_TEST_REQ  primitives provide the means for a user to
140       issue an LLC XID or TEST request message.  A response to one  of  these
141       messages will be in the form of a  DL_XID_CON/DL_TEST_CON message.
142
143
144       The   DL_XID_RES/DL_TEST_RES  primitives  provide a way for the user to
145       respond to the receipt of an  XID or  TEST message that was received as
146       a  DL_XID_IND/DL_TEST_IND message.
147
148
149       XID   and   TEST  will  be  automatically  processed  by  llc1  if  the
150       DL_AUTO_XID/DL_AUTO_TEST bits are set in the DL_BIND_REQ.
151

FILES

153       /dev/llc1    cloning, character-special device
154
155

ATTRIBUTES

157       See attributes(5) for descriptions of the following attributes:
158
159
160
161
162       ┌─────────────────────────────┬─────────────────────────────┐
163       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
164       ├─────────────────────────────┼─────────────────────────────┤
165       │Architecture                 │x86                          │
166       └─────────────────────────────┴─────────────────────────────┘
167

SEE ALSO

169       attributes(5), dlpi(7P)
170
171
172
173SunOS 5.11                        13 Feb 1997                         llc1(7D)
Impressum