[ca49bfd] | 1 | Network Task Structure and Data Flow |
---|
| 2 | #################################### |
---|
| 3 | |
---|
| 4 | A schematic diagram of the tasks and message *mbuf* queues in a |
---|
| 5 | simple RTEMS networking application is shown in the following |
---|
| 6 | figure: |
---|
| 7 | |
---|
| 8 | .. image:: images/networkflow.jpg |
---|
| 9 | |
---|
| 10 | |
---|
| 11 | The transmit task for each network interface is normally blocked waiting |
---|
| 12 | for a packet to arrive in the transmit queue. Once a packet arrives, the |
---|
| 13 | transmit task may block waiting for an event from the transmit interrupt |
---|
| 14 | handler. The transmit interrupt handler sends an RTEMS event to the transmit |
---|
| 15 | task to indicate that transmit hardware resources have become available. |
---|
| 16 | |
---|
| 17 | The receive task for each network interface is normally blocked waiting |
---|
| 18 | for an event from the receive interrupt handler. When this event is received |
---|
| 19 | the receive task reads the packet and forwards it to the network stack |
---|
| 20 | for subsequent processing by the network task. |
---|
| 21 | |
---|
| 22 | The network task processes incoming packets and takes care of |
---|
| 23 | timed operations such as handling TCP timeouts and |
---|
| 24 | aging and removing routing table entries. |
---|
| 25 | |
---|
| 26 | The âNetwork codeâ contains routines which may run in the context of |
---|
| 27 | the user application tasks, the interface receive task or the network task. |
---|
| 28 | A network semaphore ensures that |
---|
| 29 | the data structures manipulated by the network code remain consistent. |
---|
| 30 | |
---|
| 31 | .. COMMENT: Written by Eric Norum |
---|
| 32 | |
---|
| 33 | .. COMMENT: COPYRIGHT (c) 1988-2002. |
---|
| 34 | |
---|
| 35 | .. COMMENT: On-Line Applications Research Corporation (OAR). |
---|
| 36 | |
---|
| 37 | .. COMMENT: All rights reserved. |
---|
| 38 | |
---|