summaryrefslogtreecommitdiffstats
path: root/legacy-networking/network_task_structure.rst
diff options
context:
space:
mode:
Diffstat (limited to 'legacy-networking/network_task_structure.rst')
-rw-r--r--legacy-networking/network_task_structure.rst33
1 files changed, 33 insertions, 0 deletions
diff --git a/legacy-networking/network_task_structure.rst b/legacy-networking/network_task_structure.rst
new file mode 100644
index 0000000..2ac031b
--- /dev/null
+++ b/legacy-networking/network_task_structure.rst
@@ -0,0 +1,33 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. COMMENT: Written by Eric Norum
+.. Copyright (C) 1988, 2002 On-Line Applications Research Corporation (OAR)
+
+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:
+
+.. figure:: ../images/networking/networkflow.png
+ :align: center
+ :alt: Network Flow
+
+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.