Go to main content

man pages section 7: Device and Network Interfaces

Exit Print View

Updated: July 2017



dnet - Ethernet driver for DEC 21040, 21041, 21140 Ethernet cards




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.

  • The broadcast address value is the Ethernet/IEEE broadcast address (FF:FF:FF:FF:FF:FF).

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.

Known Problems and Limitations

  • 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:


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.


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:


See Also

attributes(5), dlpi(7P), gld(7D) streamio(7I)

Writing Device Drivers for Oracle Solaris 11.3

STREAMS Programming Guide