dman - SUNW,dman Sun Fire 15K management network device
The dman(7D) network device driver is a loadable, clonable,
STREAMS hardware driver that supports the connectionless
data link provider interface dlpi(7P) over the SUNW,dman
network controller. The dman controller provides a highly
available, secure communication channel between the dynamic
system domains and the Sun Fire 15K system controller.
The dman driver provides basic support for the SUNW,dman
controller. Driver functions include network initialization,
frame transit and receive, multicast and promiscuous sup-
port, and error recovery and reporting.
The dman controller is physically located in each Sun Fire
15K dynamic system domain and connects to SUNWscman con-
trollers in the Sun Fire 15K chassis. See scman(7D). All
links are point-to-point and are internal to the Sun Fire
15K chassis. Traffic between the dynamic system domains and
the system controller is not accessible by any third party;
for example, another system domain within the Sun Fire 15K
chassis. Only the system controller is accessible through
the dman controller.
The link layer frame format is identical to that used by
APPLICATION PROGRAMMING INTERFACE
The /dev/dman cloning character-special device is used to
access the SUNW,dman controller installed on the system.
The dman 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 sys-
tem. The device is initialized on the first attach and
deinitialized (stopped) upon the last detach.
The values returned by the dman 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 a
DL_BIND_REQ to associate a particular SAP with the stream.
The dman 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, 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 dman 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, youcan atransmit frames on the
Ethernet by sending DL_UNITDATA_REQ messages to the dman
driver. The dman 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 dman 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 dman driver operates at 10 Mbps, full-duplex.
The dman driver allows you to set and get various parameters
for the SUNW,dman 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 | SUNWcar |
The dman driver utilizes the following files:
Special character device
System-wide default device driver properties
ndd(1M), netstat(1M), driver.conf(4), eri(7D),
Man(1) output converted with