'\" te .\" Copyright (c) 1999, Sun Microsystems, Inc. .\" All Rights Reserved .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License. .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] .TH idn 7d "3 Jun 1999" "SunOS 5.11" "Devices" .SH NAME idn \- inter-domain network device driver .SH SYNOPSIS .LP .nf \fB/dev/idn\fR .fi .SH DESCRIPTION .sp .LP The \fBidn\fR driver is a multi-thread, loadable, clonable, STREAMS-based pseudo driver that supports the connectionless Data Link Provider Interface \fBdlpi\fR(7P) over the Sun Enterprise 10000 Gigplane-XB Interconnect. This connection is permitted only between domains within the same Sun Enterprise 10000 server. .sp .LP The \fBidn\fR driver supports 1 to 32 logical network interfaces that can be connected to domains linked to the local domain through the \fBdomain_link\fR(1M) command. (See \fBdomain_link\fR(1M) in the \fISun Enterprise 10000 SSP 3.5 Reference Manual\fR for more information.) The \fBidn\fR driver works in conjunction with the System Service Processor (SSP) to perform domain linking/unlinking and automated linking upon host bootup. .sp .LP The \fB/dev/idn\fR device is used to access all IDN services provided by the system. .SS "IDN and DLPI" .sp .LP The \fBidn\fR driver is a style-2 Data Link Service provider. All \fBM_PROTO\fR and \fBM_PCPROTO\fR-type messages are interpreted as \fBDLPI \fRprimitives. For the \fBidn\fR driver to associate the opened stream with a particular device (ppa), you must send an explicit \fBDL_ATTACH_REQ\fR message. The ppa ID is interpreted as an unsigned long and indicates the corresponding device instance (unit) number. The \fBDL_ERROR_ACK\fR error is returned by the driver if the ppa field value does not correspond to a valid device-instance number for the system. The device is initialized on first attach and de-initialized (stopped) on the last detach. .RS +4 .TP .ie t \(bu .el o The maximum SDU is configurable by using the \fBidn.conf\fR file and has a range of 512 bytes to 512 Kbytes. The default value is 16384 bytes. .RE .RS +4 .TP .ie t \(bu .el o The minimum SDU is 0. .RE .RS +4 .TP .ie t \(bu .el o The Service Access Pointer (SAP) address length is 8. .RE .RS +4 .TP .ie t \(bu .el o The MAC type is \fBDL_ETHER\fR. .RE .RS +4 .TP .ie t \(bu .el o The \fBSAP\fR length value is \fI-2\fR, meaning the physical address component is followed immediately by a 2-byte \fBSAP \fRcomponent within the \fBDLSAP\fR address. .RE .RS +4 .TP .ie t \(bu .el o The service mode is \fBDL_CLDLS\fR. .RE .RS +4 .TP .ie t \(bu .el o Optional quality of service (\fBQOS\fR) is not presently supported; accordingly, the \fBQOS \fRfields are 0. .RE .RS +4 .TP .ie t \(bu .el o The provider style is \fBDL_STYLE2\fR. .RE .RS +4 .TP .ie t \(bu .el o The version is \fBDL_VERSION_2\fR. .RE .RS +4 .TP .ie t \(bu .el o The broadcast address value is Ethernet/IEEE broadcast address (0xFFFFFF). The \fBidn\fR driver supports broadcast by issuing messages to each target individually. The \fBidn\fR driver is inherently a point-to-point network between domains. When the \fBidn\fR driver is in the \fBDL_ATTACHED\fR state, the user must send a \fBDL_BIND_REQ\fR request to associate a particular \fBSAP \fRwith the stream. The \fBidn\fR driver interprets the \fBSAP \fRfield within the \fBDL_BIND_REQ\fR message as an Ethernet type and valid values for the \fBSAP \fRfield are in the range of \fI0\fR to \fI0xFFFF\fR. Only one Ethernet type can be bound to the stream at any time. .RE .sp .LP If a \fBSAP \fRwith a value of 0 is selected, the receiver will be in 802.3 mode. All frames received from the media having a type field in the range of 0 to 1500 are assumed to be 802.3 frames and are routed up all open streams which are bound to \fBSAP \fR value 0. If more than one stream is in 802.3 mode, then the frame will be duplicated and routed up as multiple stream \fBDL_UNITDATA_IND\fR messages. .sp .LP In transmission, the driver checks the \fBSAP\fR field of the \fBDL_BIND_REQ\fR to determine if the SAP value is 0, and if the destination type field is in the range of \fI 0\fR to \fI1500\fR. If either is true, the driver computes the length of the message, (excluding the initial message block \fBM_PROTO mblk)\fR of all subsequent \fBDL_UNITDATA_REQ\fR messages and transmits 802.3 frames that have this value in the MAC frame header length field. .sp .LP The driver also supports raw \fBM_DATA\fR mode. When the user sends a \fBDLIOCRAW\fR ioctl, the particular stream is put in raw mode. A complete frame and a proper ether header is expected as part of the data. .sp .LP The \fBDLSAP\fR address format consists of the 6-byte, physical address component (Ethernet) followed immediately by the 2-byte \fBSAP \fRcomponent (type), producing an 8-byte \fBDLSAP\fR address. Applications should \fBnot\fR hardcode to this particular implementation-specific \fBDLSAP\fR address format, but instead should use information returned in the \fBDL_INFO_ACK\fR primitive to compose and decompose \fBDLSAP\fR addresses. The \fBSAP \fRlength, full \fBDLSAP \fR length, and \fBSAP \fRphysical ordering are included within the \fBDL_INFO_ACK\fR primitive. The physical address length can be computed by subtracting the \fBSAP \fRlength from the full \fBDLSAP\fR address length or by issuing the \fBDL_PHYS_ADDR_REQ\fR message to obtain the current physical address associated with the stream. .sp .LP When the \fBidn\fR driver is in the \fBDL_BOUND\fR state, you can transmit frames on the IDN by sending \fBDL_UNITDATA_REQ\fR messages to the driver. The driver then routes received IDN frames up the open and bound streams having a \fBSAP \fRwhich matches the Ethernet type as \fBDL_UNITDATA_IND\fR messages. If necessary, received IDN frames are duplicated and routed up multiple open streams. The \fBDLSAP\fR address contained within the \fBDL_UNITDATA_REQ\fR and \fBDL_UNITDATA_IND\fR messages consists of both the \fBSAP \fR(type) and physical (Ethernet) components. .SS "IDN Primitives" .sp .LP In addition to the mandatory connectionless DLPI message set, the \fBidn\fR driver supports the following primitives: .sp .LP The \fBDL_ENABMULTI_REQ\fR and \fBDL_DISABMULTI_REQ\fR primitives which enable or disable, respectively, the reception of individual multicast group addresses. A set of multicast addresses may be iteratively created and modified on a per-stream basis using these primitives. These primitives are accepted by the driver in any state following the \fBDL_ATTACHED\fR state. .sp .LP The \fBDL_PROMISCON_REQ\fR and \fBDL_PROMISCOFF_REQ\fR primitives, which with the \fBDL_PROMISC_PHYS\fR flag set in the \fBdl_level\fR field, enable or disable, respectively, the reception of all promiscuous frames on the media, including frames generated by the local domain. When used with the \fBDL_PROMISC_SAP\fR flag set in the \fBdl_level\fR field, these primitives enable or disable, respectively, the reception of all \fBSAP \fR (Ethernet type) values. When used with the \fBDL_PROMISC_MULTI\fR flag set in the \fBdl_level\fR field, these primitives enable or disable, respectively, the reception of all multicast group addresses. The effect of each is always on a per-stream basis and independent of the other \fBSAP \fRand physical level configurations on this stream or other streams. .sp .LP The \fBDL_PHYS_ADDR_REQ\fR primitive which returns the 6-octet, Ethernet address associated with (or attached to) the stream in the \fBDL_PHYS_ADDR_ACK\fR primitive. This primitive is valid only in states following a successful \fBDL_ATTACH_REQ\fR request. .sp .LP Because the driver maintains domain address information in the address to direct packets to the correct destination, the \fBDL_SET_PHYS_ADDR_REQ\fR primitive is not allowed. .SH FILES .sp .LP The following files are supported: .sp .ne 2 .mk .na \fB\fB/dev/idn \fR\fR .ad .sp .6 .RS 4n IDN special character device .RE .sp .ne 2 .mk .na \fB\fB/platform/SUNW,Ultra-Enterprise-10000/kernel/drv/idn.conf \fR\fR .ad .sp .6 .RS 4n System-wide and per-interface default device driver properties .RE .SH SEE ALSO .sp .LP \fBnetstat\fR(1M), \fBndd\fR(1M), \fBdlpi\fR(7P) .sp .LP \fBdomain_link\fR(1M) in the \fISun Enterprise 10000 SSP 3.5 Reference Manual\fR. .sp .LP \fISun Enterprise 10000 InterDomain Networks User Guide\fR .SH NOTES .sp .LP The \fBidn\fR driver supports a set of properties that can be set by using the \fBdriver.conf\fR file for the IDN. See the \fISun Enterprise 10000 InterDomain Networks User Guide\fR for more information about the properties in the \fBdriver.conf\fR(4), (\fBidn.conf\fR, for IDNs).