CSIT-1208: Add new data to 1807 report
[csit.git] / docs / report / vpp_performance_tests / packet_throughput_graphs / l2.rst
index 3e1d645..3322b90 100644 (file)
+
+.. raw:: latex
+
+    \clearpage
+
 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.
+Following sections include summary graphs of VPP Phy-to-Phy performance
+with L2 Ethernet switching, including 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.
+
+CSIT source code for the test cases used for plots can be found in
+`CSIT git repository <https://git.fd.io/csit/tree/tests/vpp/perf/l2?h=rls1807>`_.
+
+3n-hsw-x520
+~~~~~~~~~~~
+
+64b-1t1c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-ndr}
+            \label{fig:l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-pdr}
+            \label{fig:l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+64b-2t2c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-ndr}
+            \label{fig:l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-pdr}
+            \label{fig:l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+64b-1t1c-features
+-----------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-hsw-x520-64b-1t1c-features-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x520-64b-1t1c-features-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x520-64b-1t1c-features-ndr}
+            \label{fig:l2sw-3n-hsw-x520-64b-1t1c-features-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-3n-hsw-x520-64b-1t1c-features-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x520-64b-1t1c-features-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x520-64b-1t1c-features-pdr}
+            \label{fig:l2sw-3n-hsw-x520-64b-1t1c-features-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+64b-2t2c-features
+-----------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-hsw-x520-64b-2t2c-features-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x520-64b-2t2c-features-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x520-64b-2t2c-features-ndr}
+            \label{fig:l2sw-3n-hsw-x520-64b-2t2c-features-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-3n-hsw-x520-64b-2t2c-features-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x520-64b-2t2c-features-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x520-64b-2t2c-features-pdr}
+            \label{fig:l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-features}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+3n-hsw-x710
+~~~~~~~~~~~
+
+64b-1t1c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
 
-*Title of each graph* is a regex (regular expression) matching all plotted
-throughput test cases, *X-axis labels* are indeces of csit-vpp-perf-1704 jobs
-that created result output files used as data sources for the graph,
-*Y-axis labels* are measured Packets Per Second [pps] values, and the *graph
-legend* identifes the plotted test suites.
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-ndr}
+            \label{fig:l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-ndr}
+    \end{figure}
 
-.. note::
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-pdr}
+            \label{fig:l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+64b-2t2c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-ndr}
+            \label{fig:l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
 
-    Data sources for reported test results: i) FD.io test executor jobs
-    `csit-vpp-perf-1704-all
-    <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1704-all/>`_ ,
-    ii) archived FD.io jobs test result `output files
-    <../../_static/archive/>`_.
+:index:`Throughput: l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-pdr`
 
-NDR Throughput
-~~~~~~~~~~~~~~
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-pdr}
+            \label{fig:l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+64b-1t1c-features
+-----------------
 
-VPP NDR Throughput - running in configuration of **one worker thread (1t) on
-one physical core (1c)** - is presented in the figure below.
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-hsw-x710-64b-1t1c-features-ndr`
 
 .. raw:: html
 
-    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-ndrdisc.html"></iframe>
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x710-64b-1t1c-features-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
 
-*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
-Switching.*
+.. raw:: latex
 
-CSIT test cases used to generate results presented above can be found in CSIT
-git repository by filtering with specified regex as follows:
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x710-64b-1t1c-features-ndr}
+            \label{fig:l2sw-3n-hsw-x710-64b-1t1c-features-ndr}
+    \end{figure}
 
-.. code-block:: bash
+.. raw:: html
 
-    $ csit/tests/perf
-    $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *
+    <center><b>
 
-    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
+.. raw:: latex
 
-VPP NDR Throughput - running in configuration of **two worker threads (2t) on two
-physical cores (2c)** - is presented in the figure below.
+    \clearpage
+
+:index:`Throughput: l2sw-3n-hsw-x710-64b-1t1c-features-pdr`
 
 .. raw:: html
 
-    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-ndrdisc.html"></iframe>
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x710-64b-1t1c-features-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
 
-*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy L2 Ethernet
-Switching.*
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x710-64b-1t1c-features-pdr}
+            \label{fig:l2sw-3n-hsw-x710-64b-1t1c-features-pdr}
+    \end{figure}
 
-CSIT test cases used to generate results presented above can be found in CSIT
-git repository by filtering with specified regex as follows:
+.. raw:: latex
 
-.. code-block:: bash
+    \clearpage
 
-    $ csit/tests/perf
-    $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *
+64b-2t2c-features
+-----------------
 
-    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
+.. raw:: html
 
-PDR Throughput
-~~~~~~~~~~~~~~
+    <center><b>
 
-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.
+:index:`Throughput: l2sw-3n-hsw-x710-64b-2t2c-features-ndr`
 
 .. raw:: html
 
-    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-pdrdisc.html"></iframe>
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x710-64b-2t2c-features-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
 
-*Figure 3. VPP 1thread 1core - PDR Throughput for Phy-to-Phy L2 Ethernet
-Switching.*
+.. raw:: latex
 
-CSIT test cases used to generate results presented above can be found in CSIT
-git repository by filtering with specified regex as follows:
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x710-64b-2t2c-features-ndr}
+            \label{fig:l2sw-3n-hsw-x710-64b-2t2c-features-ndr}
+    \end{figure}
 
-.. code-block:: bash
+.. raw:: html
+
+    <center><b>
 
-    $ csit/tests/perf
-    $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *
+.. raw:: latex
 
-    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
+    \clearpage
 
-VPP PDR Throughput - running in configuration of **two worker threads (2t) on
-two physical cores (2c)** - is presented in the figure below.
+:index:`Throughput: l2sw-3n-hsw-x710-64b-2t2c-features-pdr`
 
 .. raw:: html
 
-    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-pdrdisc.html"></iframe>
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-x710-64b-2t2c-features-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-x710-64b-2t2c-features-pdr}
+            \label{fig:l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-features}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+3n-hsw-xl710
+~~~~~~~~~~~~
+
+64b-1t1c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-ndr}
+            \label{fig:l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-pdr}
+            \label{fig:l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+64b-2t2c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-ndr}
+            \label{fig:l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-pdr}
+            \label{fig:l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+3n-skx-x710
+~~~~~~~~~~~
+
+64b-2t1c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-skx-x710-64b-2t1c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-skx-x710-64b-2t1c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-skx-x710-64b-2t1c-base_and_scale-ndr}
+            \label{fig:l2sw-3n-skx-x710-64b-2t1c-base_and_scale-ndr}
+    \end{figure}
+
+.. raw:: html
 
-*Figure 4. VPP 2thread 2core - PDR Throughput for Phy-to-Phy L2 Ethernet
-Switching.*
+    <center><b>
 
-CSIT test cases used to generate results presented above can be found in CSIT
-git repository by filtering with specified regex as follows:
+.. raw:: latex
 
-.. code-block:: bash
+    \clearpage
+
+:index:`Throughput: l2sw-3n-skx-x710-64b-2t1c-base_and_scale-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-skx-x710-64b-2t1c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-skx-x710-64b-2t1c-base_and_scale-pdr}
+            \label{fig:l2sw-3n-skx-x710-64b-2t1c-base_and_scale-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+64b-4t2c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-skx-x710-64b-4t2c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-skx-x710-64b-4t2c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-skx-x710-64b-4t2c-base_and_scale-ndr}
+            \label{fig:l2sw-3n-skx-x710-64b-4t2c-base_and_scale-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-3n-skx-x710-64b-4t2c-base_and_scale-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-skx-x710-64b-4t2c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-skx-x710-64b-4t2c-base_and_scale-pdr}
+            \label{fig:l2sw-3n-skx-x710-64b-4t2c-base_and_scale-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+64b-2t1c-features
+-----------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-skx-x710-64b-2t1c-features-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-skx-x710-64b-2t1c-features-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-skx-x710-64b-2t1c-features-ndr}
+            \label{fig:l2sw-3n-skx-x710-64b-2t1c-features-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-3n-skx-x710-64b-2t1c-features-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-skx-x710-64b-2t1c-features-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-skx-x710-64b-2t1c-features-pdr}
+            \label{fig:l2sw-3n-skx-x710-64b-2t1c-features-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+64b-4t2c-features
+-----------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-skx-x710-64b-4t2c-features-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-skx-x710-64b-4t2c-features-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-skx-x710-64b-4t2c-features-ndr}
+            \label{fig:l2sw-3n-skx-x710-64b-4t2c-features-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-3n-skx-x710-64b-4t2c-features-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-skx-x710-64b-4t2c-features-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-skx-x710-64b-4t2c-features-pdr}
+            \label{fig:l2sw-3n-skx-x710-64b-4t2c-base_and_scale-features}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+3n-skx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-skx-xxv710-64b-2t1c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-skx-xxv710-64b-2t1c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-skx-xxv710-64b-2t1c-base_and_scale-ndr}
+            \label{fig:l2sw-3n-skx-xxv710-64b-2t1c-base_and_scale-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-3n-skx-xxv710-64b-2t1c-base_and_scale-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-skx-xxv710-64b-2t1c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-skx-xxv710-64b-2t1c-base_and_scale-pdr}
+            \label{fig:l2sw-3n-skx-xxv710-64b-2t1c-base_and_scale-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+64b-4t2c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-3n-skx-xxv710-64b-4t2c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-skx-xxv710-64b-4t2c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-skx-xxv710-64b-4t2c-base_and_scale-ndr}
+            \label{fig:l2sw-3n-skx-xxv710-64b-4t2c-base_and_scale-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-3n-skx-xxv710-64b-4t2c-base_and_scale-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-3n-skx-xxv710-64b-4t2c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-3n-skx-xxv710-64b-4t2c-base_and_scale-pdr}
+            \label{fig:l2sw-3n-skx-xxv710-64b-4t2c-base_and_scale-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+2n-skx-x710
+~~~~~~~~~~~
+
+64b-2t1c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-2n-skx-x710-64b-2t1c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-2n-skx-x710-64b-2t1c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-2n-skx-x710-64b-2t1c-base_and_scale-ndr}
+            \label{fig:l2sw-2n-skx-x710-64b-2t1c-base_and_scale-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-2n-skx-x710-64b-2t1c-base_and_scale-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-2n-skx-x710-64b-2t1c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-2n-skx-x710-64b-2t1c-base_and_scale-pdr}
+            \label{fig:l2sw-2n-skx-x710-64b-2t1c-base_and_scale-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+64b-4t2c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-2n-skx-x710-64b-4t2c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-2n-skx-x710-64b-4t2c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-2n-skx-x710-64b-4t2c-base_and_scale-ndr}
+            \label{fig:l2sw-2n-skx-x710-64b-4t2c-base_and_scale-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-2n-skx-x710-64b-4t2c-base_and_scale-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-2n-skx-x710-64b-4t2c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-2n-skx-x710-64b-4t2c-base_and_scale-pdr}
+            \label{fig:l2sw-2n-skx-x710-64b-4t2c-base_and_scale-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+2n-skx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-2n-skx-xxv710-64b-2t1c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-2n-skx-xxv710-64b-2t1c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-2n-skx-xxv710-64b-2t1c-base_and_scale-ndr}
+            \label{fig:l2sw-2n-skx-xxv710-64b-2t1c-base_and_scale-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-2n-skx-xxv710-64b-2t1c-base_and_scale-pdr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-2n-skx-xxv710-64b-2t1c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-2n-skx-xxv710-64b-2t1c-base_and_scale-pdr}
+            \label{fig:l2sw-2n-skx-xxv710-64b-2t1c-base_and_scale-pdr}
+    \end{figure}
+
+.. raw:: latex
+
+    \clearpage
+
+64b-4t2c-base_and_scale
+-----------------------
+
+.. raw:: html
+
+    <center><b>
+
+:index:`Throughput: l2sw-2n-skx-xxv710-64b-4t2c-base_and_scale-ndr`
+
+.. raw:: html
+
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-2n-skx-xxv710-64b-4t2c-base_and_scale-ndr.html"></iframe>
+    <p><br><br></p>
+    </center>
+
+.. raw:: latex
+
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-2n-skx-xxv710-64b-4t2c-base_and_scale-ndr}
+            \label{fig:l2sw-2n-skx-xxv710-64b-4t2c-base_and_scale-ndr}
+    \end{figure}
+
+.. raw:: html
+
+    <center><b>
+
+.. raw:: latex
+
+    \clearpage
+
+:index:`Throughput: l2sw-2n-skx-xxv710-64b-4t2c-base_and_scale-pdr`
+
+.. raw:: html
 
-    $ csit/tests/perf
-    $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *
+    </b>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/l2sw-2n-skx-xxv710-64b-4t2c-base_and_scale-pdr.html"></iframe>
+    <p><br><br></p>
+    </center>
 
-    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
+.. raw:: latex
 
+    \begin{figure}[H]
+        \centering
+            \graphicspath{{../_build/_static/vpp/}}
+            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{l2sw-2n-skx-xxv710-64b-4t2c-base_and_scale-pdr}
+            \label{fig:l2sw-2n-skx-xxv710-64b-4t2c-base_and_scale-pdr}
+    \end{figure}