4.5 Network Interface Card Support
Windows NT currently supports the following types of network interface cards:
·Ethernet (802.3)
·DIX (Ethernet II)
·Token Ring (802.5)
·Fiber Distributed Data Interface (FDDI)
·LocalTalk
·ARCNET
·WAN (point-to-point and WAN cards)
NDIS 3 transport drivers support one or more of a fixed list of medium types (listed above). When the transport driver calls (via NdisOpenAdapter) to bind to a specified NIC, it provides a list of medium types that it supports. The NIC driver selects, from this list, the medium type that it supports; or, if the NIC driver can support multiple medium types, it selects the one that it prefers. The NDIS 3 medium type defined for ARCNET is NdisMediumArcnet878_2. This medium type definition provides full compatibilitiy with Novell's ARCNET specification for Raw Arcnet.
Raw ARCNET is the format defined in the ARCNET Packet Header Definition Standard published by Novell, and is the one used by NetWare™. A transport driver that supports this format is responsible for selecting from three different frame formats (short, long or exception) given the length of the data it wishes to send. It is then responsible for performing all of the associated fragmenting, padding, setting the split flag and sequence number, etc. related to use of this standard.
NdisMediumArcnet878_2 is a format which allows a transport driver to be aware that it is running over ARCNET, without having to deal with the details of fragmenting and unfragmenting, since all these details are handled by the NIC driver. With NdisMediumArcnet878_2, the on-the-wire format is the same as for Raw ARCNET. However, the transport driver is shielded from most of the details of the frame format. The NIC driver is responsible for fragmenting the frame; selecting the appropriate frame format; and inserting the padding, split flag, sequence number, and other related fields.
During its MacOpenAdapter routine (for a full NIC driver), an ARCNET NIC driver first searches the MediumArray list for the medium type NdisMediumArcnet878_2. If found, it selects this medium type. If the transport driver does not list NdisMediumArcnet878_2, or if the NIC driver does not support it, the NIC driver then searches for NdisMedium802_3. If it finds that, it selects it and must then perform 802.3 to ARCNET encapsulation on packets sent, and corresponding decapsulation on packets received. The NDIS library handles this internally for miniport NIC drivers.
The Windows NT Tcpip and Nwlink (both Streams and NT 3.5 versions) transport drivers support NdisMediumArcnet878_2. Windows NT Nbf (also known as NetBEUI) does not.