source: rtems-docs/networking/network_task_structure.rst @ 489740f

4.115am
Last change on this file since 489740f was 489740f, checked in by Chris Johns <chrisj@…>, on 05/20/16 at 02:47:09

Set SPDX License Identifier in each source file.

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