@@ -1,6 +1,7 @@
:doctitle: OpenDataPlane (ODP) Implementers-Guide
:description: This document is intended to guide a new OpenDataPlane +
implementation developer.
+:imagesdir: ../images
:toc:
:numbered!:
@@ -1,6 +1,7 @@
:doctitle: OpenDataPlane (ODP) By-laws-Guide
:description: This document is intended to guide a new application developer +
in understanding the by-laws
+:imagesdir: ../images
:toc:
:numbered!:
[abstract]
@@ -1,6 +1,7 @@
:doctitle: OpenDataPlane (ODP) Release-Guide
:description: This document is intended to guide a new OpenDataPlane +
application developer in understanding the git work flow of the project
+:imagesdir: ../images
:toc:
:numbered!:
@@ -32,7 +33,7 @@ where a major release is to be made and applied atomically, this flow can be
seen in Figure 1.
.Overview of the ODP git process
-image::../images/simple_release_git.svg[align="center"]
+image::simple_release_git.svg[align="center"]
Regular bug fixes, and implementation changes occur directly to master.
@@ -47,7 +48,7 @@ cherry picked work so that it may be applied to master on release day, this can
be seen in detail in Figure 2.
.Overview of the ODP git process
-image::../images/release_git.svg[align="center"]
+image::release_git.svg[align="center"]
=== api-next ===
acceptance criteria for patches to api-next (path 1):
@@ -1,6 +1,7 @@
:doctitle: OpenDataPlane (ODP) Users-Guide
:description: This document is intended to guide a new OpenDataPlane +
application developer.
+:imagesdir: ../images
:toc:
:numbered!:
@@ -12,7 +13,7 @@ Further details about ODP may be found at the http://opendataplane.org[ODP]
home page.
.Overview of a system running ODP applications
-image::../images/overview.svg[align="center"]
+image::overview.svg[align="center"]
ODP is an API specification that allows many implementations to provide
platform independence, automatic hardware acceleration and CPU scaling to
@@ -22,7 +23,7 @@ write an application that can successfully take advantage of the API.
:numbered:
== Introduction
.OpenDataPlane Components
-image::../images/odp_components.svg[align="center"]
+image::odp_components.svg[align="center"]
.The ODP API Specification
ODP consists of three separate but related component parts. First, ODP is an
@@ -360,7 +361,7 @@ The *Classifier* provides a suite of APIs that control packet receive (RX)
processing.
.ODP Receive Processing with Classifier
-image::../images/odp_rx_processing.svg[align="center"]
+image::odp_rx_processing.svg[align="center"]
The classifier provides two logically related services:
[horizontal]
@@ -397,7 +398,7 @@ The *Scheduler* provides a suite of APIs that control scalable event
processing.
.ODP Scheduler and Event Processing
-image::../images/odp_scheduling.svg[align="center"]
+image::odp_scheduling.svg[align="center"]
The Scheduler is responsible for selecting and dispatching one or more events
to a requesting thread. Event selection is based on several factors involving
@@ -429,7 +430,7 @@ The *Traffic Manager* provides a suite of APIs that control traffic shaping and
Quality of Service (QoS) processing for packet output.
.ODP Transmit processing with Traffic Manager
-image::../images/odp_traffic_manager.svg[align="center"]
+image::odp_traffic_manager.svg[align="center"]
The final stage of packet processing is to transmit it. Here, applications have
several choices. As with RX processing, applications may send packets
@@ -508,7 +509,7 @@ Shutdown is the logical reverse of the initialization procedure, with
called to terminate ODP.
.ODP Application Structure Flow Diagram
-image::../images/resource_management.svg[align="center"]
+image::resource_management.svg[align="center"]
== Common Conventions
Many ODP APIs share common conventions regarding their arguments and return
@@ -636,7 +637,7 @@ SCHED queues that specify a sync mode of ODP_SCHED_SYNC_NONE are unrestricted
in how events are processed.
.Parallel Queue Scheduling
-image::../images/parallel_queue.svg[align="center"]
+image::parallel_queue.svg[align="center"]
All events held on parallel queues are eligible to be scheduled simultaneously
and any required synchronization between them is the responsibility of the
@@ -658,7 +659,7 @@ more events from the same atomic queue if *odp_schedule_multi()* is used. In
this case these multiple events all share the same atomic scheduling context.
.Atomic Queue Scheduling
-image::../images/atomic_queue.svg[align="center"]
+image::atomic_queue.svg[align="center"]
In this example, no matter how many events may be held in an atomic queue,
only one calling thread can receive scheduled events from it at a time. Here
@@ -678,7 +679,7 @@ scaleabilty of parallel queues, with the easy synchronization of atomic
queues.
.Ordered Queue Scheduling
-image::../images/ordered_queue.svg[align="center"]
+image::ordered_queue.svg[align="center"]
When scheduling events from an ordered queue, the scheduler dispatches multiple
events from the queue in parallel to different threads, however the scheduler
Signed-off-by: Mike Holmes <mike.holmes@linaro.org> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> --- doc/implementers-guide/implementers-guide.adoc | 1 + doc/process-guide/bylaws-guide.adoc | 1 + doc/process-guide/release-guide.adoc | 5 +++-- doc/users-guide/users-guide.adoc | 19 ++++++++++--------- 4 files changed, 15 insertions(+), 11 deletions(-)