Technical data
smc(7D) Devices SunOS 5.5
Once in theDL_ATTACHED state, the user must send a DL_BIND_REQ to associate a par-
ticular SAP (Service Access Pointer) with the stream. The smc driver interprets the sap
field within the DL_BIND_REQ as an Ethernet “type.” Therefore valid values for the sap
field are in the [0-0xFFFF] range. Only one Ethernet “type” can be bound to the stream at
any time.
In addition to Ethernet V2 service, an “802.3 mode” is provided by the driver and works
as follows. sap values in the range [0-1500] are treated as equivalent and represent a
desire by the user for “802.3 mode”. If the value of the sap field of the DL_BIND_REQ is
within this range, then the driver computes the length, not including the initialM_PROTO
message block, of all subsequentDL_UNITDATA_REQ messages and transmits 802.3
frames having this value in theMAC frame header lengthfield. All frames received from
the media havinga “type” field in this range are assumed to be 802.3 frames and are
routed up all open streams that are bound to any sap value within this range. If more
than one stream is in “802.3 mode,” then the frame will be duplicated and routed up mul-
tiple streams as DL_UNITDATA_IND messages.
The smc driver DLSAP address format consists of the 6-byte physical (Ethernet) address
component followed immediately by the 2-byte sap (type) component producing an 8-
byteDLSAP address. Applications should not hardcode to this particular
implementation-specificDLSAP address format but use information returned by the
DL_INFO_ACK primitive to compose and decompose DLSAP addresses. The sap length,
full DLSAP length, and sap/physical ordering are included within the DL_INFO_ACK.
The physical address length can be computed by subtracting the sap length from the full
DLSAP address length or by issuing the DL_PHYS_ADDR_REQ to obtain the current phy-
sical address associated with the stream.
Once in theDL_BOUND state, the user may transmit frames on the Ethernet by sending
DL_UNITDATA_REQ messages to the smc driver. The smc driver will route received Eth-
ernet frames up all those open and bound streams having a sap which matches the Ether-
net type asDL_UNITDATA_IND messages. Received Ethernet frames are duplicated and
routed up multiple open streams if necessary. The DLSAP address contained within the
DL_UNITDATA_REQ and DL_UNITDATA_IND messages consists of both the sap (type)
and physical (Ethernet) components.
smc Primitives In addition to the mandatory connectionlessDLPI message set, the driver additionally
supports the following primitives.
The DL_ENABMULTI_REQ andDL_DISABMULTI_REQ primitives enable/disable recep-
tion of individual multicast group addresses. A set of multicast addresses may be itera-
tively created and modified on a per-stream basis using these primitives. These primi-
tives are accepted by the driver in any state followingDL_ATTACHED.
The DL_PROMISCON_REQ andDL_PROMISCOFF_REQ primitives with the
DL_PROMISC_PHYS flag set in the dl_level field enables/disablesreception of all
(“promiscuous mode”) frames on the media including frames generated by the local host.
7D-290 modified 14 Mar 1995










