From patchwork Sun Feb 14 03:42:17 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Holmes X-Patchwork-Id: 61910 Delivered-To: patch@linaro.org Received: by 10.112.43.199 with SMTP id y7csp374870lbl; Sat, 13 Feb 2016 19:45:39 -0800 (PST) X-Received: by 10.140.102.232 with SMTP id w95mr7661909qge.21.1455421539618; Sat, 13 Feb 2016 19:45:39 -0800 (PST) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id w21si25939938qka.42.2016.02.13.19.45.37; Sat, 13 Feb 2016 19:45:39 -0800 (PST) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dkim=neutral (body hash did not verify) header.i=@linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 4F5C2618D1; Sun, 14 Feb 2016 03:45:37 +0000 (UTC) Authentication-Results: lists.linaro.org; dkim=fail reason="verification failed; unprotected key" header.d=linaro.org header.i=@linaro.org header.b=cPfKPSoe; dkim-adsp=none (unprotected policy); dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,T_DKIM_INVALID,URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id F0539619CF; Sun, 14 Feb 2016 03:42:59 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id EB4C661724; Sun, 14 Feb 2016 03:42:54 +0000 (UTC) Received: from mail-qg0-f42.google.com (mail-qg0-f42.google.com [209.85.192.42]) by lists.linaro.org (Postfix) with ESMTPS id 9438361724 for ; Sun, 14 Feb 2016 03:42:29 +0000 (UTC) Received: by mail-qg0-f42.google.com with SMTP id y9so90789833qgd.3 for ; Sat, 13 Feb 2016 19:42:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=YxLpjRnkYUqYmYAF3edACb3MYIOETSU8cb7mKIW7uoQ=; b=cPfKPSoeJTdAs/WIgweHGUbe2fpw88qzZQrPlr0wPozyuKqKPsLNEQ/hiznVvuzpA2 uDxkOU3gpmKaKGhe9VCjGLyaJYbYA/PN4tn3jqjJiK7FbYUa9fxzXnOLEI5A/+iFHOhh o6upKGbQJ8ss7sf4ljXQleu++acz/EoQ10n2I= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=YxLpjRnkYUqYmYAF3edACb3MYIOETSU8cb7mKIW7uoQ=; b=WciyOAtAugli+tioWZl7R7OjSPmDPSsnQQAWtrwH9Qyr+8jSIywCzBt9IDjMTp1S9D N4C1Cdq0Ki0zWBHGlZ19PyU+o1y8+GS0jg3uX91wv6t8EpR1CeU+dl0qyhlHlmWFqnG5 O5zS+gEJ6VgBurNcxbGoX6P/TsNqdaCK8j3TsIHWsqV/hpr+1jPZIK4wRtmg5pNiXZ29 qk14nf12GvKN0jFXRgMbo7Wn4ryK0X16Wv2OpFEo0uv/abndnt6J0qzI7j1Oxmzs4jmT Y2BbqB+jj1TDT4bz46A8QLfdUD0lJj07XWxq+pFFjUzFq3nnClXfx1OuWSuRzBepXRR2 MDSQ== X-Gm-Message-State: AG10YORGiPkX5J2jDeescG+M/IRWoCSwc9lstP7P0a+bQDGXMVVxH2r8MK/+4rdlOJmY0kONKSc= X-Received: by 10.140.20.39 with SMTP id 36mr11844013qgi.15.1455421349291; Sat, 13 Feb 2016 19:42:29 -0800 (PST) Received: from localhost.localdomain (c-98-221-136-245.hsd1.nj.comcast.net. [98.221.136.245]) by smtp.gmail.com with ESMTPSA id e11sm8612456qkb.39.2016.02.13.19.42.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 13 Feb 2016 19:42:28 -0800 (PST) From: Mike Holmes To: lng-odp@lists.linaro.org Date: Sat, 13 Feb 2016 22:42:17 -0500 Message-Id: <1455421338-9593-3-git-send-email-mike.holmes@linaro.org> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1455421338-9593-1-git-send-email-mike.holmes@linaro.org> References: <1455421338-9593-1-git-send-email-mike.holmes@linaro.org> X-Topics: patch Subject: [lng-odp] [PATCH 3/4] doc: use imagedir attribute for path X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" Signed-off-by: Mike Holmes --- 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(-) diff --git a/doc/implementers-guide/implementers-guide.adoc b/doc/implementers-guide/implementers-guide.adoc index d68354d..db9701f 100644 --- a/doc/implementers-guide/implementers-guide.adoc +++ b/doc/implementers-guide/implementers-guide.adoc @@ -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!: diff --git a/doc/process-guide/bylaws-guide.adoc b/doc/process-guide/bylaws-guide.adoc index e640811..1c93968 100644 --- a/doc/process-guide/bylaws-guide.adoc +++ b/doc/process-guide/bylaws-guide.adoc @@ -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] diff --git a/doc/process-guide/release-guide.adoc b/doc/process-guide/release-guide.adoc index dab68d3..8816c03 100644 --- a/doc/process-guide/release-guide.adoc +++ b/doc/process-guide/release-guide.adoc @@ -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): diff --git a/doc/users-guide/users-guide.adoc b/doc/users-guide/users-guide.adoc index bbb53a7..fbd06cb 100644 --- a/doc/users-guide/users-guide.adoc +++ b/doc/users-guide/users-guide.adoc @@ -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