Overview

Modern Ethernet adapters are including features that are not available through the traditional TCP/IP stack interface. For example, the Intel i210 includes support for Layer 2 protocols, such as IEEE 802.1AS (Time Synchronization) and 802.1Qav (Audio-Video Bridging), as well as hardware support for IEEE 802.1Qat (Stream Reservation Protocol) and IEEE 1588/802.1AS (time stamping). Many Ethernet adapters also include support for multiple priority queues which allow you to isolate time sensitive traffic from other traffic at the hardware layer.

More and more embedded applications can benefit from these features. Audio-Video streaming, low latency data sharing, and priority isolation are just a few. Crucial to many of these applications is time synchronization between computers on the LAN. With as IEEE 802.1AS time synchronization any two LAN-attached stations can create a common clock accurate to within +/- 500ns. A new real-time interface is needed to access these features.

To exploit these hardware features and offer a faster Ethernet Layer 2 interface, IntervalZero developed the RTX64 Network Abstraction Layer (NAL). The RTX64 NAL supplies a simplified API which abstracts the caller from the various register configurations which vary from adapter to adapter. It also supplies methods to allow direct layer 2 transmit and receive calls within the driver, thus eliminating the latencies found in a TCP/IP stack.

For example, the user can call a transmit function in the driver that allows the caller to pass multiple packets at once. This greatly improves performance and allows for transmission of small packets at near line speed. The driver will direct the packets through whichever priority queue it was instructed and can call the caller back with extended information like the actual transmission time of the packet.

See Also: