Hard Real-Time Networking for Real-Time Linux
RTnet is an Open Soure hard real-time network protocol stack for Xenomai and RTAI (real-time Linux extensions). It makes use of standard Ethernet hardware and supports several popular NIC chip sets, including Gigabit Ethernet. Moreover, Ethernet-over-1394 support is available based on the RT-FireWire protocol stack.
RTnet implements UDP/IP, TCP/IP (basic features), ICMP and ARP in a deterministic way. It provides a POSIX socket API to real-time user space processes and kernel modules.
To avoid unpredictable collisions and congestions on Ethernet, an additional protocol layer called RTmac controls the media access. A dedicated Ethernet segment is required to guarantee bounded transmission delays, but RTnet also includes a mechanism to tunnel non real-time traffic like TCP/IP over RTmac, thus allowing a "single-cable" solution for connecting control systems.
Some possible application domains are fieldbus replacements, distributed real-time computing, or video/audio streaming.
RTnet was originally developed by Ulrich Marx for his diploma thesis at the Institute for Systems Engineering, Real-Time Systems Group, University of Hannover (Germany). Now it is being maintained and improved by people at this institute and contributors all over the world.
RTnet 0.9.13 released
RTnet 0.9.12 released
RTnet 0.9.11 released