aboutsummaryrefslogtreecommitdiffstats
path: root/docs/report
diff options
context:
space:
mode:
authorTibor Frank <tifrank@cisco.com>2020-01-15 11:15:14 +0100
committerTibor Frank <tifrank@cisco.com>2020-01-15 13:47:51 +0000
commitaf940b4664f4778ac4857cbdea6eed16ab2722f7 (patch)
treeb52247f3036f0b48d84e846bbf54424c0a448582 /docs/report
parentc5e84fbee876a45d3495cde6f4e2d8140cacbe5a (diff)
Report: Add Latency by Percentile Distribution
Change-Id: I5291db8117da611497e910aa7cd2fbb2276bfe65 Signed-off-by: Tibor Frank <tifrank@cisco.com>
Diffstat (limited to 'docs/report')
-rw-r--r--docs/report/index.html.template1
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-2n-clx-xxv710.rst105
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-2n-skx-xxv710.rst105
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-3n-skx-xxv710.rst106
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-3n-tsh-x520.rst112
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif.rst23
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/index.rst39
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-clx-x710.rst106
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-clx-xxv710.rst259
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-skx-x710.rst106
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-skx-xxv710.rst259
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-hsw-xl710.rst104
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-skx-x710.rst106
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-skx-xxv710.rst258
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-tsh-x520.rst195
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4.rst27
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels-3n-hsw-xl710.rst103
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels-3n-skx-xxv710.rst104
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels-3n-tsh-x520.rst109
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels.rst22
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-clx-x710.rst103
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-clx-xxv710.rst106
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-skx-x710.rst103
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-skx-xxv710.rst106
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-hsw-xl710.rst104
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-skx-x710.rst103
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-skx-xxv710.rst106
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-tsh-x520.rst112
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6.rst27
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec-3n-hsw-xl710.rst182
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec-3n-skx-xxv710.rst107
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec-3n-tsh-x520.rst115
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec.rst25
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-clx-x710.rst107
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-clx-xxv710.rst257
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-skx-x710.rst107
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-skx-xxv710.rst257
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-hsw-xl710.rst107
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-skx-x710.rst107
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-skx-xxv710.rst335
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-tsh-x520.rst278
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2.rst27
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6-3n-hsw-xl710.rst107
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6-3n-skx-xxv710.rst107
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6-3n-tsh-x520.rst114
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6.rst22
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-2n-clx-xxv710.rst184
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-2n-skx-xxv710.rst184
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-hsw-xl710.rst184
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-skx-x710.rst186
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-skx-xxv710.rst347
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-tsh-x520.rst192
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost.rst26
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vts-2n-clx-xxv710.rst104
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vts-2n-skx-xxv710.rst104
-rw-r--r--docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vts.rst22
-rw-r--r--docs/report/vpp_performance_tests/index.rst1
57 files changed, 7014 insertions, 0 deletions
diff --git a/docs/report/index.html.template b/docs/report/index.html.template
index afcc5c7836..80a18de50b 100644
--- a/docs/report/index.html.template
+++ b/docs/report/index.html.template
@@ -21,6 +21,7 @@ CSIT-2001
vpp_performance_tests/throughput_speedup_multi_core/index
vpp_performance_tests/packet_latency_graphs/index
vpp_performance_tests/hdrh_packet_latency_graphs/index
+ vpp_performance_tests/hdrh_packet_latency_percentile_graphs/index
vpp_performance_tests/soak_tests/index
vpp_performance_tests/reconf_tests/index
vpp_performance_tests/nf_service_density/index
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-2n-clx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-2n-clx-xxv710.rst
new file mode 100644
index 0000000000..5c8e4a3dee
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-2n-clx-xxv710.rst
@@ -0,0 +1,105 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-clx-xxv710
+ ### 64b-?t?c-memif-base-i40e
+ 2n1l-10ge2p1xxv710-eth-l2xcbase-eth-2memif-1dcr-ndrpdr
+ 2n1l-10ge2p1xxv710-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4-ip4base-eth-2memif-1dcr-ndrpdr
+
+2n-clx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-memif-base-i40e
+------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-memif-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-2t1c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-2t1c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-memif-base-i40e
+------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-4t2c-memif-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-4t2c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-4t2c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-memif-base-i40e
+------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-8t4c-memif-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-8t4c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-8t4c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-2n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-2n-skx-xxv710.rst
new file mode 100644
index 0000000000..f5952a67c1
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-2n-skx-xxv710.rst
@@ -0,0 +1,105 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-skx-xxv710
+ ### 64b-?t?c-memif-base-i40e
+ 2n1l-10ge2p1xxv710-eth-l2xcbase-eth-2memif-1dcr-ndrpdr
+ 2n1l-10ge2p1xxv710-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4-ip4base-eth-2memif-1dcr-ndrpdr
+
+2n-skx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-memif-base-i40e
+------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-2t1c-memif-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-2t1c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-2t1c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-memif-base-i40e
+------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-4t2c-memif-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-4t2c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-4t2c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-memif-base-i40e
+------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-8t4c-memif-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-8t4c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-8t4c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-3n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-3n-skx-xxv710.rst
new file mode 100644
index 0000000000..d8ada70388
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-3n-skx-xxv710.rst
@@ -0,0 +1,106 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-skx-xxv710
+ ### 64b-?t?c-memif-base-i40e
+ 10ge2p1xxv710-eth-l2xcbase-eth-2memif-1lxc-ndrpdr
+ 10ge2p1xxv710-eth-l2xcbase-eth-2memif-1dcr-ndrpdr
+ 10ge2p1xxv710-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr
+ 10ge2p1xxv710-eth-l2bdbasemaclrn-eth-2memif-1lxc-ndrpdr
+ 10ge2p1xxv710-ethip4-ip4base-eth-2memif-1dcr-ndrpdr
+
+3n-skx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-memif-base-i40e
+------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-memif-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-memif-base-i40e
+------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-4t2c-memif-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-4t2c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-4t2c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-memif-base-i40e
+------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-8t4c-memif-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-8t4c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-8t4c-memif-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-3n-tsh-x520.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-3n-tsh-x520.rst
new file mode 100644
index 0000000000..7f5c3133cd
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif-3n-tsh-x520.rst
@@ -0,0 +1,112 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-tsh-x520
+ ### 64b-?t?c-memif-base-ixgbe
+ 10ge2p1x520-eth-l2xcbase-eth-2memif-1lxc-ndrpdr
+ 10ge2p1x520-eth-l2xcbase-eth-2memif-1dcr-ndrpdr
+ 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr
+ 10ge2p1x520-eth-l2bdbasemaclrn-eth-2memif-1lxc-ndrpdr
+ 10ge2p1x520-ethip4-ip4base-eth-2memif-1dcr-ndrpdr
+
+ Tests.Vpp.Perf.Container Memif.10Ge2P1X520-Eth-L2Xcbase-Eth-2Memif-1Lxc-Ndrpdr.64B-1t1c-eth-l2xcbase-eth-2memif-1lxc-ndrpdr
+ Tests.Vpp.Perf.Container Memif.10Ge2P1X520-Eth-L2Xcbase-Eth-2Memif-1Dcr-Ndrpdr.64B-1t1c-eth-l2xcbase-eth-2memif-1dcr-ndrpdr
+ Tests.Vpp.Perf.Container Memif.10Ge2P1X520-Dot1Q-L2Bdbasemaclrn-Eth-2Memif-1Dcr-Ndrpdr.64B-1t1c-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr
+ Tests.Vpp.Perf.Container Memif.10Ge2P1X520-Eth-L2Bdbasemaclrn-Eth-2Memif-1Lxc-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-eth-2memif-1lxc-ndrpdr
+ Tests.Vpp.Perf.Container Memif.10Ge2P1X520-Ethip4-Ip4Base-Eth-2Memif-1Dcr-Ndrpdr.64B-1t1c-ethip4-ip4base-eth-2memif-1dcr-ndrpdr
+
+3n-tsh-x520
+~~~~~~~~~~~
+
+64b-1t1c-memif-base-ixgbe
+-------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-1t1c-memif-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-1t1c-memif-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-1t1c-memif-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-memif-base-ixgbe
+-------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-2t2c-memif-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-2t2c-memif-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-2t2c-memif-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-memif-base-ixgbe
+-------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-4t4c-memif-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-4t4c-memif-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-4t4c-memif-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif.rst
new file mode 100644
index 0000000000..3ad329f41a
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/container_memif.rst
@@ -0,0 +1,23 @@
+
+.. raw:: latex
+
+ \clearpage
+
+LXC/DRC Container Memif
+=======================
+
+This section includes summary graphs of VPP Phy-to-Phy packet latency
+with Container memif Connections measured at 100% of discovered NDR throughput
+rate. Latency 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/container_memif?h=rls2001>`_.
+
+.. toctree::
+
+ container_memif-2n-skx-xxv710
+ container_memif-3n-skx-xxv710
+ container_memif-2n-clx-xxv710
+ container_memif-3n-tsh-x520
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/index.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/index.rst
new file mode 100644
index 0000000000..a85699437d
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/index.rst
@@ -0,0 +1,39 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. _VPP_HDRH_Packet_Latency_Percentile:
+
+Latency by Percentile Distribution
+==================================
+
+Latency results are generated from a single execution of NDR discovery
+test across physical testbeds hosted LF FD.io labs: 3n-hsw, 2n-skx, 3n-
+skx, 3n-tsh, 2n-clx.
+
+.. note::
+
+ Test results have been generated by
+ `FD.io test executor vpp performance job 2n-skx`_,
+ `FD.io test executor vpp performance job 3n-skx`_,
+ `FD.io test executor vpp performance job 2n-skx`_,
+ `FD.io test executor vpp performance job 3n-hsw`_ and
+ `FD.io test executor vpp performance job 3n-tsh`_ with RF
+ result files csit-vpp-perf-|srelease|-\*.zip
+ `archived here <../../_static/archive/>`_.
+
+.. toctree::
+ :maxdepth: 3
+
+ l2
+ ip4
+ ip6
+ srv6
+ ip4_tunnels
+ vm_vhost
+ container_memif
+
+..
+ ipsec
+ vts
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-clx-x710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-clx-x710.rst
new file mode 100644
index 0000000000..4728a9a7ea
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-clx-x710.rst
@@ -0,0 +1,106 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-clx-x710
+ ### 64b-?t?c-ip4routing-base-scale-avf-i40e
+ 2n1l-10ge2p1x710-avf-ethip4-ip4base-ndrpdr
+ 2n1l-10ge2p1x710-avf-ethip4-ip4scale2m-ndrpdr
+ 2n1l-10ge2p1x710-dot1q-ip4base-ndrpdr
+ 2n1l-10ge2p1x710-ethip4-ip4base-ndrpdr
+ 2n1l-10ge2p1x710-ethip4-ip4scale2m-ndrpdr
+
+2n-clx-x710
+~~~~~~~~~~~
+
+64b-2t1c-ip4routing-base-scale-avf-i40e
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-x710-64b-2t1c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-x710-64b-2t1c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-x710-64b-2t1c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-ip4routing-base-scale-avf-i40e
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-x710-64b-4t2c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-x710-64b-4t2c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-x710-64b-4t2c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-ip4routing-base-scale-avf-i40e
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-x710-64b-8t4c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-x710-64b-8t4c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-x710-64b-8t4c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-clx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-clx-xxv710.rst
new file mode 100644
index 0000000000..ea50d8dc3b
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-clx-xxv710.rst
@@ -0,0 +1,259 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-clx-xxv710
+ ### 64b-?t?c-ip4routing-base-scale-avf
+ 2n1l-10ge2p1xxv710-avf-dot1q-ip4base-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-ethip4-ip4base-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-ethip4-ip4scale20k-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-ethip4-ip4scale200k-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-ethip4-ip4scale2m-ndrpdr
+
+ ### 64b-?t?c-ip4routing-base-scale-i40e
+ 2n1l-10ge2p1xxv710-dot1q-ip4base-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4-ip4base-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4-ip4scale20k-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4-ip4scale200k-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4-ip4scale2m-ndrpdr
+
+ ### 64b-?t?c-features-ip4routing-base-i40e
+ 2n1l-10ge2p1xxv710-ethip4-ip4base-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4udp-ip4base-nat44-ndrpdr
+
+2n-clx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-ip4routing-base-scale-avf
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-ip4routing-base-scale-avf
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-4t2c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-4t2c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-4t2c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-ip4routing-base-scale-avf
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-8t4c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-8t4c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-8t4c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-ip4routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-2t1c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-ip4routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-4t2c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-4t2c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-4t2c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-ip4routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-8t4c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-8t4c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-8t4c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-features-ip4routing-base-i40e
+--------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="21" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-2t1c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-2t1c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-features-ip4routing-base-i40e
+--------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="22" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-4t2c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-4t2c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-4t2c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-features-ip4routing-base-i40e
+--------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="23" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-8t4c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-8t4c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-8t4c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-skx-x710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-skx-x710.rst
new file mode 100644
index 0000000000..f2c97d4038
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-skx-x710.rst
@@ -0,0 +1,106 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-skx-x710
+ ### 64b-?t?c-ip4routing-base-scale-avf-i40e
+ 2n1l-10ge2p1x710-avf-ethip4-ip4base-ndrpdr
+ 2n1l-10ge2p1x710-avf-ethip4-ip4scale2m-ndrpdr
+ 2n1l-10ge2p1x710-dot1q-ip4base-ndrpdr
+ 2n1l-10ge2p1x710-ethip4-ip4base-ndrpdr
+ 2n1l-10ge2p1x710-ethip4-ip4scale2m-ndrpdr
+
+2n-skx-x710
+~~~~~~~~~~~
+
+64b-2t1c-ip4routing-base-scale-avf-i40e
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-x710-64b-2t1c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-x710-64b-2t1c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-x710-64b-2t1c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-ip4routing-base-scale-avf-i40e
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-x710-64b-4t2c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-x710-64b-4t2c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-x710-64b-4t2c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-ip4routing-base-scale-avf-i40e
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-x710-64b-8t4c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-x710-64b-8t4c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-x710-64b-8t4c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-skx-xxv710.rst
new file mode 100644
index 0000000000..82ebe6320f
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-2n-skx-xxv710.rst
@@ -0,0 +1,259 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-skx-xxv710
+ ### 64b-?t?c-ip4routing-base-scale-avf
+ 2n1l-10ge2p1xxv710-avf-dot1q-ip4base-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-ethip4-ip4base-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-ethip4-ip4scale20k-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-ethip4-ip4scale200k-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-ethip4-ip4scale2m-ndrpdr
+
+ ### 64b-?t?c-ip4routing-base-scale-i40e
+ 2n1l-10ge2p1xxv710-dot1q-ip4base-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4-ip4base-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4-ip4scale20k-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4-ip4scale200k-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4-ip4scale2m-ndrpdr
+
+ ### 64b-?t?c-features-ip4routing-base-i40e
+ 2n1l-10ge2p1xxv710-ethip4-ip4base-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4udp-ip4base-nat44-ndrpdr
+
+2n-skx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-ip4routing-base-scale-avf
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-2t1c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-2t1c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-2t1c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-ip4routing-base-scale-avf
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-4t2c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-4t2c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-4t2c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-ip4routing-base-scale-avf
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-8t4c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-8t4c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-8t4c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-ip4routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-2t1c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-2t1c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-2t1c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-ip4routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-4t2c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-4t2c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-4t2c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-ip4routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-8t4c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-8t4c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-8t4c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-features-ip4routing-base-i40e
+--------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="21" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-2t1c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-2t1c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-2t1c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-features-ip4routing-base-i40e
+--------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="22" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-4t2c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-4t2c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-4t2c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-features-ip4routing-base-i40e
+--------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="23" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-8t4c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-8t4c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-8t4c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-hsw-xl710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-hsw-xl710.rst
new file mode 100644
index 0000000000..2f218d47db
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-hsw-xl710.rst
@@ -0,0 +1,104 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-hsw-xl710
+ ### 64b-?t?c-ip4routing-base-scale-i40e
+ 10ge2p1xl710-dot1q-ip4base-ndrpdr
+ 10ge2p1xl710-ethip4-ip4base-ndrpdr
+ 10ge2p1xl710-ethip4-ip4scale2m-ndrpdr
+
+3n-hsw-xl710
+~~~~~~~~~~~~
+
+64b-1t1c-ip4routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-1t1c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-64b-1t1c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-64b-1t1c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-ip4routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-2t2c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-64b-2t2c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-64b-2t2c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-ip4routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-4t4c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-64b-4t4c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-64b-4t4c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-skx-x710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-skx-x710.rst
new file mode 100644
index 0000000000..7941ae9319
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-skx-x710.rst
@@ -0,0 +1,106 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-skx-x710
+ ### 64b-?t?c-ip4routing-base-scale-avf-i40e
+ 10ge2p1x710-avf-ethip4-ip4base-ndrpdr
+ 10ge2p1x710-avf-ethip4-ip4scale2m-ndrpdr
+ 10ge2p1x710-dot1q-ip4base-ndrpdr
+ 10ge2p1x710-ethip4-ip4base-ndrpdr
+ 10ge2p1x710-ethip4-ip4scale2m-ndrpdr
+
+3n-skx-x710
+~~~~~~~~~~~
+
+64b-2t1c-ip4routing-base-scale-avf-i40e
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-64b-2t1c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ip4-3n-skx-x710-64b-2t1c-base_and_scale-ndr-hdrh-lat-percentile}
+ \label{fig:ip4-3n-skx-x710-64b-2t1c-base_and_scale-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-ip4routing-base-scale-avf-i40e
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-64b-4t2c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ip4-3n-skx-x710-64b-4t2c-base_and_scale-ndr-hdrh-lat-percentile}
+ \label{fig:ip4-3n-skx-x710-64b-4t2c-base_and_scale-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-ip4routing-base-scale-avf-i40e
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-64b-8t4c-ip4routing-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ip4-3n-skx-x710-64b-8t4c-base_and_scale-ndr-hdrh-lat-percentile}
+ \label{fig:ip4-3n-skx-x710-64b-8t4c-base_and_scale-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-skx-xxv710.rst
new file mode 100644
index 0000000000..9150dce86c
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-skx-xxv710.rst
@@ -0,0 +1,258 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-skx-xxv710
+ ### 64b-?t?c-ip4routing-base-scale-avf
+ 10ge2p1xxv710-avf-eth-ip4base-ndrpdr
+ 10ge2p1xxv710-avf-ethip4-ip4scale20k-ndrpdr
+ 10ge2p1xxv710-avf-ethip4-ip4scale200k-ndrpdr
+ 10ge2p1xxv710-avf-ethip4-ip4scale2m-ndrpdr
+
+ ### 64b-?t?c-ip4routing-base-scale-i40e
+ 10ge2p1xxv710-dot1q-ip4base-ndrpdr
+ 10ge2p1xxv710-ethip4-ip4base-ndrpdr
+ 10ge2p1xxv710-ethip4-ip4scale20k-ndrpdr
+ 10ge2p1xxv710-ethip4-ip4scale200k-ndrpdr
+ 10ge2p1xxv710-ethip4-ip4scale2m-ndrpdr
+
+ ### 64b-?t?c-features-ip4routing-base-i40e
+ 10ge2p1xxv710-ethip4-ip4base-ndrpdr
+ 10ge2p1xxv710-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr
+ 10ge2p1xxv710-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr
+ 10ge2p1xxv710-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr
+ 10ge2p1xxv710-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr
+ 10ge2p1xxv710-ethip4udp-ip4base-nat44-ndrpdr
+
+3n-skx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-ip4routing-base-scale-avf
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-ip4routing-base-scale-avf
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-4t2c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-4t2c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-4t2c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-ip4routing-base-scale-avf
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-8t4c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-8t4c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-8t4c-ip4routing-base-scale-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-ip4routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-ip4routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-4t2c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-4t2c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-4t2c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-ip4routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-8t4c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-8t4c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-8t4c-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-features-ip4routing-base-i40e
+--------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="21" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-features-ip4routing-base-i40e
+--------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="22" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-features-ip4routing-base-i40e
+--------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="23" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-8t4c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-8t4c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-8t4c-features-ip4routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-tsh-x520.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-tsh-x520.rst
new file mode 100644
index 0000000000..9816d24213
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4-3n-tsh-x520.rst
@@ -0,0 +1,195 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ### 64b-?t?c-ip4routing-base-scale-ixgbe
+ 10ge2p1x520-dot1q-ip4base-ndrpdr
+ 10ge2p1x520-ethip4-ip4base-ndrpdr
+ 10ge2p1x520-ethip4-ip4scale20k-ndrpdr
+ 10ge2p1x520-ethip4-ip4scale200k-ndrpdr
+ 10ge2p1x520-ethip4-ip4scale2m-ndrpdr
+
+ Tests.Vpp.Perf.Ip4.10Ge2P1X520-Dot1Q-Ip4Base-Ndrpdr.64B-1t1c-dot1q-ip4base-ndrpdr
+ Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4-Ip4Base-Ndrpdr.64B-1t1c-ethip4-ip4base-ndrpdr
+ Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4-Ip4Scale20K-Ndrpdr.64B-1t1c-ethip4-ip4scale20k-ndrpdr
+ Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4-Ip4Scale200K-Ndrpdr.64B-1t1c-ethip4-ip4scale200k-ndrpdr
+ Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4-Ip4Scale2M-Ndrpdr.64B-1t1c-ethip4-ip4scale2m-ndrpdr
+
+ ### 64b-?t?c-features-ip4routing-base-ixgbe
+ 10ge2p1x520-ethip4-ip4base-ndrpdr
+ 10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr
+ 10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr
+ 10ge2p1x520-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr
+ 10ge2p1x520-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr
+ 10ge2p1x520-ethip4udp-ip4base-nat44-ndrpdr
+
+ Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4-Ip4Base-Ndrpdr.64B-1t1c-ethip4-ip4base-ndrpdr
+ Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4Udp-Ip4Base-Iacl50Sf-10Kflows-Ndrpdr.64B-1t1c-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr
+ Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4Udp-Ip4Base-Iacl50Sl-10Kflows-Ndrpdr.64B-1t1c-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr
+ Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4Udp-Ip4Base-Oacl50Sf-10Kflows-Ndrpdr.64B-1t1c-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr
+ Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4Udp-Ip4Base-Oacl50Sl-10Kflows-Ndrpdr.64B-1t1c-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr
+ Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4Udp-Ip4Base-Nat44-Ndrpdr.64B-1t1c-ethip4udp-ip4base-nat44-ndrpdr
+
+3n-tsh-x520
+~~~~~~~~~~~
+
+64b-1t1c-ip4routing-base-scale-ixgbe
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-1t1c-ip4routing-base-scale-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-1t1c-ip4routing-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-1t1c-ip4routing-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-ip4routing-base-scale-ixgbe
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-2t2c-ip4routing-base-scale-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-2t2c-ip4routing-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-2t2c-ip4routing-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-ip4routing-base-scale-ixgbe
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-4t4c-ip4routing-base-scale-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-4t4c-ip4routing-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-4t4c-ip4routing-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-1t1c-features-ip4routing-base-ixgbe
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="21" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-1t1c-features-ip4routing-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-1t1c-features-ip4routing-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-1t1c-features-ip4routing-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-features-ip4routing-base-ixgbe
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="22" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-2t2c-features-ip4routing-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-2t2c-features-ip4routing-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-2t2c-features-ip4routing-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-features-ip4routing-base-ixgbe
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="23" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-4t4c-features-ip4routing-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-4t4c-features-ip4routing-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-4t4c-features-ip4routing-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4.rst
new file mode 100644
index 0000000000..894f99748f
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4.rst
@@ -0,0 +1,27 @@
+
+.. raw:: latex
+
+ \clearpage
+
+IPv4 Routing
+============
+
+This section includes summary graphs of VPP Phy-to-Phy packet latency
+with IPv4 Routed-Forwarding measured at 100% of discovered NDR throughput
+rate. Latency 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/ip4?h=rls2001>`_.
+
+.. toctree::
+
+ ip4-2n-skx-xxv710
+ ip4-2n-skx-x710
+ ip4-3n-skx-xxv710
+ ip4-3n-skx-x710
+ ip4-2n-clx-xxv710
+ ip4-2n-clx-x710
+ ip4-3n-hsw-xl710
+ ip4-3n-tsh-x520
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels-3n-hsw-xl710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels-3n-hsw-xl710.rst
new file mode 100644
index 0000000000..8bb0ea2f44
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels-3n-hsw-xl710.rst
@@ -0,0 +1,103 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-hsw-xl710
+ ### 64b-?t?c-ip4tunnel-base-i40e
+ 10ge2p1xl710-ethip4vxlan-l2xcbase-ndrpdr
+ 10ge2p1xl710-ethip4vxlan-l2bdbasemaclrn-ndrpdr
+
+3n-hsw-xl710
+~~~~~~~~~~~~
+
+64b-1t1c-ip4tunnel-base-i40e
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-1t1c-ip4tunnel-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-64b-1t1c-ip4tunnel-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-64b-1t1c-ip4tunnel-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-ip4tunnel-base-i40e
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-2t2c-ip4tunnel-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-64b-2t2c-ip4tunnel-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-64b-2t2c-ip4tunnel-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-ip4tunnel-base-i40e
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-4t4c-ip4tunnel-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-64b-4t4c-ip4tunnel-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-64b-4t4c-ip4tunnel-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels-3n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels-3n-skx-xxv710.rst
new file mode 100644
index 0000000000..b9e7a4e800
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels-3n-skx-xxv710.rst
@@ -0,0 +1,104 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+..
+ ## 3n-skx-xxv710
+ ### 64b-?t?c-ip4tunnel-base-scale-i40e
+ 10ge2p1xxv710-ethip4vxlan-l2xcbase-ndrpdr
+ 10ge2p1xxv710-ethip4vxlan-l2bdbasemaclrn-ndrpdr
+ 10ge2p1xxv710-dot1q--ethip4vxlan-l2bdscale1l2bd1vlan1vxlan-ndrpdr
+ 10ge2p1xxv710-dot1q--ethip4vxlan-l2bdscale100l2bd100vlan100vxlan-ndrpdr
+
+3n-skx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-ip4tunnel-base-scale-i40e
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-ip4tunnel-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-ip4tunnel-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-ip4tunnel-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-ip4tunnel-base-scale-i40e
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-4t2c-ip4tunnel-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-4t2c-ip4tunnel-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-4t2c-ip4tunnel-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-ip4tunnel-base-scale-i40e
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-8t4c-ip4tunnel-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-8t4c-ip4tunnel-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-8t4c-ip4tunnel-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels-3n-tsh-x520.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels-3n-tsh-x520.rst
new file mode 100644
index 0000000000..b3acfdb29c
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels-3n-tsh-x520.rst
@@ -0,0 +1,109 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+..
+ ## 3n-tsh-x520
+ ### 64b-?t?c-ip4tunnel-base-scale-ixgbe
+ 10ge2p1x520-ethip4vxlan-l2xcbase-ndrpdr
+ 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrpdr
+ 10ge2p1x520-dot1q--ethip4vxlan-l2bdscale1l2bd1vlan1vxlan-ndrpdr
+ 10ge2p1x520-dot1q--ethip4vxlan-l2bdscale100l2bd100vlan100vxlan-ndrpdr
+
+ Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X520-Ethip4Vxlan-L2Xcbase-Ndrpdr.64B-1t1c-ethip4vxlan-l2xcbase-ndrpdr
+ Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X520-Ethip4Vxlan-L2Bdbasemaclrn-Ndrpdr.64B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrpdr
+ Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X520-Dot1Q--Ethip4Vxlan-L2Bdscale1L2Bd1Vlan1Vxlan-Ndrpdr.64B-1t1c-dot1q--ethip4vxlan-l2bdscale1l2bd1vlan1vxlan-ndrpdr
+ Tests.Vpp.Perf.Ip4 Tunnels.10Ge2P1X520-Dot1Q--Ethip4Vxlan-L2Bdscale100L2Bd100Vlan100Vxlan-Ndrpdr.64B-1t1c-dot1q--ethip4vxlan-l2bdscale100l2bd100vlan100vxlan-ndrpdr
+
+3n-tsh-x520
+~~~~~~~~~~~
+
+64b-1t1c-ip4tunnel-base-scale-ixgbe
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-1t1c-ip4tunnel-base-scale-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-1t1c-ip4tunnel-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-1t1c-ip4tunnel-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-ip4tunnel-base-scale-ixgbe
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-2t2c-ip4tunnel-base-scale-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-2t2c-ip4tunnel-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-2t2c-ip4tunnel-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-ip4tunnel-base-scale-ixgbe
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-4t4c-ip4tunnel-base-scale-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-4t4c-ip4tunnel-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-4t4c-ip4tunnel-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels.rst
new file mode 100644
index 0000000000..6ff5d676f4
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip4_tunnels.rst
@@ -0,0 +1,22 @@
+
+.. raw:: latex
+
+ \clearpage
+
+IPv4 Tunnels
+============
+
+This section includes summary graphs of VPP Phy-to-Phy packet latency with
+IPv4 Overlay Tunnels measured at 100% of discovered NDR throughput rate.
+Latency 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/ip4_tunnels?h=rls2001>`_.
+
+.. toctree::
+
+ ip4_tunnels-3n-skx-xxv710
+ ip4_tunnels-3n-hsw-xl710
+ ip4_tunnels-3n-tsh-x520
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-clx-x710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-clx-x710.rst
new file mode 100644
index 0000000000..c8afbfb74e
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-clx-x710.rst
@@ -0,0 +1,103 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-clx-x710
+ ### 78b-?t?c-ip6routing-base-scale-i40e
+ 2n1l-10ge2p1x710-ethip6-ip6base-ndrpdr
+ 2n1l-10ge2p1x710-ethip6-ip6scale2m-ndrpdr
+
+2n-clx-x710
+~~~~~~~~~~~
+
+78b-2t1c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-x710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-x710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-x710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-4t2c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-x710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-x710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-x710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-8t4c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-x710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-x710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-x710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-clx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-clx-xxv710.rst
new file mode 100644
index 0000000000..c19413ff5c
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-clx-xxv710.rst
@@ -0,0 +1,106 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-clx-xxv710
+ ### 78b-?t?c-ip6routing-base-scale-i40e
+ 2n1l-10ge2p1xxv710-dot1q-ip6base-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip6-ip6base-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip6-ip6scale20k-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip6-ip6scale200k-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip6-ip6scale2m-ndrpdr
+
+2n-clx-xxv710
+~~~~~~~~~~~~~
+
+78b-2t1c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-4t2c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-8t4c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-skx-x710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-skx-x710.rst
new file mode 100644
index 0000000000..54d22072ab
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-skx-x710.rst
@@ -0,0 +1,103 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-skx-x710
+ ### 78b-?t?c-ip6routing-base-scale-i40e
+ 2n1l-10ge2p1x710-ethip6-ip6base-ndrpdr
+ 2n1l-10ge2p1x710-ethip6-ip6scale2m-ndrpdr
+
+2n-skx-x710
+~~~~~~~~~~~
+
+78b-2t1c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-x710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-x710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-x710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-4t2c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-x710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-x710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-x710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-8t4c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-x710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-x710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-x710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-skx-xxv710.rst
new file mode 100644
index 0000000000..3436cdf59d
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-2n-skx-xxv710.rst
@@ -0,0 +1,106 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-skx-xxv710
+ ### 78b-?t?c-ip6routing-base-scale-i40e
+ 2n1l-10ge2p1xxv710-dot1q-ip6base-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip6-ip6base-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip6-ip6scale20k-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip6-ip6scale200k-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip6-ip6scale2m-ndrpdr
+
+2n-skx-xxv710
+~~~~~~~~~~~~~
+
+78b-2t1c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-4t2c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-8t4c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-hsw-xl710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-hsw-xl710.rst
new file mode 100644
index 0000000000..dcdc714af1
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-hsw-xl710.rst
@@ -0,0 +1,104 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-hsw-xl710
+ ### 78b-?t?c-ip6routing-base-scale-i40e
+ 10ge2p1xl710-dot1q-ip6base-ndrpdr
+ 10ge2p1xl710-ethip6-ip6base-ndrpdr
+ 10ge2p1xl710-ethip6-ip6scale2m-ndrpdr
+
+3n-hsw-xl710
+~~~~~~~~~~~~
+
+78b-1t1c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-78b-1t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ip6-3n-hsw-xl710-78b-1t1c-base-ndr-hdrh-lat-percentile}
+ \label{fig:ip6-3n-hsw-xl710-78b-1t1c-base-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-2t2c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-78b-2t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ip6-3n-hsw-xl710-78b-2t2c-base-ndr-hdrh-lat-percentile}
+ \label{fig:ip6-3n-hsw-xl710-78b-2t2c-base-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-4t4c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-78b-4t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ip6-3n-hsw-xl710-78b-4t4c-base-ndr-hdrh-lat-percentile}
+ \label{fig:ip6-3n-hsw-xl710-78b-4t4c-base-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-skx-x710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-skx-x710.rst
new file mode 100644
index 0000000000..35e98e3edd
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-skx-x710.rst
@@ -0,0 +1,103 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-skx-x710
+ ### 78b-?t?c-ip6routing-base-scale-i40e
+ 10ge2p1x710-ethip6-ip6base-ndrpdr
+ 10ge2p1x710-ethip6-ip6scale2m-ndrpdr
+
+3n-skx-x710
+~~~~~~~~~~~
+
+78b-2t1c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-x710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-x710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-4t2c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-x710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-x710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-8t4c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-x710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-x710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-skx-xxv710.rst
new file mode 100644
index 0000000000..691293f670
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-skx-xxv710.rst
@@ -0,0 +1,106 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-skx-xxv710
+ ### 78b-?t?c-ip6routing-base-scale-i40e
+ 10ge2p1xxv710-dot1q-ip6base-ndrpdr
+ 10ge2p1xxv710-ethip6-ip6base-ndrpdr
+ 10ge2p1xxv710-ethip6-ip6scale20k-ndrpdr
+ 10ge2p1xxv710-ethip6-ip6scale200k-ndrpdr
+ 10ge2p1xxv710-ethip6-ip6scale2m-ndrpdr
+
+3n-skx-xxv710
+~~~~~~~~~~~~~
+
+78b-2t1c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-78b-2t1c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-4t2c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-78b-4t2c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-8t4c-ip6routing-base-scale-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-78b-8t4c-ip6routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-tsh-x520.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-tsh-x520.rst
new file mode 100644
index 0000000000..b9fbe53e7c
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6-3n-tsh-x520.rst
@@ -0,0 +1,112 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-tsh-x520
+ ### 78b-?t?c-ip6routing-base-scale-ixgbe
+ 10ge2p1x520-dot1q-ip6base-ndrpdr
+ 10ge2p1x520-ethip6-ip6base-ndrpdr
+ 10ge2p1x520-ethip6-ip6scale20k-ndrpdr
+ 10ge2p1x520-ethip6-ip6scale200k-ndrpdr
+ 10ge2p1x520-ethip6-ip6scale2m-ndrpdr
+
+ Tests.Vpp.Perf.Ip6.10Ge2P1X520-Dot1Q-Ip6Base-Ndrpdr.78B-1t1c-dot1q-ip6base-ndrpdr
+ Tests.Vpp.Perf.Ip6.10Ge2P1X520-Ethip6-Ip6Base-Ndrpdr.78B-1t1c-ethip6-ip6base-ndrpdr
+ Tests.Vpp.Perf.Ip6.10Ge2P1X520-Ethip6-Ip6Scale20K-Ndrpdr.78B-1t1c-ethip6-ip6scale20k-ndrpdr
+ Tests.Vpp.Perf.Ip6.10Ge2P1X520-Ethip6-Ip6Scale200K-Ndrpdr.78B-1t1c-ethip6-ip6scale200k-ndrpdr
+ Tests.Vpp.Perf.Ip6.10Ge2P1X520-Ethip6-Ip6Scale2M-Ndrpdr.78B-1t1c-ethip6-ip6scale2m-ndrpdr
+
+3n-tsh-x520
+~~~~~~~~~~~
+
+78b-1t1c-ip6routing-base-scale-ixgbe
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-78b-1t1c-ip6routing-base-scale-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-78b-1t1c-ip6routing-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-78b-1t1c-ip6routing-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-2t2c-ip6routing-base-scale-ixgbe
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-78b-2t2c-ip6routing-base-scale-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-78b-2t2c-ip6routing-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-78b-2t2c-ip6routing-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-4t4c-ip6routing-base-scale-ixgbe
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-78b-4t4c-ip6routing-base-scale-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-78b-4t4c-ip6routing-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-78b-4t4c-ip6routing-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6.rst
new file mode 100644
index 0000000000..a3be557ac7
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ip6.rst
@@ -0,0 +1,27 @@
+
+.. raw:: latex
+
+ \clearpage
+
+IPv6 Routing
+============
+
+This section includes summary graphs of VPP Phy-to-Phy packet latency
+with IPv6 Routed-Forwarding measured at 100% of discovered NDR throughput
+rate. Latency 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/ip6?h=rls2001>`_.
+
+.. toctree::
+
+ ip6-2n-skx-xxv710
+ ip6-2n-skx-x710
+ ip6-3n-skx-xxv710
+ ip6-3n-skx-x710
+ ip6-2n-clx-xxv710
+ ip6-2n-clx-x710
+ ip6-3n-hsw-xl710
+ ip6-3n-tsh-x520
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec-3n-hsw-xl710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec-3n-hsw-xl710.rst
new file mode 100644
index 0000000000..0ad63a80e4
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec-3n-hsw-xl710.rst
@@ -0,0 +1,182 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-hsw-xl710
+ ### imix-?t?c-ipsec-ip4routing-base-scale-sw-i40e
+ 10ge2p1xl710-ethip4ipsec4tnlsw-ip4base-int-aes256gcm-ndrpdr
+ 10ge2p1xl710-ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+ 10ge2p1xl710-ethip4ipsec1000tnlsw-ip4base-int-aes256gcm-ndrpdr
+ 10ge2p1xl710-ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+ 10ge2p1xl710-ethip4ipsec10000tnlsw-ip4base-int-aes256gcm-ndrpdr
+ 10ge2p1xl710-ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+
+ ### imix-?t?c-ipsec-ip4routing-base-scale-hw-i40e
+ 10ge2p1xl710-ethip4ipsec1tnlhw-ip4base-int-aes256gcm-ndrpdr
+ 10ge2p1xl710-ethip4ipsec1tnlhw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+ 10ge2p1xl710-ethip4ipsec1000tnlhw-ip4base-int-aes256gcm-ndrpdr
+ 10ge2p1xl710-ethip4ipsec1000tnlhw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+
+3n-hsw-xl710
+~~~~~~~~~~~~
+
+imix-1t1c-ipsec-ip4routing-base-scale-sw-i40e
+---------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-imix-1t1c-ipsec-ip4routing-base-scale-sw-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-imix-1t1c-ipsec-ip4routing-base-scale-sw-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-imix-1t1c-ipsec-ip4routing-base-scale-sw-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+imix-2t2c-ipsec-ip4routing-base-scale-sw-i40e
+---------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02 onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-imix-2t2c-ipsec-ip4routing-base-scale-sw-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-imix-2t2c-ipsec-ip4routing-base-scale-sw-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-imix-2t2c-ipsec-ip4routing-base-scale-sw-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+imix-4t4c-ipsec-ip4routing-base-scale-sw-i40e
+---------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-imix-4t4c-ipsec-ip4routing-base-scale-sw-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-imix-4t4c-ipsec-ip4routing-base-scale-sw-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-imix-4t4c-ipsec-ip4routing-base-scale-sw-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+imix-1t1c-ipsec-ip4routing-base-scale-hw-i40e
+---------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-imix-1t1c-ipsec-ip4routing-base-scale-hw-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-imix-1t1c-ipsec-ip4routing-base-scale-hw-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-imix-1t1c-ipsec-ip4routing-base-scale-hw-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+imix-2t2c-ipsec-ip4routing-base-scale-hw-i40e
+---------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="21" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-imix-2t2c-ipsec-ip4routing-base-scale-hw-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-imix-2t2c-ipsec-ip4routing-base-scale-hw-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-imix-2t2c-ipsec-ip4routing-base-scale-hw-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+imix-4t4c-ipsec-ip4routing-base-scale-hw-i40e
+---------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="22" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-imix-4t4c-ipsec-ip4routing-base-scale-hw-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-imix-4t4c-ipsec-ip4routing-base-scale-hw-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-imix-4t4c-ipsec-ip4routing-base-scale-hw-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec-3n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec-3n-skx-xxv710.rst
new file mode 100644
index 0000000000..21ba37541f
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec-3n-skx-xxv710.rst
@@ -0,0 +1,107 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-skx-xxv710
+ ### imix-?t?c-ipsec-ip4routing-base-scale-i40e
+ 10ge2p1xxv710-ethip4ipsec4tnlsw-ip4base-int-aes256gcm-ndrpdr
+ 10ge2p1xxv710-ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+ 10ge2p1xxv710-ethip4ipsec1000tnlsw-ip4base-int-aes256gcm-ndrpdr
+ 10ge2p1xxv710-ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+ 10ge2p1xxv710-ethip4ipsec10000tnlsw-ip4base-int-aes256gcm-ndrpdr
+ 10ge2p1xxv710-ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+
+3n-skx-xxv710
+~~~~~~~~~~~~~
+
+imix-2t1c-ipsec-ip4routing-base-scale-i40e
+------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-imix-2t1c-ipsec-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-imix-2t1c-ipsec-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-imix-2t1c-ipsec-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+imix-4t2c-ipsec-ip4routing-base-scale-i40e
+------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-imix-4t2c-ipsec-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-imix-4t2c-ipsec-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-imix-4t2c-ipsec-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+imix-8t4c-ipsec-ip4routing-base-scale-i40e
+------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-imix-8t4c-ipsec-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-imix-8t4c-ipsec-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-imix-8t4c-ipsec-ip4routing-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec-3n-tsh-x520.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec-3n-tsh-x520.rst
new file mode 100644
index 0000000000..6906110ac3
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec-3n-tsh-x520.rst
@@ -0,0 +1,115 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-tsh-x520
+ ### imix-?t?c-ipsec-ip4routing-base-scale-sw-ixgbe
+ 10ge2p1x520-ethip4ipsec4tnlsw-ip4base-int-aes256gcm-ndrpdr
+ 10ge2p1x520-ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+ 10ge2p1x520-ethip4ipsec1000tnlsw-ip4base-int-aes256gcm-ndrpdr
+ 10ge2p1x520-ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+ 10ge2p1x520-ethip4ipsec10000tnlsw-ip4base-int-aes256gcm-ndrpdr
+ 10ge2p1x520-ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+
+ Tests.Vpp.Perf.Crypto.10Ge2P1X520-Ethip4Ipsec4Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-1t1c-ethip4ipsec4tnlsw-ip4base-int-aes256gcm-ndrpdr
+ Tests.Vpp.Perf.Crypto.10Ge2P1X520-Ethip4Ipsec4Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-1t1c-ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+ Tests.Vpp.Perf.Crypto.10Ge2P1X520-Ethip4Ipsec1000Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-1t1c-ethip4ipsec1000tnlsw-ip4base-int-aes256gcm-ndrpdr
+ Tests.Vpp.Perf.Crypto.10Ge2P1X520-Ethip4Ipsec1000Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-1t1c-ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+ Tests.Vpp.Perf.Crypto.10Ge2P1X520-Ethip4Ipsec10000Tnlsw-Ip4Base-Int-Aes256Gcm-Ndrpdr.IMIX-1t1c-ethip4ipsec10000tnlsw-ip4base-int-aes256gcm-ndrpdr
+ Tests.Vpp.Perf.Crypto.10Ge2P1X520-Ethip4Ipsec10000Tnlsw-Ip4Base-Int-Aes128Cbc-Hmac512Sha-Ndrpdr.IMIX-1t1c-ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr
+
+3n-tsh-x520
+~~~~~~~~~~~
+
+imix-1t1c-ipsec-ip4routing-base-scale-sw-ixgbe
+----------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-imix-1t1c-ipsec-ip4routing-base-scale-sw-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-imix-1t1c-ipsec-ip4routing-base-scale-sw-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-imix-1t1c-ipsec-ip4routing-base-scale-sw-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+imix-2t2c-ipsec-ip4routing-base-scale-sw-ixgbe
+----------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-imix-2t2c-ipsec-ip4routing-base-scale-sw-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-imix-2t2c-ipsec-ip4routing-base-scale-sw-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-imix-2t2c-ipsec-ip4routing-base-scale-sw-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+imix-4t4c-ipsec-ip4routing-base-scale-sw-ixgbe
+----------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-imix-4t4c-ipsec-ip4routing-base-scale-sw-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-imix-4t4c-ipsec-ip4routing-base-scale-sw-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-imix-4t4c-ipsec-ip4routing-base-scale-sw-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec.rst
new file mode 100644
index 0000000000..279ac66d93
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/ipsec.rst
@@ -0,0 +1,25 @@
+
+.. raw:: latex
+
+ \clearpage
+
+IPSec IPv4 Routing
+==================
+
+This section includes summary graphs of VPP Phy-to-Phy packet latency
+with IPSec encryption used in combination with IPv4 routed-forwarding,
+with latency measured at 100% of discovered NDR throughput rate. VPP
+IPSec encryption is accelerated using DPDK cryptodev library driving
+Intel Quick Assist (QAT) crypto PCIe hardware cards. Latency 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/crypto?h=rls2001>`_.
+
+.. toctree::
+
+ ipsec-3n-skx-xxv710
+ ipsec-3n-hsw-xl710
+ ipsec-3n-tsh-x520
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-clx-x710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-clx-x710.rst
new file mode 100644
index 0000000000..2f11fef8bf
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-clx-x710.rst
@@ -0,0 +1,107 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-clx-x710
+ ### 64b-?t?c-l2switching-base-scale-avf-i40e
+ 2n1l-10ge2p1x710-avf-eth-l2xcbase-ndrpdr
+ 2n1l-10ge2p1x710-avf-dot1q-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1x710-avf-eth-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1x710-dot1q-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1x710-eth-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1x710-eth-l2bdscale1mmaclrn-ndrpdr
+
+2n-clx-x710
+~~~~~~~~~~~
+
+64b-2t1c-l2switching-base-scale-avf-i40e
+----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-x710-64b-2t1c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-x710-64b-2t1c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-x710-64b-2t1c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-l2switching-base-scale-avf-i40e
+----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-x710-64b-4t2c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-x710-64b-4t2c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-x710-64b-4t2c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-l2switching-base-scale-avf-i40e
+----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-x710-64b-8t4c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-x710-64b-8t4c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-x710-64b-8t4c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-clx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-clx-xxv710.rst
new file mode 100644
index 0000000000..678a6f503e
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-clx-xxv710.rst
@@ -0,0 +1,257 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-clx-xxv710
+ ### 64b-?t?c-l2switching-base-avf
+ 2n1l-10ge2p1xxv710-avf-eth-l2patch-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-eth-l2xcbase-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-dot1q-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-eth-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-dot1q-l2bdbasemaclrn-gbp-ndrpdr
+
+ ### 64b-?t?c-l2switching-base-i40e
+ 2n1l-10ge2p1xxv710-eth-l2patch-ndrpdr
+ 2n1l-10ge2p1xxv710-dot1q-l2xcbase-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2xcbase-ndrpdr
+ 2n1l-10ge2p1xxv710-dot1q-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2bdbasemaclrn-ndrpdr
+
+ ### 64b-?t?c-l2switching-base-scale-i40e
+ 2n1l-10ge2p1xxv710-eth-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2bdscale10kmaclrn-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2bdscale100kmaclrn-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2bdscale1mmaclrn-ndrpdr
+
+2n-clx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-l2switching-base-avf
+-----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-l2switching-base-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-2t1c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-2t1c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-l2switching-base-avf
+-----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-4t2c-l2switching-base-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-4t2c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-4t2c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-l2switching-base-avf
+-----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-8t4c-l2switching-base-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-8t4c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-8t4c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-l2switching-base-i40e
+------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-2t1c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-2t1c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-l2switching-base-i40e
+------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-4t2c-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-4t2c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-4t2c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-l2switching-base-i40e
+------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-8t4c-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-8t4c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-8t4c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-l2switching-base-scale-i40e
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="21" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-2t1c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-2t1c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-l2switching-base-scale-i40e
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="22" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-4t2c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-4t2c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-4t2c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-l2switching-base-scale-i40e
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="23" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-8t4c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-8t4c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-8t4c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-skx-x710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-skx-x710.rst
new file mode 100644
index 0000000000..64e9fea677
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-skx-x710.rst
@@ -0,0 +1,107 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-skx-x710
+ ### 64b-?t?c-l2switching-base-scale-avf-i40e
+ 2n1l-10ge2p1x710-avf-eth-l2xcbase-ndrpdr
+ 2n1l-10ge2p1x710-avf-dot1q-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1x710-avf-eth-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1x710-dot1q-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1x710-eth-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1x710-eth-l2bdscale1mmaclrn-ndrpdr
+
+2n-skx-x710
+~~~~~~~~~~~
+
+64b-2t1c-l2switching-base-scale-avf-i40e
+----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-x710-64b-2t1c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-x710-64b-2t1c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-x710-64b-2t1c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-l2switching-base-scale-avf-i40e
+----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-x710-64b-4t2c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-x710-64b-4t2c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-x710-64b-4t2c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-l2switching-base-scale-avf-i40e
+----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-x710-64b-8t4c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-x710-64b-8t4c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-x710-64b-8t4c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-skx-xxv710.rst
new file mode 100644
index 0000000000..1fa259c5a2
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-2n-skx-xxv710.rst
@@ -0,0 +1,257 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-skx-xxv710
+ ### 64b-?t?c-l2switching-base-avf
+ 2n1l-10ge2p1xxv710-avf-eth-l2patch-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-eth-l2xcbase-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-dot1q-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-eth-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1xxv710-avf-dot1q-l2bdbasemaclrn-gbp-ndrpdr
+
+ ### 64b-?t?c-l2switching-base-i40e
+ 2n1l-10ge2p1xxv710-eth-l2patch-ndrpdr
+ 2n1l-10ge2p1xxv710-dot1q-l2xcbase-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2xcbase-ndrpdr
+ 2n1l-10ge2p1xxv710-dot1q-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2bdbasemaclrn-ndrpdr
+
+ ### 64b-?t?c-l2switching-base-scale-i40e
+ 2n1l-10ge2p1xxv710-eth-l2bdbasemaclrn-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2bdscale10kmaclrn-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2bdscale100kmaclrn-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2bdscale1mmaclrn-ndrpdr
+
+2n-skx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-l2switching-base-avf
+-----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-2t1c-l2switching-base-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-2t1c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-2t1c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-l2switching-base-avf
+-----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-4t2c-l2switching-base-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-4t2c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-4t2c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-l2switching-base-avf
+-----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-8t4c-l2switching-base-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-8t4c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-8t4c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-l2switching-base-i40e
+------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-2t1c-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-2t1c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-2t1c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-l2switching-base-i40e
+------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-4t2c-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-4t2c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-4t2c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-l2switching-base-i40e
+------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-8t4c-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-8t4c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-8t4c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-l2switching-base-scale-i40e
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="21" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-2t1c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-2t1c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-2t1c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-l2switching-base-scale-i40e
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="22" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-4t2c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-4t2c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-4t2c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-l2switching-base-scale-i40e
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="23" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-8t4c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-8t4c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-8t4c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-hsw-xl710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-hsw-xl710.rst
new file mode 100644
index 0000000000..c571ac2e1e
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-hsw-xl710.rst
@@ -0,0 +1,107 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-hsw-xl710
+ ### 64b-?t?c-l2switching-base-scale-i40e
+ 10ge2p1xl710-eth-l2patch-ndrpdr
+ 10ge2p1xl710-dot1q-l2xcbase-ndrpdr
+ 10ge2p1xl710-eth-l2xcbase-ndrpdr
+ 10ge2p1xl710-dot1q-l2bdbasemaclrn-ndrpdr
+ 10ge2p1xl710-eth-l2bdbasemaclrn-ndrpdr
+ 10ge2p1xl710-eth-l2bdscale1mmaclrn-ndrpdr
+
+3n-hsw-xl710
+~~~~~~~~~~~~
+
+64b-1t1c-l2switching-base-scale-i40e
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-1t1c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{/3n-hsw-xl710-64b-1t1c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \label{fig:/3n-hsw-xl710-64b-1t1c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-l2switching-base-scale-i40e
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-2t2c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{/3n-hsw-xl710-64b-2t2c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \label{fig:/3n-hsw-xl710-64b-2t2c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-l2switching-base-scale-i40e
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-4t4c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{/3n-hsw-xl710-64b-4t4c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \label{fig:/3n-hsw-xl710-64b-4t4c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-skx-x710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-skx-x710.rst
new file mode 100644
index 0000000000..a8aaa361da
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-skx-x710.rst
@@ -0,0 +1,107 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-skx-x710
+ ### 64b-?t?c-l2switching-base-scale-avf-i40e
+ 10ge2p1x710-avf-eth-l2patch-ndrpdr
+ 10ge2p1x710-avf-eth-l2xcbase-ndrpdr
+ 10ge2p1x710-avf-eth-l2bdbasemaclrn-ndrpdr
+ 10ge2p1x710-dot1q-l2bdbasemaclrn-ndrpdr
+ 10ge2p1x710-eth-l2bdbasemaclrn-ndrpdr
+ 10ge2p1x710-eth-l2bdscale1mmaclrn-ndrpdr
+
+3n-skx-x710
+~~~~~~~~~~~
+
+64b-2t1c-l2switching-base-scale-avf-i40e
+----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-64b-2t1c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-x710-64b-2t1c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-x710-64b-2t1c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-l2switching-base-scale-avf-i40e
+----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-64b-4t2c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-x710-64b-4t2c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-x710-64b-4t2c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-l2switching-base-scale-avf-i40e
+----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-64b-8t4c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-x710-64b-8t4c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-x710-64b-8t4c-l2switching-base-scale-avf-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-skx-xxv710.rst
new file mode 100644
index 0000000000..2fedd4b657
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-skx-xxv710.rst
@@ -0,0 +1,335 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-skx-xxv710
+ ### 64b-?t?c-l2switching-base-avf
+ 10ge2p1xxv710-avf-eth-l2patch-ndrpdr
+ 10ge2p1xxv710-avf-eth-l2xcbase-ndrpdr
+ 10ge2p1xxv710-avf-eth-l2bdbasemaclrn-ndrpdr
+
+ ### 64b-?t?c-l2switching-base-i40e
+ 10ge2p1xxv710-dot1q-l2xcbase-ndrpdr
+ 10ge2p1xxv710-eth-l2xcbase-ndrpdr
+ 10ge2p1xxv710-dot1q-l2bdbasemaclrn-ndrpdr
+ 10ge2p1xxv710-eth-l2bdbasemaclrn-ndrpdr
+
+ ### 64b-?t?c-l2switching-base-scale-i40e
+ 10ge2p1xxv710-eth-l2patch-ndrpdr
+ 10ge2p1xxv710-eth-l2xcbase-ndrpdr
+ 10ge2p1xxv710-eth-l2bdbasemaclrn-ndrpdr
+ 10ge2p1xxv710-eth-l2bdscale10kmaclrn-ndrpdr
+ 10ge2p1xxv710-eth-l2bdscale100kmaclrn-ndrpdr
+ 10ge2p1xxv710-eth-l2bdscale1mmaclrn-ndrpdr
+
+ ### 64b-?t?c-features-l2switching-base-i40e
+ 10ge2p1xxv710-eth-l2bdbasemaclrn-ndrpdr
+ 10ge2p1xxv710-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr
+ 10ge2p1xxv710-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr
+ 10ge2p1xxv710-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr
+ 10ge2p1xxv710-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr
+ 10ge2p1xxv710-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr
+
+3n-skx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-l2switching-base-avf
+-----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-l2switching-base-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-l2switching-base-avf
+-----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-4t2c-l2switching-base-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-4t2c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-4t2c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-l2switching-base-avf
+-----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-8t4c-l2switching-base-avf-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-8t4c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-8t4c-l2switching-base-avf-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-l2switching-base-i40e
+------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-l2switching-base-i40e
+------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-4t2c-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-4t2c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-4t2c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-l2switching-base-i40e
+------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-8t4c-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-8t4c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-8t4c-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-l2switching-base-scale-i40e
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="21" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-l2switching-base-scale-i40e
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="22" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-4t2c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-4t2c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-4t2c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-l2switching-base-scale-i40e
+------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="23" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-8t4c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-8t4c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-8t4c-l2switching-base-scale-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-features-l2switching-base-i40e
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="31" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-features-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-features-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-features-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+
+64b-4t2c-features-l2switching-base-i40e
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="32" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-4t2c-features-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-4t2c-features-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-4t2c-features-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+
+64b-8t4c-features-l2switching-base-i40e
+---------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="33" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-8t4c-features-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-8t4c-features-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-8t4c-features-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-tsh-x520.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-tsh-x520.rst
new file mode 100644
index 0000000000..69de99e1a0
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2-3n-tsh-x520.rst
@@ -0,0 +1,278 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-tsh-x520
+ ### 64b-?t?c-l2switching-base-ixgbe
+ 10ge2p1x520-dot1q-l2xcbase-ndrpdr
+ 10ge2p1x520-eth-l2xcbase-ndrpdr
+ 10ge2p1x520-dot1q-l2bdbasemaclrn-ndrpdr
+ 10ge2p1x520-eth-l2bdbasemaclrn-ndrpdr
+
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Dot1Q-L2Xcbase-Ndrpdr.64B-1t1c-dot1q-l2xcbase-ndrpdr
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Xcbase-Ndrpdr.64B-1t1c-eth-l2xcbase-ndrpdr
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Dot1Q-L2Bdbasemaclrn-Ndrpdr.64B-1t1c-dot1q-l2bdbasemaclrn-ndrpdr
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Bdbasemaclrn-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-ndrpdr
+
+ ### 64b-?t?c-l2switching-base-scale-ixgbe
+ 10ge2p1x520-eth-l2patch-ndrpdr
+ 10ge2p1x520-eth-l2xcbase-ndrpdr
+ 10ge2p1x520-eth-l2bdbasemaclrn-ndrpdr
+ 10ge2p1x520-eth-l2bdscale10kmaclrn-ndrpdr
+ 10ge2p1x520-eth-l2bdscale100kmaclrn-ndrpdr
+ 10ge2p1x520-eth-l2bdscale1mmaclrn-ndrpdr
+
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Patch-Ndrpdr.64B-1t1c-eth-l2patch-ndrpdr
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Xcbase-Ndrpdr.64B-1t1c-eth-l2xcbase-ndrpdr
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Bdbasemaclrn-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-ndrpdr
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Bdscale10Kmaclrn-Ndrpdr.64B-1t1c-eth-l2bdscale10kmaclrn-ndrpdr
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Bdscale100Kmaclrn-Ndrpdr.64B-1t1c-eth-l2bdscale100kmaclrn-ndrpdr
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Bdscale1Mmaclrn-Ndrpdr.64B-1t1c-eth-l2bdscale1mmaclrn-ndrpdr
+
+ ### 64b-?t?c-features-l2switching-base-ixgbe
+ 10ge2p1x520-eth-l2bdbasemaclrn-ndrpdr
+ 10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr
+ 10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr
+ 10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr
+ 10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr
+ 10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr
+
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Bdbasemaclrn-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-ndrpdr
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Bdbasemaclrn-Iacl50Sf-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Bdbasemaclrn-Iacl50Sl-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Bdbasemaclrn-Oacl50Sf-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Bdbasemaclrn-Oacl50Sl-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr
+ Tests.Vpp.Perf.L2.10Ge2P1X520-Eth-L2Bdbasemaclrn-Macip-Iacl50Sl-10Kflows-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr
+
+3n-tsh-x520
+~~~~~~~~~~~
+
+64b-1t1c-l2switching-base-ixgbe
+-------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-1t1c-l2switching-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-1t1c-l2switching-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-1t1c-l2switching-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-l2switching-base-ixgbe
+-------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-2t2c-l2switching-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-2t2c-l2switching-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-2t2c-l2switching-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-l2switching-base-ixgbe
+-------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-4t4c-l2switching-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-4t4c-l2switching-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-4t4c-l2switching-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-1t1c-l2switching-base-scale-ixgbe
+-------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="21" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-1t1c-l2switching-base-scale-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-1t1c-l2switching-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-1t1c-l2switching-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-l2switching-base-scale-ixgbe
+-------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="22" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-2t2c-l2switching-base-scale-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-2t2c-l2switching-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-2t2c-l2switching-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-l2switching-base-scale-ixgbe
+-------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="23" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-4t4c-l2switching-base-scale-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-4t4c-l2switching-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-4t4c-l2switching-base-scale-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-1t1c-features-l2switching-base-ixgbe
+----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="31" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-1t1c-features-l2switching-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-1t1c-features-l2switching-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-1t1c-features-l2switching-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-features-l2switching-base-ixgbe
+----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="32" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-2t2c-features-l2switching-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-2t2c-features-l2switching-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-2t2c-features-l2switching-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-features-l2switching-base-ixgbe
+----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="33" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-4t4c-features-l2switching-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-4t4c-features-l2switching-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-4t4c-features-l2switching-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2.rst
new file mode 100644
index 0000000000..b1a87deadb
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/l2.rst
@@ -0,0 +1,27 @@
+
+.. raw:: latex
+
+ \clearpage
+
+L2 Ethernet Switching
+=====================
+
+This section includes summary graphs of VPP Phy-to-Phy packet latency
+with L2 Ethernet switching measured at 100% of discovered NDR throughput
+rate. Latency 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=rls2001>`_.
+
+.. toctree::
+
+ l2-2n-skx-xxv710
+ l2-2n-skx-x710
+ l2-3n-skx-xxv710
+ l2-3n-skx-x710
+ l2-2n-clx-xxv710
+ l2-2n-clx-x710
+ l2-3n-hsw-xl710
+ l2-3n-tsh-x520
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6-3n-hsw-xl710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6-3n-hsw-xl710.rst
new file mode 100644
index 0000000000..3b52a6a4cc
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6-3n-hsw-xl710.rst
@@ -0,0 +1,107 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-hsw-xl710
+ ### 78b-?t?c-srv6-ip6routing-base-i40e
+ 10ge2p1xl710-ethip6ip6-ip6base-srv6enc1sid-ndrpdr
+ 10ge2p1xl710-ethip6srhip6-ip6base-srv6enc2sids-ndrpdr
+ 10ge2p1xl710-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrpdr
+ 10ge2p1xl710-ethip6srhip6-ip6base-srv6proxy-dyn-ndrpdr
+ 10ge2p1xl710-ethip6srhip6-ip6base-srv6proxy-masq-ndrpdr
+ 10ge2p1xl710-ethip6srhip6-ip6base-srv6proxy-stat-ndrpdr
+
+3n-hsw-xl710
+~~~~~~~~~~~~
+
+78b-1t1c-srv6-ip6routing-base-i40e
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-78b-1t1c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-78b-1t1c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-78b-1t1c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-2t2c-srv6-ip6routing-base-i40e
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-78b-2t2c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-78b-2t2c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-78b-2t2c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-4t4c-srv6-ip6routing-base-i40e
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-78b-4t4c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-78b-4t4c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-78b-4t4c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6-3n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6-3n-skx-xxv710.rst
new file mode 100644
index 0000000000..4a0cc911b9
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6-3n-skx-xxv710.rst
@@ -0,0 +1,107 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-skx-xxv710
+ ### 78b-?t?c-srv6-ip6routing-base-i40e
+ 10ge2p1xxv710-ethip6ip6-ip6base-srv6enc1sid-ndrpdr
+ 10ge2p1xxv710-ethip6srhip6-ip6base-srv6enc2sids-ndrpdr
+ 10ge2p1xxv710-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrpdr
+ 10ge2p1xxv710-ethip6srhip6-ip6base-srv6proxy-dyn-ndrpdr
+ 10ge2p1xxv710-ethip6srhip6-ip6base-srv6proxy-masq-ndrpdr
+ 10ge2p1xxv710-ethip6srhip6-ip6base-srv6proxy-stat-ndrpdr
+
+3n-skx-xxv710
+~~~~~~~~~~~~~
+
+78b-2t1c-srv6-ip6routing-base-i40e
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-78b-2t1c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-78b-2t1c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-78b-2t1c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-4t2c-srv6-ip6routing-base-i40e
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-78b-4t2c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-78b-4t2c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-78b-4t2c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-8t4c-srv6-ip6routing-base-i40e
+----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-78b-8t4c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-78b-8t4c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-78b-8t4c-srv6-ip6routing-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6-3n-tsh-x520.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6-3n-tsh-x520.rst
new file mode 100644
index 0000000000..25f6ee705f
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6-3n-tsh-x520.rst
@@ -0,0 +1,114 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-tsh-x520
+ ### 78b-?t?c-srv6-ip6routing-base-ixgbe
+ 10ge2p1x520-ethip6ip6-ip6base-srv6enc1sid-ndrpdr
+ 10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-ndrpdr
+ 10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrpdr
+ 10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-dyn-ndrpdr
+ 10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-masq-ndrpdr
+ 10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-stat-ndrpdr
+
+ Tests.Vpp.Perf.Srv6.10Ge2P1X520-Ethip6Ip6-Ip6Base-Srv6Enc1Sid-Ndrpdr.78B-1t1c-ethip6ip6-ip6base-srv6enc1sid-ndrpdr
+ Tests.Vpp.Perf.Srv6.10Ge2P1X520-Ethip6Srhip6-Ip6Base-Srv6Enc2Sids-Ndrpdr.78B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-ndrpdr
+ Tests.Vpp.Perf.Srv6.10Ge2P1X520-Ethip6Srhip6-Ip6Base-Srv6Enc2Sids-Nodecaps-Ndrpdr.78B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrpdr
+ Tests.Vpp.Perf.Srv6.10Ge2P1X520-Ethip6Srhip6-Ip6Base-Srv6Proxy-Dyn-Ndrpdr.78B-1t1c-ethip6srhip6-ip6base-srv6proxy-dyn-ndrpdr
+ Tests.Vpp.Perf.Srv6.10Ge2P1X520-Ethip6Srhip6-Ip6Base-Srv6Proxy-Masq-Ndrpdr.78B-1t1c-ethip6srhip6-ip6base-srv6proxy-masq-ndrpdr
+ Tests.Vpp.Perf.Srv6.10Ge2P1X520-Ethip6Srhip6-Ip6Base-Srv6Proxy-Stat-Ndrpdr.78B-1t1c-ethip6srhip6-ip6base-srv6proxy-stat-ndrpdr
+
+3n-tsh-x520
+~~~~~~~~~~~
+
+78b-1t1c-srv6-ip6routing-base-ixgbe
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-78b-1t1c-srv6-ip6routing-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-78b-1t1c-srv6-ip6routing-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-78b-1t1c-srv6-ip6routing-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-2t2c-srv6-ip6routing-base-ixgbe
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-78b-2t2c-srv6-ip6routing-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-78b-2t2c-srv6-ip6routing-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-78b-2t2c-srv6-ip6routing-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+78b-4t4c-srv6-ip6routing-base-ixgbe
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-78b-4t4c-srv6-ip6routing-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-78b-4t4c-srv6-ip6routing-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-78b-4t4c-srv6-ip6routing-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6.rst
new file mode 100644
index 0000000000..4bb990cc6c
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/srv6.rst
@@ -0,0 +1,22 @@
+
+.. raw:: latex
+
+ \clearpage
+
+SRv6 Routing
+============
+
+This section includes summary graphs of VPP Phy-to-Phy packet latency
+with SRv6 measured at 100% of discovered NDR throughput
+rate. Latency 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/srv6?h=rls2001>`_.
+
+.. toctree::
+
+ srv6-3n-skx-xxv710
+ srv6-3n-hsw-xl710
+ srv6-3n-tsh-x520
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-2n-clx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-2n-clx-xxv710.rst
new file mode 100644
index 0000000000..d1e51af2f6
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-2n-clx-xxv710.rst
@@ -0,0 +1,184 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-clx-xxv710
+ ### 64b-?t?c-vhost-base-i40e
+ 2n1l-10ge2p1xxv710-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 2n1l-10ge2p1xxv710-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Vppip4-Ndrpdr.64B-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-vppip4-ndrpdr
+
+2n-clx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-vhost-base-i40e-testpmd
+--------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-2t1c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-2t1c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-vhost-base-i40e-testpmd
+--------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-4t2c-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-4t2c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-4t2c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-vhost-base-i40e-testpmd
+--------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-8t4c-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-8t4c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-8t4c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-vhost-base-i40e-vpp
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-2t1c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-2t1c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-vhost-base-i40e-vpp
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-4t2c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-4t2c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-4t2c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-vhost-base-i40e-vpp
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-8t4c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-8t4c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-64b-8t4c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-2n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-2n-skx-xxv710.rst
new file mode 100644
index 0000000000..91b86618d5
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-2n-skx-xxv710.rst
@@ -0,0 +1,184 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-skx-xxv710
+ ### 64b-?t?c-vhost-base-i40e
+ 2n1l-10ge2p1xxv710-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 2n1l-10ge2p1xxv710-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 2n1l-10ge2p1xxv710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 2n1l-10ge2p1xxv710-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.2N1L-25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Vppip4-Ndrpdr.64B-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-vppip4-ndrpdr
+
+2n-skx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-vhost-base-i40e-testpmd
+--------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-2t1c-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-2t1c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-2t1c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-vhost-base-i40e-testpmd
+--------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-4t2c-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-4t2c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-4t2c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-vhost-base-i40e-testpmd
+--------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-8t4c-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-8t4c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-8t4c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-vhost-base-i40e-vpp
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-2t1c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-2t1c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-2t1c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-vhost-base-i40e-vpp
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-4t2c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-4t2c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-4t2c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-vhost-base-i40e-vpp
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-64b-8t4c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-64b-8t4c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-64b-8t4c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-hsw-xl710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-hsw-xl710.rst
new file mode 100644
index 0000000000..23d6587471
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-hsw-xl710.rst
@@ -0,0 +1,184 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-hsw-xl710
+ ### 64b-?t?c-vhost-base-i40e
+ 10ge2p1xl710-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xl710-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xl710-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.40Ge2P1Xl710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.40Ge2P1Xl710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.40Ge2P1Xl710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.40Ge2P1Xl710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.40Ge2P1Xl710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.40Ge2P1Xl710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr10241Vm-Vppl2Xc-Ndrpdr.64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.40Ge2P1Xl710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1V-m-Vppl2Xc-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.40Ge2P1Xl710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Vppip4-Ndrpdr.64B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-vppip4-ndrpdr
+
+3n-hsw-xl710
+~~~~~~~~~~~~
+
+64b-1t1c-vhost-base-i40e-testpmd
+--------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-1t1c-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-64b-1t1c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-64b-1t1c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-vhost-base-i40e-testpmd
+--------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-2t2c-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-64b-2t2c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-64b-2t2c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-vhost-base-i40e-testpmd
+--------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-4t4c-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-64b-4t4c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-64b-4t4c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-1t1c-vhost-base-i40e-vpp
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-1t1c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-64b-1t1c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-64b-1t1c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-vhost-base-i40e-vpp
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-2t2c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-64b-2t2c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-64b-2t2c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-vhost-base-i40e-vpp
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-hsw-xl710-64b-4t4c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-hsw-xl710-64b-4t4c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:3n-hsw-xl710-64b-4t4c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-skx-x710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-skx-x710.rst
new file mode 100644
index 0000000000..0808af370c
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-skx-x710.rst
@@ -0,0 +1,186 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-skx-x710
+ #### 64b-?t?c-link-bonding-vhost-base-i40e
+ 10ge2p1x710-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x710-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x710-2lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x710-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x710-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x710-2lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X710-1Lbvpplacp-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X710-1Lbvpplacp-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X710-2Lbvpplacp-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-2lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X710-2Lbvpplacp-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-2lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X710-1Lbvpplacp-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X710-1Lbvpplacp-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X710-2Lbvpplacp-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-2lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X710-2Lbvpplacp-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-2lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+
+3n-skx-x710
+~~~~~~~~~~~
+
+64b-2t1c-link-bonding-vhost-base-i40e-testpmd
+---------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-64b-2t1c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-x710-64b-2t1c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-x710-64b-2t1c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-link-bonding-vhost-base-i40e-testpmd
+---------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-64b-4t2c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-x710-64b-4t2c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-x710-64b-4t2c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-link-bonding-vhost-base-i40e-testpmd
+---------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-64b-8t4c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-x710-64b-8t4c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-x710-64b-8t4c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-link-bonding-vhost-base-i40e-vpp
+-----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-64b-2t1c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-x710-64b-2t1c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-x710-64b-2t1c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-link-bonding-vhost-base-i40e-vpp
+-----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-64b-4t2c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-x710-64b-4t2c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-x710-64b-4t2c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-link-bonding-vhost-base-i40e-vpp
+-----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-x710-64b-8t4c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-x710-64b-8t4c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-x710-64b-8t4c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-skx-xxv710.rst
new file mode 100644
index 0000000000..8812367619
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-skx-xxv710.rst
@@ -0,0 +1,347 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-skx-xxv710
+ ### 64b-?t?c-vhost-base-i40e
+ 10ge2p1xxv710-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xxv710-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xxv710-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xxv710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xxv710-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Vppip4-Ndrpdr.64B-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-vppip4-ndrpdr
+
+ #### 64b-?t?c-link-bonding-vhost-base-i40e
+ 10ge2p1xxv710-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xxv710-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xxv710-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xxv710-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xxv710-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xxv710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-1Lbvpplacp-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-1Lbvpplacp-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-1Lbvpplacp-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-1Lbvpplacp-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.25Ge2P1Xxv710-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Vppl2Xc-Ndrpdr.64B-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr
+
+3n-skx-xxv710
+~~~~~~~~~~~~~
+
+64b-2t1c-vhost-base-i40e-testpmd
+--------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-vhost-base-i40e-testpmd
+--------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-4t2c-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-4t2c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-4t2c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-vhost-base-i40e-testpmd
+--------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-8t4c-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-8t4c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-8t4c-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-vhost-base-i40e-vpp
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-vhost-base-i40e-vpp
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-4t2c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-4t2c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-4t2c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-vhost-base-i40e-vpp
+----------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-8t4c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-8t4c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-8t4c-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-link-bonding-vhost-base-i40e-testpmd
+---------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="21" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-link-bonding-vhost-base-i40e-testpmd
+---------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="22" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-4t2c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-4t2c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-4t2c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-link-bonding-vhost-base-i40e-testpmd
+---------------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="23" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-8t4c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-8t4c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-8t4c-link-bonding-vhost-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-link-bonding-vhost-base-i40e-vpp
+-----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="31" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-2t1c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-2t1c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-2t1c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-link-bonding-vhost-base-i40e-vpp
+-----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="32" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-4t2c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-4t2c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-4t2c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-8t4c-link-bonding-vhost-base-i40e-vpp
+-----------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="33" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-skx-xxv710-64b-8t4c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-skx-xxv710-64b-8t4c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \label{fig:3n-skx-xxv710-64b-8t4c-link-bonding-vhost-base-i40e-vpp-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-tsh-x520.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-tsh-x520.rst
new file mode 100644
index 0000000000..3a13d16d3f
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost-3n-tsh-x520.rst
@@ -0,0 +1,192 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 3n-tsh-x520
+ ### 64b-?t?c-vhost-base-ixgbe
+ 10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Ethip4-Ip4Base-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr
+
+ #### 64b-?t?c-link-bonding-vhost-base-ixgbe
+ 10ge2p1x520-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x520-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-1Lbvpplacp-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Dot1Q-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-1Lbvpplacp-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Dot1Q-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+ Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Bdbasemaclrn-Eth-2Vhostvr1024-1Vm-Ndrpdr.64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
+
+3n-tsh-x520
+~~~~~~~~~~~
+
+64b-1t1c-vhost-base-ixgbe
+-------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-1t1c-vhost-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-1t1c-vhost-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-1t1c-vhost-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-vhost-base-ixgbe
+-------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-2t2c-vhost-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-2t2c-vhost-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-2t2c-vhost-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-vhost-base-ixgbe
+-------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-4t4c-vhost-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-4t4c-vhost-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-4t4c-vhost-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+64b-1t1c-link-bonding-vhost-base-ixgbe
+--------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="11" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-1t1c-link-bonding-vhost-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-1t1c-link-bonding-vhost-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-1t1c-link-bonding-vhost-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t2c-link-bonding-vhost-base-ixgbe
+--------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="12" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-2t2c-link-bonding-vhost-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-2t2c-link-bonding-vhost-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-2t2c-link-bonding-vhost-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t4c-link-bonding-vhost-base-ixgbe
+--------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="13" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/3n-tsh-x520-64b-4t4c-link-bonding-vhost-base-ixgbe-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-4t4c-link-bonding-vhost-base-ixgbe-ndr-hdrh-lat-percentile}
+ \label{fig:3n-tsh-x520-64b-4t4c-link-bonding-vhost-base-ixgbe-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost.rst
new file mode 100644
index 0000000000..1df88193ce
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vm_vhost.rst
@@ -0,0 +1,26 @@
+
+.. raw:: latex
+
+ \clearpage
+
+KVM VMs vhost-user
+==================
+
+This section includes summary graphs of VPP Phy-to-VM(s)-to-Phy packet
+latency with with VM virtio and VPP vhost-user virtual interfaces
+measured at 100% of discovered NDR throughput rate. Latency 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/vm_vhost?h=rls2001>`_.
+
+.. toctree::
+
+ vm_vhost-2n-skx-xxv710
+ vm_vhost-3n-skx-xxv710
+ vm_vhost-3n-skx-x710
+ vm_vhost-2n-clx-xxv710
+ vm_vhost-3n-hsw-xl710
+ vm_vhost-3n-tsh-x520
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vts-2n-clx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vts-2n-clx-xxv710.rst
new file mode 100644
index 0000000000..bcf1f99ed8
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vts-2n-clx-xxv710.rst
@@ -0,0 +1,104 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-clx-xxv710
+ ### 64b-?t?c-vts-l2switching-base-i40e
+ 10ge2p1xxv710-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-noacl-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xxv710-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-aclpermit-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xxv710-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-aclpermitreflect-2vhostvr1024-1vm-ndrpdr
+
+2n-clx-xxv710
+~~~~~~~~~~~~~
+
+114b-2t1c-vts-l2switching-base-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-114b-2t1c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-114b-2t1c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-114b-2t1c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+114b-4t2c-vts-l2switching-base-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-114b-4t2c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-114b-4t2c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-114b-4t2c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+114b-8t4c-vts-l2switching-base-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-114b-8t4c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-114b-8t4c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-clx-xxv710-114b-8t4c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vts-2n-skx-xxv710.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vts-2n-skx-xxv710.rst
new file mode 100644
index 0000000000..f46bb17314
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vts-2n-skx-xxv710.rst
@@ -0,0 +1,104 @@
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+..
+ ## 2n-skx-xxv710
+ ### 64b-?t?c-vts-l2switching-base-i40e
+ 10ge2p1xxv710-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-noacl-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xxv710-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-aclpermit-2vhostvr1024-1vm-ndrpdr
+ 10ge2p1xxv710-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-aclpermitreflect-2vhostvr1024-1vm-ndrpdr
+
+2n-skx-xxv710
+~~~~~~~~~~~~~
+
+114b-2t1c-vts-l2switching-base-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-114b-2t1c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-114b-2t1c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-114b-2t1c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+114b-4t2c-vts-l2switching-base-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-114b-4t2c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-114b-4t2c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-114b-4t2c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+114b-8t4c-vts-l2switching-base-i40e
+-----------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-skx-xxv710-114b-8t4c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile.html"></iframe>
+ <p><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-skx-xxv710-114b-8t4c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \label{fig:2n-skx-xxv710-114b-8t4c-vts-l2switching-base-i40e-ndr-hdrh-lat-percentile}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vts.rst b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vts.rst
new file mode 100644
index 0000000000..7697db546c
--- /dev/null
+++ b/docs/report/vpp_performance_tests/hdrh_packet_latency_percentile_graphs/vts.rst
@@ -0,0 +1,22 @@
+
+.. raw:: latex
+
+ \clearpage
+
+Virtual Topology System
+=======================
+
+This section includes summary graphs of VPP Phy-to-VM(s)-to-Phy packet
+latency with with VM virtio and VPP vhost-user virtual interfaces
+measured at 100% of discovered NDR throughput rate. Latency 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/vts?h=rls2001>`_.
+
+.. toctree::
+
+ vts-2n-skx-xxv710
+ vts-2n-clx-xxv710
diff --git a/docs/report/vpp_performance_tests/index.rst b/docs/report/vpp_performance_tests/index.rst
index a6d72ac4de..beb4dce988 100644
--- a/docs/report/vpp_performance_tests/index.rst
+++ b/docs/report/vpp_performance_tests/index.rst
@@ -9,6 +9,7 @@ VPP Performance
throughput_speedup_multi_core/index
packet_latency_graphs/index
hdrh_packet_latency_graphs/index
+ hdrh_packet_latency_percentile_graphs/index
soak_tests/index
reconf_tests/index
nf_service_density/index