We have developed some networking interface code that works very differently from the current stuff in rtlinux. Our code uses the native linux networking code and intercepts UDP packets before they come to/from a linux process and redirects them to an rtlinux task. The code allocates a pool of buffers in linux and a queue to use/free those buffers on the rtside. The interface is clunky because I didn't want to create any patches to the linux networking code (except to expose one function call in the networking code). Better interfaces can easily be developed.
The basic idea is that an application would be written in the standard linux process space, and then, after the socket is established and connected (yes, the current code requires connected UDP sockets), the application would redirect traffic to a real-time task. By doing this, the logic and complexities of establishing a valid and meaningful UDP socket are perfomed in normal linux processes, but the UDP data is processed in real-time tasks. The biggest advantage of this approach is that all network drivers are supported and so is all the special linux networking code including netfilter (nat, etc.), routing, ARP, bonding, etc. The disadvantage is that ones code has to be written with this separation of setup code from rtcode in mind. The code is, however, in the spirit of the original intent of rtlinux where only rt stuff runs in rt space. Is there any interest in this code out there? Robert -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED] -- For more information on Real-Time Linux see: http://www.rtlinux.org/