scman - SUNW,scman Sun Fire high end server management net-
work device driver
The scman (7D) network device driver is a loadable, clon-
able, STREAMS hardware driver that supports the dlpi connec-
tionless data link provider interface over the SUNW,scman
network controller. The scman controller provides a highly
available, secure communication channel between the dynamic
system domains and the Sun Fire high end system controller.
The scman driver provides basic support for the SUNW,scman
controller. Driver functions include network initialization,
frame transit and receive, multicast and promiscuous sup-
port, and error recovery and reporting.
The scman controller is physically located in each Sun Fire
high-end server dynamic system domain and connects to
SUNWdman controllers found in each active dynamic system
domain in the Sun Fire high-end chassis. See dman(7D). All
links are point-to-point and are internal to the Sun Fire
high-end server chassis. Traffic between the system con-
troller and the dynamic system domains is not accessible by
any third party; for example, another system domain within
the Sun Fire 15K chassis. All system domains are accessible
through the scman controller.
The link layer frame format is identical to that used by
APPLICATION PROGRAMMING INTERFACE
The /dev/scman cloning character-special device is used to
access the SUNW,scman controller installed on the system.
The scman driver is a style 2 data link provider interface.
All M_PROTO and M_PCPROTO type messages are interpreted as
DLPI primitives. Valid DLPI primitives are defined in
sys/dlpi.h. Refer to dlpi(7P) for more information. An
explicit DL_ATTACH_REQ message by the user is required to
associate the opened stream with a particular device or phy-
sical point of attachment (PPA).
The PPA ID is interpreted as an unsigned long data type and
indicates the corresponding device instance (unit) number.
The only valid unit number is 0. An error (DL_ERROR_ACK) is
returned by the driver if the PPA field value does not
correspond to a valid device instance number for this
system. The device is initialized on the first attach and
deinitialized (stopped) upon the last detach.
The values returned by the scman driver in the DL_INFO_ACK
primitive in response to the DL_INFO_REQ from the user are:
o Maximum service data units (SDU) are 1500.
o Minimum SDU is 0.
o Data link service access point (DLSAP) address length
o Media access control (MAC) type is DL_ETHER.
o Service access point (SAP) length value is -2, meaning
the physical address component is followed immediately
by a two-byte SAP component within the DLSAP address.
o Service mode is DL_CLDLS.
o Optional quality of service (QOS) support is not
included; the QOS fields are 0.
o Provider style is DL_STYLE2.
o Version is DL_VERSION_2.
o Broadcast address value is Ethernet/IEEE broadcast
Once in the DL_ATTACHED state, you can transmit DL_BIND_REQ
to associate a particular SAP with the stream. The scman
driver interprets the SAP field within the DL_BIND_REQ as
an Ethernet type; as a result, valid values for the SAP
field are in the 0 through 0xFFFF range. Only one Ethernet
type can be bound to the stream at any time.
If you select the SAP with a value of 0, the receiver will
be in 802.3 mode. All frames received from the media having
a type field in the range from 0 through 1500 are assumed to
be 802.3 frames and are routed up all open streams that are
bound to SAP value 0. If more than one stream is in 802.3
mode, then the frame is duplicated and routed up multiple
streams as DL_UNITDATA_IND messages.
In transmission, the driver checks the DL_BIND_REQ SAP
field to determine if the SAP value is 0 and the destina-
tion type field is in the range from 0 through 1500. If
either is true, the driver computes the length of the mes-
sage, not including the initial M_PROTO message block
(mblk), of all subsequent DL_UNITDATA_REQ messages and
transmits 802.3 frames that have this value in the MAC
frame header length field.
The scman driver DLSAP address format consists of the six-
byte physical (Ethernet) address component followed immedi-
ately by the two-byte SAP (type) component producing an
eight-byte DLSAP address. Applications should not be hard-
coded to this implementation-specific DLSAP address for-
mat, but instead use information returned in 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 physical address associated with the
Once in the DL_BOUND state, you can transmit frames on the
Ethernet by sending DL_UNITDATA_REQ messages to the scman
driver. The scman driver routes received Ethernet frames as
DL_UNITDATA_IND messages up all open and bound streams hav-
ing a SAP matching the Ethernet type. 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.
In addition to the mandatory connectionless DLPI message
set, the scman driver supports the following primitives.
The DL_ENABMULTI_REQ and DL_DISABMULTI_REQ primitives enable
or disable reception of individual multicast group
addresses. A set of multicast addresses may be iteratively
created and modified on a per-stream basis using these prim-
itives. These primitives are accepted by the driver in any
state following DL_ATTACHED.
The DL_PROMISCON_REQ and DL_PROMISCOFF_REQ primitives with
the DL_PROMISC_PHYS flag set in the dl_level field enables
or disables reception of all promiscuous mode frames on the
media, including frames generated by the local host. When
used with the DL_PROMISC_SAP flag set, this enables or dis-
ables reception of all SAP (Ethernet type) values. When
used with the DL_PROMISC_MULTI flag set, this enables or
disables reception of all multicast group addresses. The
effect of each is always on a per-stream basis and indepen-
dent of other SAP and physical level configurations on
this stream or other streams.
The DL_PHYS_ADDR_REQ primitive returns the six-octet Ether-
net address currently associated (attached) to the stream in
the DL_PHYS_ADDR_ACK primitive. This primitive is valid only
in states following a successful DL_ATTACH_REQ.
The DL_SET_PHYS_ADDR_REQ primitive is not supported.
The scman driver operates at 10 Mbps, full-duplex.
The scman driver allows you to set and get various parame-
ters for the SUNW,scman device. The parameter list includes
current transceiver status, current link status, interpacket
gap, local transceiver capabilities, and link partner capa-
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | Sun Fire high-end systems |
| Availability | SUNWscdvr |
The scman driver utilizes the following files:
Special character device
System-wide default device driver properties
ndd(1M), netstat(1M), driver.conf(4), dman(7D), eri(7D),
Man(1) output converted with