|
|
1.1 Introduction
This specification details the channel operations, parameters and sequences for the UDI Network Interface Metalanguage1 which is used to support Network Interface Adapter Cards (NIC's).
Each subsection defines the channel operation calls, control structure type declarations, the rationale for the operation's existence, constraints and guidelines for the use of each operation, and error conditions that can occur.
1.2 Scope
The networking device driver framework in UDI defines a set of channel operations and rules which allow for writing a NIC driver that works with existing and future networking protocol stacks regardless of the OS and protocol stack characteristics. This specification describes both the UDI NIC Driver (ND) and the UDI Network Service Requester (NSR) which communicate via the Network Interface Metalanguage. The ND is completely portable within the UDI environment and is intended to accompany the distribution of the NIC hardware. The NSR is typically provided by the UDI environment implementation or via additional UDI modules. The Network Interface Metalanguage completely defines the interface between the two components.
The UDI Network Interface Metalanguage was developed to represent a universal set of connectionless network-related functions that provide all of the needed functionality in an OS, protocol, and transport independent manner.
1.3 Normative References
The UDI Network Interface Metalanguage is designed to support a wide variety of network topologies. Although there is no single standard or reference for this implementation, the designer is expected to be familiar with the appropriate network protocol standards and technology specifications that apply to the implementation being developed. This includes International Standards Organization (ISO), American National Standards Inc. (ANSI), and Internet Engineering Task Force (IETF) publications for general networking standards as well as technology-specific standards from specific groups such as the ATM Forum, the ANSI X3T11 Fibre Channel committee, the various 802.x standards committees for Ethernet and FDDI, and other organizations and specifications as appropriate.
The UDI NIC Driver Specification also references and depends upon the UDI Core Specification.
1.4 Conformance
A conformant UDI NIC driver (ND) must fully implement the parent interface defined in this specification and must also be fully compliant with the UDI Core Specification interfaces. Other optional UDI interfaces may be supported if they are also conformant to the UDI Core Specification (0x101). No non-conformant interfaces may be used in a conformant UDI NIC driver.
A conformant UDI Network Service Requestor (NSR) implementing the interface to one or more network protocol stacks must fully implement the child interface defined in this specification and must also be fully compliant with the UDI Core Specification interfaces. Other optional UDI interfaces may be supported if they are also conformant to the UDI Core Specification (0x101). No non-conformant interfaces may be used in a conformant UDI NSR Module.
A conformant UDI Network Mapper must fully implement the child interface defined in this specification; other interfaces and implementation details are not constrained by Mapper conformance requirements.
1.5 Terminology
Throughout this document, the following conventions will be used:
- Operations of type "_req" are used to request an activity.
- Operations of type "_ack" are used to acknowledge the request (but not necessarily the success or failure in implementing that request).
- Operations of type "_ind" are used for indications of an event, typically asynchronous in nature.
- Operations of type "_rdy" are used to indicate that the corresponding driver is ready for an event from the other end of the channel.
The following terms will be used throughout the UDI NIC Driver Specification with the following intended meanings:
ND Refers to the UDI Network Interface Adapter Card (NIC) driver supplied by the adapter manufacturer (typically) and which is used to manage and operate that adapter.
NSR Refers to the UDI Network Service Requestor which is the child of the ND and implements the interface between the ND and the various network protocol stacks in the current operating environment.
NIC Network Interface Card. This is the network adapter that is being controlled by the ND.
MAC Media Access Controller. This customarily refers to the chip that is used to access the physical network media. Most of the functionality of a NIC card is represented by the MAC, which implements framing, physical signaling, and other operations to provide programmatic access to the network.
MAC Address A Media Access Address which is typically the "hardware" or line-level address of a network node. This is customarily the address that the NIC uses to send packets on the network; protocol-specific virtual addresses (e.g. the IP address) are mapped to MAC addresses on transmit and recieve operations.
Unicast The operational mode of the NIC whereby it receives packets which contain its MAC address as the packet destination address.
Multicast The operational mode of the NIC whereby it recieves packets which contain either its own MAC address or a MAC address which matches one or more multicast addresses. It is intended that only one adapter shall receive and respond to unicast packets whereas multiple adapters shall receive and respond to multicast packets.
Broadcast The operational mode of the NIC whereby all packets that can be received on the network connection are passed to the NSR, regardless of the destination address of those packets. Also known as "promiscuous mode".
Packet The fundamental block of data and associated network headers that is sent or received by the NIC. Each packet is expected to have a network header which minimally includes the destination MAC address followed by zero or more bytes of payload data. Note that some network technologies may further subdivide a packet into smaller transmission units (e.g. ATM cells) but this segmentation and reassembly activity should be invisible to the interface between the ND and the NSR.
QoS Quality of Service. A term which describes various means of identifying and distinguishing between network traffic that is exchanged between two network nodes. This term is generic and its use is usually specific to the network media and protocol types and may include concepts such as: priority, bandwidth, error rate or recovery, and packet acknowledgements.
1While the term "Network Interface Metalanguage" is the proper name for this metalanguage, the term "NIC Metalanguage" is also used for brevity and is an equivalent reference.