DPDK patches and discussions
 help / color / mirror / Atom feed
From: Marko Kovacevic <marko.kovacevic@intel.com>
To: john.mcnamara@intel.com
Cc: dev@dpdk.org, marko.kovacevic@intel.com
Subject: [dpdk-dev] [PATCH v8 2/2] doc: add new introduction to sample app guides
Date: Wed, 18 Oct 2017 10:28:50 +0100	[thread overview]
Message-ID: <1508318930-177267-2-git-send-email-marko.kovacevic@intel.com> (raw)
In-Reply-To: <1508318930-177267-1-git-send-email-marko.kovacevic@intel.com>

Add new Introduction Section into the sample app guides.

Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
---

V8:
   Fixed Build issue (John)


 doc/guides/sample_app_ug/index.rst |   2 +
 doc/guides/sample_app_ug/intro.rst | 153 +++++++++++++++++++++++++++----------
 2 files changed, 115 insertions(+), 40 deletions(-)

diff --git a/doc/guides/sample_app_ug/index.rst b/doc/guides/sample_app_ug/index.rst
index 4f8340a..163b468 100644
--- a/doc/guides/sample_app_ug/index.rst
+++ b/doc/guides/sample_app_ug/index.rst
@@ -1,4 +1,5 @@
 ..  BSD LICENSE
+
     Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
     All rights reserved.
 
@@ -28,6 +29,7 @@
     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+
 Sample Applications User Guides
 ===============================
 
diff --git a/doc/guides/sample_app_ug/intro.rst b/doc/guides/sample_app_ug/intro.rst
index d3f261b..ae12503 100644
--- a/doc/guides/sample_app_ug/intro.rst
+++ b/doc/guides/sample_app_ug/intro.rst
@@ -1,5 +1,5 @@
 ..  BSD LICENSE
-    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    Copyright(c) 2010-2017 Intel Corporation. All rights reserved.
     All rights reserved.
 
     Redistribution and use in source and binary forms, with or without
@@ -28,42 +28,115 @@
     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-Introduction
-============
-
-This document describes the sample applications that are included in the Data Plane Development Kit (DPDK).
-Each chapter describes a sample application that showcases specific functionality and
-provides instructions on how to compile, run and use the sample application.
-
-Documentation Roadmap
----------------------
-
-The following is a list of DPDK documents in suggested reading order:
-
-*   **Release Notes** : Provides release-specific information, including supported features,
-    limitations, fixed issues, known issues and so on.
-    Also, provides the answers to frequently asked questions in FAQ format.
-
-*   **Getting Started Guides** : Describes how to install and
-    configure the DPDK software for your operating system;
-    designed to get users up and running quickly with the software.
-
-*   **Programmer's Guide:**  Describes:
-
-    *   The software architecture and how to use it (through examples),
-        specifically in a Linux* application (linuxapp) environment.
-
-    *   The content of the DPDK, the build system
-        (including the commands that can be used in the root DPDK Makefile to build the development kit and an application)
- 	and guidelines for porting an application.
-
-    *   Optimizations used in the software and those that should be considered for new development
-
-A glossary of terms is also provided.
-
-*   **API Reference**  : Provides detailed information about DPDK functions,
-    data structures and other programming constructs.
-
-*   **Sample Applications User Guide**  : Describes a set of sample applications.
-    Each chapter describes a sample application that showcases specific functionality and
-    provides instructions on how to compile, run and use the sample application.
+Introduction to the DPDK Sample Applications
+============================================
+
+The DPDK Sample Applications are small standalone applications which
+demonstrate various features of DPDK. They can be considered as a cookbook of
+DPDK features.  Users interested in getting started with DPDK can take the
+applications, try out the features, and then extend them to fit their needs.
+
+
+The DPDK Sample Applications
+----------------------------
+
+Table :numref:`table_sample_apps` shows a list of some of the main sample
+applications that are available in the examples directory of DPDK:
+
+ .. _table_sample_apps:
+
+ .. table:: **Some of the DPDK Sample applications**
+
+    +---------------------------------------+--------------------------------------+
+    | Bonding                               | Netmap Compatibility                 |
+    +---------------------------------------+--------------------------------------+
+    | Command Line                          | Packet Ordering                      |
+    +---------------------------------------+--------------------------------------+
+    | Distributor                           | Performance Thread                   |
+    +---------------------------------------+--------------------------------------+
+    | Ethtool                               | Precision Time Protocol (PTP) Client |
+    +---------------------------------------+--------------------------------------+
+    | Exception Path                        | Quality of Service (QoS) Metering    |
+    +---------------------------------------+--------------------------------------+
+    | Hello World                           | QoS Scheduler                        |
+    +---------------------------------------+--------------------------------------+
+    | Internet Protocol (IP) Fragmentation  | Quota and Watermark                  |
+    +---------------------------------------+--------------------------------------+
+    | IP Pipeline                           | RX/TX Callbacks                      |
+    +---------------------------------------+--------------------------------------+
+    | IP Reassembly                         | Server node EFD                      |
+    +---------------------------------------+--------------------------------------+
+    | IPsec Security Gateway                | Basic Forwarding/Skeleton App        |
+    +---------------------------------------+--------------------------------------+
+    | IPv4 multicast                        | Tunnel End Point (TEP) termination   |
+    +---------------------------------------+--------------------------------------+
+    | Kernel NIC Interface                  | Timer                                |
+    +---------------------------------------+--------------------------------------+
+    | Network Layer 2 Forwarding + variants | Vhost                                |
+    +---------------------------------------+--------------------------------------+
+    | Network Layer 3 Forwarding + variants | Vhost Xen                            |
+    +---------------------------------------+--------------------------------------+
+    | Link Status Interrupt                 | VMDQ Forwarding                      |
+    +---------------------------------------+--------------------------------------+
+    | Load Balancer                         | VMDQ and DCB Forwarding              |
+    +---------------------------------------+--------------------------------------+
+    | Multi-process                         | VM Power Management                  |
+    +---------------------------------------+--------------------------------------+
+
+These examples range from simple to reasonably complex but most are designed
+to demonstrate one particular feature of DPDK. Some of the more interesting
+examples are highlighted below.
+
+
+* :doc:`Hello World<hello_world>`: As with most introductions to a
+  programming framework a good place to start is with the Hello World
+  application. The Hello World example sets up the DPDK Environment Abstraction
+  Layer (EAL), and prints a simple "Hello World" message to each of the DPDK
+  enabled cores. This application doesn't do any packet forwarding but it is a
+  good way to test if the DPDK environment is compiled and set up properly.
+
+* :doc:`Basic Forwarding/Skeleton Application<skeleton>`: The Basic
+  Forwarding/Skeleton contains the minimum amount of code required to enable
+  basic packet forwarding with DPDK. This allows you to test if your network
+  interfaces are working with DPDK.
+
+* :doc:`Network Layer 2 forwarding<l2_forward_real_virtual>`: The Network Layer 2
+  forwarding, or ``l2fwd`` application does forwarding based on Ethernet MAC
+  addresses like a simple switch.
+
+* :doc:`Network Layer 3 forwarding<l3_forward>`: The Network Layer3
+  forwarding, or ``l3fwd`` application does forwarding based on Internet
+  Protocol, IPv4 or IPv6 like a simple router.
+
+* :doc:`Packet Distributor<dist_app>`: The Packet Distributor
+  demonstrates how to distribute packets arriving on an Rx port to different
+  cores for processing and transmission.
+
+* :doc:`Multi-Process Application<multi_process>`: The
+  multi-process application shows how two DPDK processes can work together using
+  queues and memory pools to share information.
+
+* :doc:`RX/TX callbacks Application<rxtx_callbacks>`: The RX/TX
+  callbacks sample application is a packet forwarding application that
+  demonstrates the use of user defined callbacks on received and transmitted
+  packets. The application calculates the latency of a packet between RX
+  (packet arrival) and TX (packet transmission) by adding callbacks to the RX
+  and TX packet processing functions.
+
+* :doc:`IPSec Security Gateway<ipsec_secgw>`: The IPSec Security
+  Gateway application is minimal example of something closer to a real world
+  example. This is also a good example of an application using the DPDK
+  Cryptodev framework.
+
+* :doc:`Precision Time Protocol (PTP) client<ptpclient>`: The PTP
+  client is another minimal implementation of a real world application.
+  In this case the application is a PTP client that communicates with a PTP
+  master clock to synchronize time on a Network Interface Card (NIC) using the
+  IEEE1588 protocol.
+
+* :doc:`Quality of Service (QoS) Scheduler<qos_scheduler>`: The QoS
+  Scheduler application demonstrates the use of DPDK to provide QoS scheduling.
+
+There are many more examples shown in the following chapters. Each of the
+documented sample applications show how to compile, configure and run the
+application as well as explaining the main functionality of the code.
-- 
2.5.5

  reply	other threads:[~2017-10-18  9:29 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-05 11:12 [dpdk-dev] [PATCH v4 1/2] doc: add generic compilation doc for all sample apps Marko Kovacevic
2017-10-05 11:12 ` [dpdk-dev] [PATCH v4 2/2] doc: add new introduction to sample app guides Marko Kovacevic
2017-10-05 17:48   ` Mcnamara, John
2017-10-05 17:26 ` [dpdk-dev] [PATCH v4 1/2] doc: add generic compilation doc for all sample apps Mcnamara, John
2017-10-09 16:19 ` [dpdk-dev] [PATCH v5 " Marko Kovacevic
2017-10-09 16:19   ` [dpdk-dev] [PATCH v5 2/2] doc: add new introduction to sample app guides Marko Kovacevic
2017-10-09 16:50     ` Mcnamara, John
2017-10-09 16:48   ` [dpdk-dev] [PATCH v5 1/2] doc: add generic compilation doc for all sample apps Mcnamara, John
2017-10-11 15:51   ` [dpdk-dev] [PATCH v6 " Marko Kovacevic
2017-10-11 15:51     ` [dpdk-dev] [PATCH v6 2/2] doc: add new introduction to sample app guides Marko Kovacevic
2017-10-12 10:55       ` Mcnamara, John
2017-10-13 22:17       ` Thomas Monjalon
2017-10-16 14:50       ` [dpdk-dev] [PATCH v7 1/2] doc: add generic compilation doc for all sample apps Marko Kovacevic
2017-10-16 14:50         ` [dpdk-dev] [PATCH v7 2/2] doc: add new introduction to sample app guides Marko Kovacevic
2017-10-16 18:53           ` Mcnamara, John
2017-10-18  9:28           ` [dpdk-dev] [PATCH v8 1/2] doc: add generic compilation doc for all sample apps Marko Kovacevic
2017-10-18  9:28             ` Marko Kovacevic [this message]
2017-10-12 10:55     ` [dpdk-dev] [PATCH v6 " Mcnamara, John

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1508318930-177267-2-git-send-email-marko.kovacevic@intel.com \
    --to=marko.kovacevic@intel.com \
    --cc=dev@dpdk.org \
    --cc=john.mcnamara@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).