[DO,NOT,REVIEW,1/7] packet_io: add introduction

Message ID 1412863729-28176-2-git-send-email-anders.roxell@linaro.org
State New
Headers show

Commit Message

Anders Roxell Oct. 9, 2014, 2:08 p.m.
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
 packet_io.dox | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 packet_io.dox


diff --git a/packet_io.dox b/packet_io.dox
new file mode 100644
index 0000000..d9d96b4
--- /dev/null
+++ b/packet_io.dox
@@ -0,0 +1,44 @@ 
+/* Copyright (c) 2014, Linaro
+ * All rights reserved
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+@page pktio ODP Design - Packet I/O
+For the implementation of the ODP Packet I/O API please see odp_packet_io.h
+@section intro Introduction
+This document describes the Packet I/O (pktio) APIs supported by ODP. These
+APIs provide a high level abstraction of a single packet I/O interface,
+allowing an ODP application to configure, send and receive packets over an
+interface without having to concern itself with how the implementation performs
+those operations. The packet I/O implementation for a given interface may be
+performed entirely in hardware, entirely in software or a combination of the
+A pktio interface may represent a single physical, virtual or logical interface
+(for example, a loopback interface). An ODP implementation on a single platform
+may support multiple different interface types and export some or all of them
+all via the pktio API.
+An application would not typically receive packets directly from the pktio
+interface, but would instead configure the system such that packets received
+on the interface are classified and delivered to a predefined input queue, or
+input queue group, depending on application requirements. The application then
+receives packets from one of the input queues by invoking the scheduler.
+Packets received from a pktio interface, either directly or indirectly, have
+already been through input parsing and classification based on the rules
+established when the interface was configured.
+Similarly for transmission, a pktio interface has an output queue associated
+with it. Packets are transmitted by enqueueing them to the output queue
+associated with the pktio device over which the packet is to be sent, the
+implementation is then responsible for taking the packet from the output queue
+and effecting its transmission.