source: rtems-docs/networking/network_task_structure.rst @ b412038

4.11
Last change on this file since b412038 was b412038, checked in by Chris Johns <chrisj@…>, on Apr 11, 2016 at 3:53:58 AM

Clean up and review of Networking User Guide.

  • Property mode set to 100644
File size: 1.4 KB

Network Task Structure and Data Flow

A schematic diagram of the tasks and message mbuf queues in a simple RTEMS networking application is shown in the following figure:

images/networkflow.jpg

The transmit task for each network interface is normally blocked waiting for a packet to arrive in the transmit queue. Once a packet arrives, the transmit task may block waiting for an event from the transmit interrupt handler. The transmit interrupt handler sends an RTEMS event to the transmit task to indicate that transmit hardware resources have become available.

The receive task for each network interface is normally blocked waiting for an event from the receive interrupt handler. When this event is received the receive task reads the packet and forwards it to the network stack for subsequent processing by the network task.

The network task processes incoming packets and takes care of timed operations such as handling TCP timeouts and aging and removing routing table entries.

The 'Network code' contains routines which may run in the context of the user application tasks, the interface receive task or the network task. A network semaphore ensures that the data structures manipulated by the network code remain consistent.

Note: See TracBrowser for help on using the repository browser.