summaryrefslogtreecommitdiffstats
path: root/legacy-networking/network_task_structure.rst
diff options
context:
space:
mode:
authorVijay Kumar Banerjee <vijay@rtems.org>2021-03-01 09:44:55 -0700
committerVijay Kumar Banerjee <vijay@rtems.org>2021-03-30 09:28:59 -0600
commit22d213c4846d2d783a8e84cc0b8e067dfe9b1a1e (patch)
tree71182c7caec4fe9b86cba4f8e4b1a7ec64533d64 /legacy-networking/network_task_structure.rst
parentUser/BSPs/Beagle: Add JTAG debugger section (diff)
downloadrtems-docs-22d213c4846d2d783a8e84cc0b8e067dfe9b1a1e.tar.bz2
networking: Rename to legacy networking
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.