All Rights Reserved. Copyright (c) 2000, 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]
/kernel/drv/dnet
The dnet Ethernet driver is a multithreaded, loadable, clonable, STREAMS GLD driver. Multiple controllers installed within the system are supported by the driver. The dnet driver functions include controller initialization, frame transmit and receive, functional addresses, promiscuous and multicast support, and error recovery and reporting.
The cloning character-special device, /dev/dnet, is used to access all DEC 21040/21041/21140 devices installed in the system.
The dnet driver is dependent on /kernel/misc/gld, a loadable kernel module that provides the dnet driver with the DLPI and STREAMS functionality required of a LAN driver. See gld(7D) for more details on the primitives supported by the driver.
The device is initialized on the first attach and de-initialized (stopped) on the last detach.
The values returned by the driver in the DL_INFO_ACK primitive in response to a DL_INFO_REQ from the user are as follows:
The maximum SDU is 1500 (ETHERMTU - defined in <sys/ethernet.h>).
The minimum SDU is 0.
The DLSAP address length is 8.
The MAC type is DL_ETHER.
The sap length value is -2, meaning the physical address component is followed immediately by a 2-byte sap component within the DLSAP address.
Once in the DL_ATTACHED state, the user must send a DL_BIND_REQ to associate a particular Service Access Point (SAP) with the stream.
The PCI configuration process varies from system to system. Follow the instructions provided by the vendor.
On multiport cards (exception: Osicom (Rockwell) RNS2340), the first port is the top port. (On the Osicom RNS2340, the first port is the bottom port.)
If the dnet driver fails to determine the correct speed and duplex mode resulting in a corresponding drop in performance, set the speed and duplex mode using the dnet.conf file.
The dnet driver incorrectly counts carrier lost or no carrier errors while in full-duplex mode. There is no carrier signal present when in full-duplex mode and it should not be counted as an error.
Version 4 SROM formats are not supported.
The /kernel/drv/dnet.conf file supports the following options:
full-duplex
For full duplex operation use full-duplex=1, for half duplex use full-duplex=0. Half-duplex operation gives better results on older 10mbit networks.
speed
For 10mbit operation use speed=10, for 100mbit operation use speed=100. Certain 21140 based cards will operate at either speed. Use the speed property to override the 100mbit default in this case.
character special device
dnet configuration file
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Architecture | x86 |
attributes(5), dlpi(7P), gld(7D) streamio(7I)
Writing Device Drivers
STREAMS Programming Guide