Test Pipeline Application
=========================
-The Test Pipeline application illustrates the use of the Intel® DPDK Packet Framework tool suite.
-Its purpose is to demonstrate the performance of single-table Intel® DPDK pipelines.
+The Test Pipeline application illustrates the use of the DPDK Packet Framework tool suite.
+Its purpose is to demonstrate the performance of single-table DPDK pipelines.
Overview
--------
* Core A ("RX core") receives traffic from the NIC ports and feeds core B with traffic through SW queues.
-* Core B ("Pipeline core") implements a single-table Intel® DPDK pipeline
+* Core B ("Pipeline core") implements a single-table DPDK pipeline
whose type is selectable through specific command line parameter.
Core B receives traffic from core A through software queues,
processes it according to the actions configured in the table entries that
| **#** | **TABLE_TYPE** | **Description of Core B Table** | **Pre-added Table Entries** |
| | | | |
+=======+========================+==========================================================+=======================================================+
-| 1 | none | Core B is not implementing an Intel® DPDK pipeline. | N/A |
+| 1 | none | Core B is not implementing a DPDK pipeline. | N/A |
| | | Core B is implementing a pass-through from its input set | |
| | | of software queues to its output set of software queues. | |
| | | | |
+-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+
| 2 | stub | Stub table. Core B is implementing the same pass-through | N/A |
| | | functionality as described for the "none" option by | |
-| | | using the Intel® DPDK Packet Framework by using one | |
+| | | using the DPDK Packet Framework by using one | |
| | | stub table for each input NIC port. | |
| | | | |
+-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+
| | | entries. | hash table with the following key format: |
| | | | |
| | | | [4-byte index, 4 bytes of 0] |
-+-------+------------------------+----------------------------------------------------------+ |
-| 4 | hash-[spec]-8-ext | Extendible bucket hash table with 8-byte key size | The action configured for all table entries is |
-| | | and 16 million entries. | "Sendto output port", with the output port index |
+| | | | |
+| | | | The action configured for all table entries is |
+| | | | "Sendto output port", with the output port index |
| | | | uniformly distributed for the range of output ports. |
| | | | |
| | | | The default table rule (used in the case of a lookup |
| | | | [destination IPv4 address, 4 bytes of 0] |
| | | | |
+-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+
+| 4 | hash-[spec]-8-ext | Extendible bucket hash table with 8-byte key size | Same as hash-[spec]-8-lru table entries, above. |
+| | | and 16 million entries. | |
+| | | | |
++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+
| 5 | hash-[spec]-16-lru | LRU hash table with 16-byte key size and 16 million | 16 million entries are successfully added to the hash |
| | | entries. | table with the following key format: |
| | | | |
| | | | [4-byte index, 12 bytes of 0] |
-+-------+------------------------+----------------------------------------------------------+ |
-| 6 | hash-[spec]-ash-16-ext | Extendible bucket hash table with 16-byte key size | The action configured for all table entries is |
-| | | and 16 million entries. | "Send to output port", with the output port index |
+| | | | |
+| | | | The action configured for all table entries is |
+| | | | "Send to output port", with the output port index |
| | | | uniformly distributed for the range of output ports. |
| | | | |
| | | | The default table rule (used in the case of a lookup |
| | | | [destination IPv4 address, 12 bytes of 0] |
| | | | |
+-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+
+| 6 | hash-[spec]-16-ext | Extendible bucket hash table with 16-byte key size | Same as hash-[spec]-16-lru table entries, above. |
+| | | and 16 million entries. | |
+| | | | |
++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+
| 7 | hash-[spec]-32-lru | LRU hash table with 32-byte key size and 16 million | 16 million entries are successfully added to the hash |
-| | | entries. | table with the following key format: |
+| | | entries. | table with the following key format: |
| | | | |
| | | | [4-byte index, 28 bytes of 0]. |
-+-------+------------------------+----------------------------------------------------------+ |
-| 8 | hash-[spec]-32-ext | Extendible bucket hash table with 32-byte key size | The action configured for all table entries is |
-| | | and 16 million entries. | "Send to output port", with the output port index |
+| | | | |
+| | | | The action configured for all table entries is |
+| | | | "Send to output port", with the output port index |
| | | | uniformly distributed for the range of output ports. |
| | | | |
| | | | The default table rule (used in the case of a lookup |
| | | | [destination IPv4 address, 28 bytes of 0] |
| | | | |
+-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+
+| 8 | hash-[spec]-32-ext | Extendible bucket hash table with 32-byte key size | Same as hash-[spec]-32-lru table entries, above. |
+| | | and 16 million entries. | |
+| | | | |
++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+
| 9 | lpm | Longest Prefix Match (LPM) IPv4 table. | In the case of two ports, two routes |
| | | | are added to the table: |
| | | | |
* source TCP port fixed to 0
-.. |test_pipeline_app| image:: img/test_pipeline_app.png
+.. |test_pipeline_app| image:: img/test_pipeline_app.*