aboutsummaryrefslogtreecommitdiffstats
path: root/docs/report/vpp_performance_tests/packet_throughput_graphs
diff options
context:
space:
mode:
authorMaciek Konstantynowicz <mkonstan@cisco.com>2017-02-05 16:33:28 +0000
committerMaciek Konstantynowicz <mkonstan@cisco.com>2017-02-06 16:27:37 +0000
commitda2aa127ee071e37bc4d6060dd39476179e65365 (patch)
treeea4fa5cd56fc6219efa290ba2b93288bc84ebe7e /docs/report/vpp_performance_tests/packet_throughput_graphs
parenta1d482fcf9c221cda2f13429810bca945d9f09f4 (diff)
csit rls1701 report edits:
- simplified section structure for clarity and readability, - updated overview sections, - moved not rls related content from rls_notes to overview sections, - removed section title suffixes: HW, VIRL. - completed vpp_unit_tests and vpp_unittest_results sections. - updated all documentation sections. - updated rls_notes sections for vpp performance and vpp functional. Change-Id: Id2c2abbf9d3531ec9f63ecd353f385a0b55ae1ba Signed-off-by: Maciek Konstantynowicz <mkonstan@cisco.com> Signed-off-by: pmikus <pmikus@cisco.com> Signed-off-by: Maciek Konstantynowicz <mkonstan@cisco.com> Signed-off-by: pmikus <pmikus@cisco.com> Signed-off-by: Maciek Konstantynowicz <mkonstan@cisco.com>
Diffstat (limited to 'docs/report/vpp_performance_tests/packet_throughput_graphs')
-rw-r--r--docs/report/vpp_performance_tests/packet_throughput_graphs/index.rst11
-rw-r--r--docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4.rst187
-rw-r--r--docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4_tunnels.rst165
-rw-r--r--docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6.rst183
-rw-r--r--docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6_tunnels.rst155
-rw-r--r--docs/report/vpp_performance_tests/packet_throughput_graphs/l2.rst190
-rw-r--r--docs/report/vpp_performance_tests/packet_throughput_graphs/vm_vhost.rst191
7 files changed, 1082 insertions, 0 deletions
diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/index.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/index.rst
new file mode 100644
index 0000000000..bf2a87fab7
--- /dev/null
+++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/index.rst
@@ -0,0 +1,11 @@
+Packet Throughput Graphs
+========================
+
+.. toctree::
+
+ l2
+ ipv4
+ ipv6
+ ipv4_tunnels
+ ipv6_tunnels
+ vm_vhost
diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4.rst
new file mode 100644
index 0000000000..c413adb51e
--- /dev/null
+++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4.rst
@@ -0,0 +1,187 @@
+IPv4 Routed-Forwarding
+======================
+
+Following sections provide a summary of VPP Phy-to-Phy IPv4 Routed-Forwarding
+performance illustrating NDR throughput (zero packet loss) and PDR throughput
+(<0.5% packet loss). Performance is reported for VPP running in multiple
+configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and
+their physical CPU core(s) placement.
+
+Title of each graph is a regex (regular expression) matching all plotted
+test case throughput measurements.
+
+.. note::
+
+ Data sources for reported test results: i) FD.io test executor jobs
+ `csit-vpp-perf-1701-all
+ <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-all/>`_ and
+ `csit-vpp-perf-1701-long
+ <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-long/>`_
+ , ii) archived FD.io jobs test result `output files
+ <../../_static/archive/>`_.
+
+NDR Throughput
+~~~~~~~~~~~~~~
+
+VPP NDR Throughput - running in configuration of **one worker thread (1t) on
+one physical core (1c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-ethip4-ip4-ndrdisc.html"></iframe>
+
+*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPv4 Routed-Forwarding.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" *
+
+ 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc
+ 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc
+ 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc
+ 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ndrdisc
+ 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale200k-ndrdisc
+ 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale20k-ndrdisc
+ 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale2m-ndrdisc
+ 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ndrdisc
+
+VPP NDR Throughput - running in configuration of **two worker threads (2t) on
+two physical cores (2c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-ethip4-ip4-ndrdisc.html"></iframe>
+
+*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv4
+Routed-Forwarding.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" *
+
+ 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc
+ 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc
+ 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc
+ 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc
+ 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale200k-ndrdisc
+ 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale20k-ndrdisc
+ 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale2m-ndrdisc
+ 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc
+
+VPP NDR Throughput - running in configuration of **four worker threads (4t) on
+four physical cores (4c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-4t4c-ethip4-ip4-ndrdisc.html"></iframe>
+
+*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy IPv4
+Routed-Forwarding.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-4t4c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" *
+
+ 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc
+ 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc
+ 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc
+ 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ndrdisc
+ 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale200k-ndrdisc
+ 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale20k-ndrdisc
+ 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale2m-ndrdisc
+ 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ndrdisc
+
+PDR Throughput
+~~~~~~~~~~~~~~
+
+VPP PDR Throughput - running in configuration of **one worker thread (1t) on one
+physical core (1c)** - is presented in the figure below. PDR at below 0.5%
+packet loss ratio.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-ethip4-ip4-pdrdisc.html"></iframe>
+
+*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv4
+Routed-Forwarding.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc" *
+
+ 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc
+ 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc
+ 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc
+ 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-pdrdisc
+ 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4scale200k-pdrdisc
+ 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4scale20k-pdrdisc
+ 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4scale2m-pdrdisc
+
+VPP PDR Throughput - running in configuration of **two worker threads (2t) on
+two physical cores (2c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-ethip4-ip4-pdrdisc.html"></iframe>
+
+*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv4
+Routed-Forwarding.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc" *
+
+ 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc
+ 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc
+ 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc
+ 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-pdrdisc
+ 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4scale200k-pdrdisc
+ 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4scale20k-pdrdisc
+ 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4scale2m-pdrdisc
+
+VPP PDR Throughput - running in configuration of **four worker threads (4t) on
+four physical cores (4c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-4t4c-ethip4-ip4-pdrdisc.html"></iframe>
+
+*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy IPv4
+Routed-Forwarding.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-4t4c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc" *
+
+ 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-copwhtlistbase-pdrdisc
+ 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-iacldstbase-pdrdisc
+ 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc
+ 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-pdrdisc
+ 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4scale200k-pdrdisc
+ 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4scale20k-pdrdisc
+ 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4scale2m-pdrdisc
+
diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4_tunnels.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4_tunnels.rst
new file mode 100644
index 0000000000..23ac3fc001
--- /dev/null
+++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv4_tunnels.rst
@@ -0,0 +1,165 @@
+IPv4 Overlay Tunnels
+====================
+
+Following sections provide a summary of VPP Phy-to-Phy IPv4 Overlay Tunnels
+performance illustrating NDR throughput (zero packet loss) and PDR throughput
+(<0.5% packet loss). Performance is reported for VPP running in multiple
+configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and
+their physical CPU core(s) placement.
+
+Title of each graph is a regex (regular expression) matching all plotted
+test case throughput measurements.
+
+.. note::
+
+ Data sources for reported test results: i) FD.io test executor jobs
+ `csit-vpp-perf-1701-all
+ <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-all/>`_ and
+ `csit-vpp-perf-1701-long
+ <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-long/>`_
+ , ii) archived FD.io jobs test result `output files
+ <../../_static/archive/>`_.
+
+NDR Throughput
+~~~~~~~~~~~~~~
+
+VPP NDR Throughput - running in configuration of **one worker thread (1t) on
+one physical core (1c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-ethip4-ndrdisc.html"></iframe>
+
+*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPv4 Overlay
+Tunnels.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" *
+
+ 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4lispip4-ip4base-ndrdisc
+ 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4lispip6-ip4base-ndrdisc
+ 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrdisc
+ 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2xcbase-ndrdisc
+
+VPP NDR Throughput - running in configuration of **two worker threads (2t) on
+two physical cores (2c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-ethip4-ndrdisc.html"></iframe>
+
+*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv4 Overlay Tunnels.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" *
+
+ 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4lispip4-ip4base-ndrdisc
+ 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4lispip6-ip4base-ndrdisc
+ 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-ndrdisc
+ 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2xcbase-ndrdisc
+
+VPP NDR Throughput - running in configuration of **four worker threads (4t) on
+four physical cores (4c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-4t4c-ethip4-ndrdisc.html"></iframe>
+
+*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy IPv4 Overlay
+Tunnels.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-4t4c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" *
+
+ 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4lispip4-ip4base-ndrdisc
+ 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4lispip6-ip4base-ndrdisc
+ 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-ndrdisc
+ 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2xcbase-ndrdisc
+
+PDR Throughput
+~~~~~~~~~~~~~~
+
+VPP PDR Throughput - running in configuration of **one worker thread (1t) on one
+physical core (1c)** - is presented in the figure below. PDR at below 0.5%
+packet loss ratio.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-ethip4-pdrdisc.html"></iframe>
+
+*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv4 Overlay
+Tunnels.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc" *
+
+ 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc02-64B-1t1c-ethip4lispip4-ip4base-pdrdisc
+ 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc02-64B-1t1c-ethip4lispip6-ip4base-pdrdisc
+ 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-pdrdisc
+ 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-ethip4vxlan-l2xcbase-pdrdisc
+
+VPP PDR Throughput - running in configuration of **two worker threads (2t) on
+two physical cores (2c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-ethip4-pdrdisc.html"></iframe>
+
+*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv4 Overlay Tunnels.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc" *
+
+ 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc08-64B-2t2c-ethip4lispip4-ip4base-pdrdisc
+ 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc08-64B-2t2c-ethip4lispip6-ip4base-pdrdisc
+ 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-pdrdisc
+ 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-ethip4vxlan-l2xcbase-pdrdisc
+
+VPP PDR Throughput - running in configuration of **four worker threads (4t) on
+four physical cores (4c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-4t4c-ethip4-pdrdisc.html"></iframe>
+
+*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy IPv4 Overlay
+Tunnels.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-4t4c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc" *
+
+ 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc14-64B-4t4c-ethip4lispip4-ip4base-pdrdisc
+ 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc14-64B-4t4c-ethip4lispip6-ip4base-pdrdisc
+ 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-pdrdisc
+ 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-ethip4vxlan-l2xcbase-pdrdisc
+
diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6.rst
new file mode 100644
index 0000000000..e04f2c6822
--- /dev/null
+++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6.rst
@@ -0,0 +1,183 @@
+IPv6 Routed-Forwarding
+======================
+
+Following sections provide a summary of VPP Phy-to-Phy IPv6 Routed-Forwarding
+performance illustrating NDR throughput (zero packet loss) and PDR throughput
+(<0.5% packet loss). Performance is reported for VPP running in multiple
+configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and
+their physical CPU core(s) placement.
+
+Title of each graph is a regex (regular expression) matching all plotted
+test case throughput measurements.
+
+.. note::
+
+ Data sources for reported test results: i) FD.io test executor jobs
+ `csit-vpp-perf-1701-all
+ <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-all/>`_ and
+ `csit-vpp-perf-1701-long
+ <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-long/>`_
+ , ii) archived FD.io jobs test result `output files
+ <../../_static/archive/>`_.
+
+NDR Throughput
+~~~~~~~~~~~~~~
+
+VPP NDR Throughput - running in configuration of **one worker thread (1t) on
+one physical core (1c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/78B-1t1c-ethip6-ip6-ndrdisc.html"></iframe>
+
+*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPv6
+Routed-Forwarding.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" *
+
+ 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-copwhtlistbase-ndrdisc
+ 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-iacldstbase-ndrdisc
+ 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-ndrdisc
+ 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale200k-ndrdisc
+ 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale20k-ndrdisc
+ 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale2m-ndrdisc
+ 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-ndrdisc
+
+VPP NDR Throughput - running in configuration of **two worker threads (2t) on
+two physical cores (2c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/78B-2t2c-ethip6-ip6-ndrdisc.html"></iframe>
+
+*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv6
+Routed-Forwarding.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" *
+
+ 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-copwhtlistbase-ndrdisc
+ 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-iacldstbase-ndrdisc
+ 10ge2p1x520-ethip6-ip6base-ipolicemarkbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ipolicemarkbase-ndrdisc
+ 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ndrdisc
+ 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale200k-ndrdisc
+ 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale20k-ndrdisc
+ 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale2m-ndrdisc
+ 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ndrdisc
+
+VPP NDR Throughput - running in configuration of **four worker threads (4t) on
+four physical cores (4c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/78B-4t4c-ethip6-ip6-ndrdisc.html"></iframe>
+
+*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy IPv6
+Routed-Forwarding.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "78B-4t4c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" *
+
+ 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-copwhtlistbase-ndrdisc
+ 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-iacldstbase-ndrdisc
+ 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-ndrdisc
+ 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale200k-ndrdisc
+ 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale20k-ndrdisc
+ 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale2m-ndrdisc
+ 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-ndrdisc
+
+PDR Throughput
+~~~~~~~~~~~~~~
+
+VPP PDR Throughput - running in configuration of **one worker thread (1t) on one
+physical core (1c)** - is presented in the figure below. PDR at below 0.5%
+packet loss ratio.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/78B-1t1c-ethip6-ip6-pdrdisc.html"></iframe>
+
+*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv6
+Routed-Forwarding.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc" *
+
+ 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6base-copwhtlistbase-pdrdisc
+ 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6base-iacldstbase-pdrdisc
+ 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6base-pdrdisc
+ 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6scale200k-pdrdisc
+ 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6scale20k-pdrdisc
+ 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6scale2m-pdrdisc
+
+VPP PDR Throughput - running in configuration of **two worker threads (2t) on
+two physical cores (2c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/78B-2t2c-ethip6-ip6-pdrdisc.html"></iframe>
+
+*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv6
+Routed-Forwarding.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc" *
+
+ 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6base-copwhtlistbase-pdrdisc
+ 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6base-iacldstbase-pdrdisc
+ 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6base-pdrdisc
+ 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6scale200k-pdrdisc
+ 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6scale20k-pdrdisc
+ 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6scale2m-pdrdisc
+
+VPP PDR Throughput - running in configuration of **four worker threads (4t) on
+four physical cores (4c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/78B-4t4c-ethip6-ip6-pdrdisc.html"></iframe>
+
+*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy IPv6
+Routed-Forwarding.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "78B-4t4c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc" *
+
+ 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6base-copwhtlistbase-pdrdisc
+ 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6base-iacldstbase-pdrdisc
+ 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6base-pdrdisc
+ 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6scale200k-pdrdisc
+ 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6scale20k-pdrdisc
+ 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6scale2m-pdrdisc
+
+
diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6_tunnels.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6_tunnels.rst
new file mode 100644
index 0000000000..1a57998018
--- /dev/null
+++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipv6_tunnels.rst
@@ -0,0 +1,155 @@
+IPv6 Overlay Tunnels
+====================
+
+Following sections provide a summary of VPP Phy-to-Phy IPv6 Overlay Tunnels
+performance illustrating NDR throughput (zero packet loss) and PDR throughput
+(<0.5% packet loss). Performance is reported for VPP running in multiple
+configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and
+their physical CPU core(s) placement.
+
+Title of each graph is a regex (regular expression) matching all plotted
+test case throughput measurements.
+
+.. note::
+
+ Data sources for reported test results: i) FD.io test executor jobs
+ `csit-vpp-perf-1701-all
+ <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-all/>`_ and
+ `csit-vpp-perf-1701-long
+ <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-long/>`_
+ , ii) archived FD.io jobs test result `output files
+ <../../_static/archive/>`_.
+
+NDR Throughput
+~~~~~~~~~~~~~~
+
+VPP NDR Throughput - running in configuration of **one worker thread (1t) on
+one physical core (1c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/78B-1t1c-ethip6-ndrdisc.html"></iframe>
+
+*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPv6 Overlay
+Tunnels.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" *
+
+ 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6lispip4-ip6base-ndrdisc
+ 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6lispip6-ip6base-ndrdisc
+
+VPP NDR Throughput - running in configuration of **two worker threads (2t) on
+two physical cores (2c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/78B-2t2c-ethip6-ndrdisc.html"></iframe>
+
+*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv6 Overlay
+Tunnels.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" *
+
+ 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6lispip4-ip6base-ndrdisc
+ 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6lispip6-ip6base-ndrdisc
+
+VPP NDR Throughput - running in configuration of **four worker threads (4t) on
+four physical cores (4c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/78B-4t4c-ethip6-ndrdisc.html"></iframe>
+
+*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy IPv6 Overlay
+Tunnels.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "78B-4t4c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" *
+
+ 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6lispip4-ip6base-ndrdisc
+ 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6lispip6-ip6base-ndrdisc
+
+PDR Throughput
+~~~~~~~~~~~~~~
+
+VPP PDR Throughput - running in configuration of **one worker thread (1t) on one
+physical core (1c)** - is presented in the figure below. PDR at below 0.5%
+packet loss ratio.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/78B-1t1c-ethip6-pdrdisc.html"></iframe>
+
+*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv6 Overlay
+Tunnels.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc" *
+
+ 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc02-78B-1t1c-ethip6lispip4-ip6base-pdrdisc
+ 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc02-78B-1t1c-ethip6lispip6-ip6base-pdrdisc
+
+VPP PDR Throughput - running in configuration of **two worker threads (2t) on
+two physical cores (2c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/78B-2t2c-ethip6-pdrdisc.html"></iframe>
+
+*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv6 Overlay
+Tunnels.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc" *
+
+ 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc08-78B-2t2c-ethip6lispip4-ip6base-pdrdisc
+ 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc08-78B-2t2c-ethip6lispip6-ip6base-pdrdisc
+
+VPP PDR Throughput - running in configuration of **four worker threads (4t) on
+four physical cores (4c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/78B-4t4c-ethip6-pdrdisc.html"></iframe>
+
+*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy IPv6 Overlay
+Tunnels.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "78B-4t4c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc" *
+
+ 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc14-78B-4t4c-ethip6lispip4-ip6base-pdrdisc
+ 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc14-78B-4t4c-ethip6lispip6-ip6base-pdrdisc
+
diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/l2.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/l2.rst
new file mode 100644
index 0000000000..89429a6192
--- /dev/null
+++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/l2.rst
@@ -0,0 +1,190 @@
+L2 Ethernet Switching
+=====================
+
+Following sections provide a summary of VPP Phy-to-Phy L2 Ethernet switching
+performance illustrating NDR throughput (zero packet loss) and PDR throughput
+(<0.5% packet loss). Performance is reported for VPP running in multiple
+configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and
+their physical CPU core(s) placement.
+
+Title of each graph is a regex (regular expression) matching all plotted
+test case throughput measurements.
+
+.. note::
+
+ Data sources for reported test results: i) FD.io test executor jobs
+ `csit-vpp-perf-1701-all
+ <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-all/>`_ and
+ `csit-vpp-perf-1701-long
+ <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-long/>`_
+ , ii) archived FD.io jobs test result `output files
+ <../../_static/archive/>`_.
+
+NDR Throughput
+~~~~~~~~~~~~~~
+
+VPP NDR Throughput - running in configuration of **one worker thread (1t) on
+one physical core (1c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-ndrdisc.html"></iframe>
+
+*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
+Switching.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *
+
+ 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
+ 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1ad-l2xcbase-ndrdisc
+ 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1q-l2xcbase-ndrdisc
+ 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
+ 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
+ 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
+ 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
+ 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
+ 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
+
+VPP NDR Throughput - running in configuration of **two worker threads (2t) on two
+physical cores (2c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-ndrdisc.html"></iframe>
+
+*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy L2 Ethernet
+Switching.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *
+
+ 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
+ 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1ad-l2xcbase-ndrdisc
+ 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1q-l2xcbase-ndrdisc
+ 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
+ 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
+ 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
+ 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
+ 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
+ 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
+
+VPP NDR Throughput - running in configuration of **four worker threads (4t) on
+four physical cores (4c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-4t4c-l2-ndrdisc.html"></iframe>
+
+*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy L2 Ethernet
+Switching.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-4t4c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *
+
+ 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc
+ 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-dot1ad-l2xcbase-ndrdisc
+ 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-dot1q-l2xcbase-ndrdisc
+ 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc
+ 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc
+ 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc
+ 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc
+ 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc
+ 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc
+
+PDR Throughput
+~~~~~~~~~~~~~~
+
+VPP PDR Throughput - running in configuration of **one worker thread (1t) on one
+physical core (1c)** - is presented in the figure below. PDR at below 0.5% packet
+loss ratio.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-pdrdisc.html"></iframe>
+
+*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy L2 Ethernet
+Switching.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *
+
+ 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
+ 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-dot1ad-l2xcbase-pdrdisc
+ 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-dot1q-l2xcbase-pdrdisc
+ 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
+ 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-pdrdisc
+ 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
+ 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
+
+VPP PDR Throughput - running in configuration of **two worker threads (2t) on
+two physical cores (2c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-pdrdisc.html"></iframe>
+
+*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy L2 Ethernet
+Switching.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *
+
+ 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
+ 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-dot1ad-l2xcbase-pdrdisc
+ 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-dot1q-l2xcbase-pdrdisc
+ 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
+ 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-pdrdisc
+ 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
+ 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
+
+VPP PDR Throughput - running in configuration of **four worker threads (4t) on
+four physical cores (4c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-4t4c-l2-pdrdisc.html"></iframe>
+
+*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy L2 Ethernet
+Switching.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-4t4c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *
+
+ 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc
+ 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-dot1ad-l2xcbase-pdrdisc
+ 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-dot1q-l2xcbase-pdrdisc
+ 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc
+ 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-eth-l2xcbase-pdrdisc
+ 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc
+
diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/vm_vhost.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/vm_vhost.rst
new file mode 100644
index 0000000000..b5bc0dd5a3
--- /dev/null
+++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/vm_vhost.rst
@@ -0,0 +1,191 @@
+VM vhost Connections
+====================
+
+Following sections provide a summary of VPP Phy-to-VM-to-Phy VM vhost-user
+performance illustrating NDR throughput (zero packet loss) and PDR throughput
+(<0.5% packet loss). Performance is reported for VPP running in multiple
+configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and
+their physical CPU core(s) placement.
+
+Title of each graph is a regex (regular expression) matching all plotted
+test case throughput measurements.
+
+.. note::
+
+ Data sources for reported test results: i) FD.io test executor jobs
+ `csit-vpp-perf-1701-all
+ <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-all/>`_ and
+ `csit-vpp-perf-1701-long
+ <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-long/>`_
+ , ii) archived FD.io jobs test result `output files
+ <../../_static/archive/>`_.
+
+NDR Throughput
+~~~~~~~~~~~~~~
+
+VPP NDR Throughput - running in configuration of **one worker thread (1t) on one
+physical core (1c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-ndrdisc.html"></iframe>
+
+*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-VM-to-Phy VM
+vhost-user.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-1t1c-.*vhost.*-ndrdisc" *
+
+ 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+ 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+
+VPP NDR Throughput - running in configuration of **two worker threads (2t) on
+two physical cores (2c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-ndrdisc.html"></iframe>
+
+*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-VM-to-Phy VM
+vhost-user.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-2t2c-.*vhost.*-ndrdisc" *
+
+ 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+ 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+
+VPP NDR Throughput - running in configuration of **four worker threads (4t) on
+four physical cores (4c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-4t4c-vhost-ndrdisc.html"></iframe>
+
+*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-VM-to-Phy VM
+vhost-user.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-4t4c-.*vhost.*-ndrdisc" *
+
+ 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc
+ 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+ 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
+
+PDR Throughput
+~~~~~~~~~~~~~~
+
+VPP PDR Throughput - running in configuration of **one worker thread (1t) on one
+physical core (1c)** - is presented in the figure below. PDR at below 0.5%
+packet loss ratio.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-pdrdisc.html"></iframe>
+
+*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-VM-to-Phy VM
+vhost-user.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-1t1c-.*vhost.*-pdrdisc" *
+
+ 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+ 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+
+VPP PDR Throughput - running in configuration of **two worker threads (2t) on
+two physical cores (2c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-pdrdisc.html"></iframe>
+
+*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-VM-to-Phy VM
+vhost-user.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-2t2c-.*vhost.*-pdrdisc" *
+
+ 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+ 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+
+VPP PDR Throughput - running in configuration of **four worker threads (4t) on
+four physical cores (4c)** - is presented in the figure below.
+
+.. raw:: html
+
+ <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-4t4c-vhost-pdrdisc.html"></iframe>
+
+*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-VM-to-Phy VM
+vhost-user.*
+
+CSIT test cases used to generate results presented above can be found in CSIT
+git repository by filtering with specified regex as follows:
+
+.. code-block:: bash
+
+ $ csit/tests/perf
+ $ grep -E "64B-4t4c-.*vhost.*-pdrdisc" *
+
+ 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc
+ 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+ 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
+