summaryrefslogtreecommitdiffstats
path: root/doc/networking/networktasks.t
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-08-19 20:29:35 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-08-19 20:29:35 +0000
commitab0c6890bf4ab674877448a1a60e1e4ceeb38a3c (patch)
tree92130f4d4b24ec876d0a2231bf1f71538012d23b /doc/networking/networktasks.t
parentchanged version to 980819 (diff)
downloadrtems-ab0c6890bf4ab674877448a1a60e1e4ceeb38a3c.tar.bz2
Baseline
Diffstat (limited to 'doc/networking/networktasks.t')
-rw-r--r--doc/networking/networktasks.t60
1 files changed, 60 insertions, 0 deletions
diff --git a/doc/networking/networktasks.t b/doc/networking/networktasks.t
new file mode 100644
index 0000000000..88b3af09b2
--- /dev/null
+++ b/doc/networking/networktasks.t
@@ -0,0 +1,60 @@
+@c
+@c Written by Eric Norum
+@c
+@c COPYRIGHT (c) 1988-1998.
+@c On-Line Applications Research Corporation (OAR).
+@c All rights reserved.
+@c
+@c $Id$
+@c
+
+@chapter Network Task Structure and Data Flow
+
+A schematic diagram of the tasks and message @b{mbuf} queues in a
+simple RTEMS networking application is shown in the following
+figure:
+
+@ifset use-ascii
+@example
+@group
+NO ASCII VERSION OF THE TASKING FIGURE IS AVAILABLE
+@end group
+@end example
+@end ifset
+
+@ifset use-tex
+@c for now use the ascii version
+@example
+@group
+NO TEX VERSION OF THE TASKING FIGURE IS AVAILABLE
+@end group
+@end example
+@end ifset
+
+@ifset use-html
+@html
+<IMG SRC="networking.gif" ALIGN=CENTER
+ ALT="Network Task Structure and Data Flow">
+@end html
+@end ifset
+
+
+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.