From 22d213c4846d2d783a8e84cc0b8e067dfe9b1a1e Mon Sep 17 00:00:00 2001 From: Vijay Kumar Banerjee Date: Mon, 1 Mar 2021 09:44:55 -0700 Subject: networking: Rename to legacy networking --- legacy-networking/network_task_structure.rst | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 legacy-networking/network_task_structure.rst (limited to 'legacy-networking/network_task_structure.rst') 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. -- cgit v1.2.3