DPDK patches and discussions
 help / color / mirror / Atom feed
From: WeiJie Zhuang <zhuangwj@gmail.com>
To: cristian.dumitrescu@intel.com
Cc: dev@dpdk.org, jasvinder.singh@intel.com, ferruh.yigit@intel.com,
	WeiJie Zhuang <zhuangwj@gmail.com>
Subject: [dpdk-dev] [PATCH v3 3/3] port: document update
Date: Thu, 16 Jun 2016 19:27:03 +0800	[thread overview]
Message-ID: <1466076423-8680-3-git-send-email-zhuangwj@gmail.com> (raw)
In-Reply-To: <1466076423-8680-1-git-send-email-zhuangwj@gmail.com>

add kni configurations into the document of ip pipeline sample application

Signed-off-by: WeiJie Zhuang <zhuangwj@gmail.com>
---
 doc/guides/sample_app_ug/ip_pipeline.rst | 112 +++++++++++++++++++++++--------
 1 file changed, 83 insertions(+), 29 deletions(-)

diff --git a/doc/guides/sample_app_ug/ip_pipeline.rst b/doc/guides/sample_app_ug/ip_pipeline.rst
index 899fd4a..566106b 100644
--- a/doc/guides/sample_app_ug/ip_pipeline.rst
+++ b/doc/guides/sample_app_ug/ip_pipeline.rst
@@ -1,5 +1,5 @@
 ..  BSD LICENSE
-    Copyright(c) 2015 Intel Corporation. All rights reserved.
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
     All rights reserved.
 
     Redistribution and use in source and binary forms, with or without
@@ -351,33 +351,35 @@ Application resources present in the configuration file
 
 .. table:: Application resource names in the configuration file
 
-   +--------------------------+-----------------------------+-------------------------------------------------+
-   | Resource type            | Format                      | Examples                                        |
-   +==========================+=============================+=================================================+
-   | Pipeline                 | ``PIPELINE<ID>``            | ``PIPELINE0``, ``PIPELINE1``                    |
-   +--------------------------+-----------------------------+-------------------------------------------------+
-   | Mempool                  | ``MEMPOOL<ID>``             | ``MEMPOOL0``, ``MEMPOOL1``                      |
-   +--------------------------+-----------------------------+-------------------------------------------------+
-   | Link (network interface) | ``LINK<ID>``                | ``LINK0``, ``LINK1``                            |
-   +--------------------------+-----------------------------+-------------------------------------------------+
-   | Link RX queue            | ``RXQ<LINK_ID>.<QUEUE_ID>`` | ``RXQ0.0``, ``RXQ1.5``                          |
-   +--------------------------+-----------------------------+-------------------------------------------------+
-   | Link TX queue            | ``TXQ<LINK_ID>.<QUEUE_ID>`` | ``TXQ0.0``, ``TXQ1.5``                          |
-   +--------------------------+-----------------------------+-------------------------------------------------+
-   | Software queue           | ``SWQ<ID>``                 | ``SWQ0``, ``SWQ1``                              |
-   +--------------------------+-----------------------------+-------------------------------------------------+
-   | Traffic Manager          | ``TM<LINK_ID>``             | ``TM0``, ``TM1``                                |
-   +--------------------------+-----------------------------+-------------------------------------------------+
-   | Source                   | ``SOURCE<ID>``              | ``SOURCE0``, ``SOURCE1``                        |
-   +--------------------------+-----------------------------+-------------------------------------------------+
-   | Sink                     | ``SINK<ID>``                | ``SINK0``, ``SINK1``                            |
-   +--------------------------+-----------------------------+-------------------------------------------------+
-   | Message queue            | ``MSGQ<ID>``                | ``MSGQ0``, ``MSGQ1``,                           |
-   |                          | ``MSGQ-REQ-PIPELINE<ID>``   | ``MSGQ-REQ-PIPELINE2``, ``MSGQ-RSP-PIPELINE2,`` |
-   |                          | ``MSGQ-RSP-PIPELINE<ID>``   | ``MSGQ-REQ-CORE-s0c1``, ``MSGQ-RSP-CORE-s0c1``  |
-   |                          | ``MSGQ-REQ-CORE-<CORE_ID>`` |                                                 |
-   |                          | ``MSGQ-RSP-CORE-<CORE_ID>`` |                                                 |
-   +--------------------------+-----------------------------+-------------------------------------------------+
+   +----------------------------+-----------------------------+-------------------------------------------------+
+   | Resource type              | Format                      | Examples                                        |
+   +============================+=============================+=================================================+
+   | Pipeline                   | ``PIPELINE<ID>``            | ``PIPELINE0``, ``PIPELINE1``                    |
+   +----------------------------+-----------------------------+-------------------------------------------------+
+   | Mempool                    | ``MEMPOOL<ID>``             | ``MEMPOOL0``, ``MEMPOOL1``                      |
+   +----------------------------+-----------------------------+-------------------------------------------------+
+   | Link (network interface)   | ``LINK<ID>``                | ``LINK0``, ``LINK1``                            |
+   +----------------------------+-----------------------------+-------------------------------------------------+
+   | Link RX queue              | ``RXQ<LINK_ID>.<QUEUE_ID>`` | ``RXQ0.0``, ``RXQ1.5``                          |
+   +----------------------------+-----------------------------+-------------------------------------------------+
+   | Link TX queue              | ``TXQ<LINK_ID>.<QUEUE_ID>`` | ``TXQ0.0``, ``TXQ1.5``                          |
+   +----------------------------+-----------------------------+-------------------------------------------------+
+   | Software queue             | ``SWQ<ID>``                 | ``SWQ0``, ``SWQ1``                              |
+   +----------------------------+-----------------------------+-------------------------------------------------+
+   | Traffic Manager            | ``TM<LINK_ID>``             | ``TM0``, ``TM1``                                |
+   +----------------------------+-----------------------------+-------------------------------------------------+
+   | KNI (kernel NIC interface) | ``KNI<LINK_ID>``            | ``KNI0``, ``KNI1``                              |
+   +----------------------------+-----------------------------+-------------------------------------------------+
+   | Source                     | ``SOURCE<ID>``              | ``SOURCE0``, ``SOURCE1``                        |
+   +----------------------------+-----------------------------+-------------------------------------------------+
+   | Sink                       | ``SINK<ID>``                | ``SINK0``, ``SINK1``                            |
+   +----------------------------+-----------------------------+-------------------------------------------------+
+   | Message queue              | ``MSGQ<ID>``                | ``MSGQ0``, ``MSGQ1``,                           |
+   |                            | ``MSGQ-REQ-PIPELINE<ID>``   | ``MSGQ-REQ-PIPELINE2``, ``MSGQ-RSP-PIPELINE2,`` |
+   |                            | ``MSGQ-RSP-PIPELINE<ID>``   | ``MSGQ-REQ-CORE-s0c1``, ``MSGQ-RSP-CORE-s0c1``  |
+   |                            | ``MSGQ-REQ-CORE-<CORE_ID>`` |                                                 |
+   |                            | ``MSGQ-RSP-CORE-<CORE_ID>`` |                                                 |
+   +----------------------------+-----------------------------+-------------------------------------------------+
 
 ``LINK`` instances are created implicitly based on the ``PORT_MASK`` application startup argument.
 ``LINK0`` is the first port enabled in the ``PORT_MASK``, port 1 is the next one, etc.
@@ -386,7 +388,7 @@ For example, if bit 5 is the first bit set in the bitmask, then ``LINK0`` is hav
 This mechanism creates a contiguous LINK ID space and isolates the configuration file against changes in the board
 PCIe slots where NICs are plugged in.
 
-``RXQ``, ``TXQ`` and ``TM`` instances have the LINK ID as part of their name.
+``RXQ``, ``TXQ``, ``TM`` and ``KNI`` instances have the LINK ID as part of their name.
 For example, ``RXQ2.1``, ``TXQ2.1`` and ``TM2`` are all associated with ``LINK2``.
 
 
@@ -707,6 +709,58 @@ TM section
    +---------------+---------------------------------------------+----------+----------+---------------+
 
 
+KNI section
+~~~~~~~~~~~
+
+.. _table_ip_pipelines_kni_section:
+
+.. tabularcolumns:: |p{2.5cm}|p{7cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|
+
+.. table:: Configuration file KNI section
+
+   +---------------+----------------------------------------------+----------+------------------+---------------+
+   | Section       | Description                                  | Optional | Type             | Default value |
+   +===============+==============================================+==========+==================+===============+
+   | core          | CPU core to run the KNI kernel thread.       | YES      | See "CPU Core    | Not set       |
+   |               | When core config is set, the KNI kernel      |          | notation"        |               |
+   |               | thread will be bound to the particular core. |          |                  |               |
+   |               | When core config is not set, the KNI kernel  |          |                  |               |
+   |               | thread will be scheduled by the OS.          |          |                  |               |
+   +---------------+----------------------------------------------+----------+------------------+---------------+
+   | mempool       | Mempool to use for buffer allocation for     | YES      | uint32_t         | MEMPOOL0      |
+   |               | current KNI port. The mempool ID has         |          |                  |               |
+   |               | to be associated with a valid instance       |          |                  |               |
+   |               | defined in the mempool entry of the global   |          |                  |               |
+   |               | section.                                     |          |                  |               |
+   +---------------+----------------------------------------------+----------+------------------+---------------+
+   | burst_read    | Read burst size (number of packets)          | YES      | uint32_t         | 32            |
+   |               |                                              |          | power of 2       |               |
+   |               |                                              |          | 0 < burst < size |               |
+   +---------------+----------------------------------------------+----------+------------------+---------------+
+   | burst_write   | Write burst size (number of packets)         | YES      | uint32_t         | 32            |
+   |               |                                              |          | power of 2       |               |
+   |               |                                              |          | 0 < burst < size |               |
+   +---------------+----------------------------------------------+----------+------------------+---------------+
+   | dropless      | When dropless is set to NO, packets can be   | YES      | YES/NO           | NO            |
+   |               | dropped if not enough free slots are         |          |                  |               |
+   |               | currently available in the queue, so the     |          |                  |               |
+   |               | write operation to the queue is non-         |          |                  |               |
+   |               | blocking.                                    |          |                  |               |
+   |               | When dropless is set to YES, packets cannot  |          |                  |               |
+   |               | be dropped if not enough free slots are      |          |                  |               |
+   |               | currently available in the queue, so the     |          |                  |               |
+   |               | write operation to the queue is blocking, as |          |                  |               |
+   |               | the write operation is retried until enough  |          |                  |               |
+   |               | free slots become available and all the      |          |                  |               |
+   |               | packets are successfully written to the      |          |                  |               |
+   |               | queue.                                       |          |                  |               |
+   +---------------+----------------------------------------------+----------+------------------+---------------+
+   | n_retries     | Number of retries. Valid only when dropless  | YES      | uint64_t         | 0             |
+   |               | is set to YES. When set to 0, it indicates   |          |                  |               |
+   |               | unlimited number of retries.                 |          |                  |               |
+   +---------------+----------------------------------------------+----------+------------------+---------------+
+
+
 SOURCE section
 ~~~~~~~~~~~~~~
 
-- 
2.7.4

  parent reply	other threads:[~2016-06-16 11:28 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-27  5:07 [dpdk-dev] [PATCH] port: add KNI interface support 1. add KNI port type to the packet framework 2. add KNI support to the IP Pipeline sample Application WeiJie Zhuang
2016-05-28 11:25 ` [dpdk-dev] [PATCH] port: add kni interface support WeiJie Zhuang
2016-05-30 14:40   ` Dumitrescu, Cristian
2016-06-01  4:18     ` Ethan
2016-06-09 23:42   ` Dumitrescu, Cristian
2016-06-13 10:25     ` Dumitrescu, Cristian
2016-06-13 10:47     ` Ethan
2016-06-13 13:18       ` Dumitrescu, Cristian
2016-06-16 11:34         ` Ethan
2016-06-16 11:27   ` [dpdk-dev] [PATCH v3 1/3] " WeiJie Zhuang
2016-06-16 11:27     ` [dpdk-dev] [PATCH v3 2/3] port: add kni nodrop writer WeiJie Zhuang
2016-06-18 21:47       ` Dumitrescu, Cristian
2016-06-16 11:27     ` WeiJie Zhuang [this message]
2016-06-18 16:44     ` [dpdk-dev] [PATCH v3 1/3] port: add kni interface support Dumitrescu, Cristian
2016-06-21 11:10       ` Ethan
2016-06-21 11:31         ` Dumitrescu, Cristian
2016-06-21 10:55   ` [dpdk-dev] [PATCH v4 1/4] port: " Ethan Zhuang
2016-06-21 10:55     ` [dpdk-dev] [PATCH v4 2/4] examples/ip_pipeline: " Ethan Zhuang
2016-06-21 10:55     ` [dpdk-dev] [PATCH v4 3/4] examples/ip_pipeline: kni example configuration Ethan Zhuang
2016-06-21 10:55     ` [dpdk-dev] [PATCH v4 4/4] doc: kni port support in the packet framework Ethan Zhuang
2016-06-21 12:03     ` [dpdk-dev] [PATCH v4 1/4] port: kni interface support Dumitrescu, Cristian
2016-06-21 16:09       ` Thomas Monjalon

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=1466076423-8680-3-git-send-email-zhuangwj@gmail.com \
    --to=zhuangwj@gmail.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=jasvinder.singh@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).