aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorTibor Frank <tifrank@cisco.com>2020-09-28 16:02:01 +0200
committerTibor Frank <tifrank@cisco.com>2020-10-05 10:13:20 +0200
commit3f066fb53b32b82403197291fc1260025be90592 (patch)
tree7e50e9698e91d4133f788c37b0558aed7782fde4 /docs
parent6d2573c5cfa89389817eb672e7023c7b3b20d26f (diff)
Report: Add NAT44
Change-Id: I9bb8340e7921bce32b3bd51b8a54f33bc74f41ec Signed-off-by: Tibor Frank <tifrank@cisco.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/report/vpp_performance_tests/packet_throughput_graphs/index.rst1
-rw-r--r--docs/report/vpp_performance_tests/packet_throughput_graphs/ip4-2n-clx-xxv710.rst43
-rw-r--r--docs/report/vpp_performance_tests/packet_throughput_graphs/nat44-2n-clx-xxv710.rst287
-rw-r--r--docs/report/vpp_performance_tests/packet_throughput_graphs/nat44.rst20
-rw-r--r--docs/report/vpp_performance_tests/throughput_speedup_multi_core/index.rst1
-rw-r--r--docs/report/vpp_performance_tests/throughput_speedup_multi_core/ip4-2n-clx-xxv710.rst43
-rw-r--r--docs/report/vpp_performance_tests/throughput_speedup_multi_core/nat44-2n-clx-xxv710.rst287
-rw-r--r--docs/report/vpp_performance_tests/throughput_speedup_multi_core/nat44.rst22
8 files changed, 618 insertions, 86 deletions
diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/index.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/index.rst
index c6150e03ec..7b038cffde 100644
--- a/docs/report/vpp_performance_tests/packet_throughput_graphs/index.rst
+++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/index.rst
@@ -150,6 +150,7 @@ Additional information about graph data:
ip6
srv6
ip4_tunnels
+ nat44
vm_vhost
container_memif
ipsec
diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/ip4-2n-clx-xxv710.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/ip4-2n-clx-xxv710.rst
index 13f4df554c..122180f29c 100644
--- a/docs/report/vpp_performance_tests/packet_throughput_graphs/ip4-2n-clx-xxv710.rst
+++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/ip4-2n-clx-xxv710.rst
@@ -284,46 +284,3 @@
\includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-2t1c-features-ip4routing-base-dpdk-pdr}
\label{fig:2n-clx-xxv710-64b-2t1c-features-ip4routing-base-dpdk-pdr}
\end{figure}
-
-.. raw:: latex
-
- \clearpage
-
-64b-2t1c-features-nat44det-scale-avf
-------------------------------------
-
-.. raw:: html
-
- <center>
- <iframe id="1221" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-features-nat44det-scale-avf-ndr.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-nat44det-scale-avf-ndr}
- \label{fig:2n-clx-xxv710-64b-2t1c-features-nat44det-scale-avf-ndr}
- \end{figure}
-
-.. raw:: latex
-
- \clearpage
-
-.. raw:: html
-
- <center>
- <iframe id="1222" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-features-nat44det-scale-avf-pdr.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-nat44det-scale-avf-pdr}
- \label{fig:2n-clx-xxv710-64b-2t1c-features-nat44det-scale-avf-pdr}
- \end{figure}
diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/nat44-2n-clx-xxv710.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/nat44-2n-clx-xxv710.rst
new file mode 100644
index 0000000000..04c1898683
--- /dev/null
+++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/nat44-2n-clx-xxv710.rst
@@ -0,0 +1,287 @@
+
+.. 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-nat44det-ip4routing-stl-bidir-avf
+-------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01n" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-stl-bidir-avf-ndr.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-nat44det-ip4routing-stl-bidir-avf-ndr}
+ \label{fig:2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-stl-bidir-avf-ndr}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <center>
+ <iframe id="01p" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-stl-bidir-avf-pdr.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-nat44det-ip4routing-stl-bidir-avf-pdr}
+ \label{fig:2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-stl-bidir-avf-pdr}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-nat44ed-ip4routing-stl-unidir-avf
+-------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="02n" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-stl-unidir-avf-ndr.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-nat44det-ip4routing-stl-unidir-avf-ndr}
+ \label{fig:2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-stl-unidir-avf-ndr}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <center>
+ <iframe id="02p" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-stl-unidir-avf-pdr.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-nat44det-ip4routing-stl-unidir-avf-pdr}
+ \label{fig:2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-stl-unidir-avf-pdr}
+ \end{figure}
+
+..
+ .. raw:: latex
+
+ \clearpage
+
+ 64b-nat44ed-ip4routing-udp-stf-cps-avf
+ --------------------------------------
+
+ .. raw:: html
+
+ <center>
+ <iframe id="03n" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-udp-stf-cps-avf-ndr.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-nat44det-ip4routing-udp-stf-cps-avf-ndr}
+ \label{fig:2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-udp-stf-cps-avf-ndr}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ .. raw:: html
+
+ <center>
+ <iframe id="03p" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-udp-stf-cps-avf-pdr.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-nat44det-ip4routing-udp-stf-cps-avf-pdr}
+ \label{fig:2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-udp-stf-cps-avf-pdr}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ 64b-nat44ed-ip4routing-tcp-stf-cps-avf
+ --------------------------------------
+
+ .. raw:: html
+
+ <center>
+ <iframe id="04n" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-tcp-stf-cps-avf-ndr.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-nat44det-ip4routing-tcp-stf-cps-avf-ndr}
+ \label{fig:2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-tcp-stf-cps-avf-ndr}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ .. raw:: html
+
+ <center>
+ <iframe id="04p" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-tcp-stf-cps-avf-pdr.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-nat44det-ip4routing-tcp-stf-cps-avf-pdr}
+ \label{fig:2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-tcp-stf-cps-avf-pdr}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ 64b-nat44ed-ip4routing-udp-stf-pps-avf
+ --------------------------------------
+
+ .. raw:: html
+
+ <center>
+ <iframe id="05n" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-udp-stf-pps-avf-ndr.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-nat44det-ip4routing-udp-stf-pps-avf-ndr}
+ \label{fig:2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-udp-stf-pps-avf-ndr}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ .. raw:: html
+
+ <center>
+ <iframe id="05p" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-udp-stf-pps-avf-pdr.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-nat44det-ip4routing-udp-stf-pps-avf-pdr}
+ \label{fig:2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-udp-stf-pps-avf-pdr}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ 64b-nat44ed-ip4routing-tcp-stf-pps-avf
+ --------------------------------------
+
+ .. raw:: html
+
+ <center>
+ <iframe id="06n" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-tcp-stf-pps-avf-ndr.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-nat44det-ip4routing-tcp-stf-pps-avf-ndr}
+ \label{fig:2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-tcp-stf-pps-avf-ndr}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ .. raw:: html
+
+ <center>
+ <iframe id="06p" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-tcp-stf-pps-avf-pdr.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-nat44det-ip4routing-tcp-stf-pps-avf-pdr}
+ \label{fig:2n-clx-xxv710-64b-2t1c-nat44det-ip4routing-tcp-stf-pps-avf-pdr}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/nat44.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/nat44.rst
new file mode 100644
index 0000000000..420b6ff659
--- /dev/null
+++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/nat44.rst
@@ -0,0 +1,20 @@
+
+.. raw:: latex
+
+ \clearpage
+
+NAT44 IPv4 Routing
+==================
+
+Following sections include summary graphs of VPP Phy-to-Phy performance
+with IPv4 Routed-Forwarding, including NDR throughput (zero packet loss)
+and PDR throughput (<0.5% packet loss). Performance is reported for VPP
+running in multiple configurations of VPP worker thread(s), a.k.a. VPP
+data plane thread(s), and their physical CPU core(s) placement.
+
+CSIT source code for the test cases used for plots can be found in
+`CSIT git repository <https://git.fd.io/csit/tree/tests/vpp/perf/ip4?h=rls2001>`_.
+
+.. toctree::
+
+ nat44-2n-clx-xxv710
diff --git a/docs/report/vpp_performance_tests/throughput_speedup_multi_core/index.rst b/docs/report/vpp_performance_tests/throughput_speedup_multi_core/index.rst
index db259d12b8..ebb270b9c8 100644
--- a/docs/report/vpp_performance_tests/throughput_speedup_multi_core/index.rst
+++ b/docs/report/vpp_performance_tests/throughput_speedup_multi_core/index.rst
@@ -57,6 +57,7 @@ Additional information about graph data:
ip6
srv6
ip4_tunnels
+ nat44
vm_vhost
container_memif
ipsec
diff --git a/docs/report/vpp_performance_tests/throughput_speedup_multi_core/ip4-2n-clx-xxv710.rst b/docs/report/vpp_performance_tests/throughput_speedup_multi_core/ip4-2n-clx-xxv710.rst
index 9d74452bc4..69a09151e3 100644
--- a/docs/report/vpp_performance_tests/throughput_speedup_multi_core/ip4-2n-clx-xxv710.rst
+++ b/docs/report/vpp_performance_tests/throughput_speedup_multi_core/ip4-2n-clx-xxv710.rst
@@ -284,46 +284,3 @@
\includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{2n-clx-xxv710-64b-features-ip4routing-base-dpdk-pdr-tsa}
\label{fig:2n-clx-xxv710-64b-features-ip4routing-base-dpdk-pdr-tsa}
\end{figure}
-
-.. raw:: latex
-
- \clearpage
-
-64b-features-nat44det-scale-avf
--------------------------------
-
-.. raw:: html
-
- <center>
- <iframe id="1221" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-features-nat44det-scale-avf-ndr-tsa.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-features-nat44det-scale-avf-ndr-tsa}
- \label{fig:2n-clx-xxv710-64b-features-nat44det-scale-avf-ndr-tsa}
- \end{figure}
-
-.. raw:: latex
-
- \clearpage
-
-.. raw:: html
-
- <center>
- <iframe id="1222" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-features-nat44det-scale-avf-pdr-tsa.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-features-nat44det-scale-avf-pdr-tsa}
- \label{fig:2n-clx-xxv710-64b-features-nat44det-scale-avf-pdr-tsa}
- \end{figure}
diff --git a/docs/report/vpp_performance_tests/throughput_speedup_multi_core/nat44-2n-clx-xxv710.rst b/docs/report/vpp_performance_tests/throughput_speedup_multi_core/nat44-2n-clx-xxv710.rst
new file mode 100644
index 0000000000..dbb51be0f0
--- /dev/null
+++ b/docs/report/vpp_performance_tests/throughput_speedup_multi_core/nat44-2n-clx-xxv710.rst
@@ -0,0 +1,287 @@
+
+.. 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-nat44det-ip4routing-stl-bidir-avf
+-------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01p" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-nat44det-ip4routing-stl-bidir-avf-ndr-tsa.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-nat44det-ip4routing-stl-bidir-avf-ndr-tsa}
+ \label{fig:2n-clx-xxv710-64b-nat44det-ip4routing-stl-bidir-avf-ndr-tsa}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <center>
+ <iframe id="01n" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-nat44det-ip4routing-stl-bidir-avf-pdr-tsa.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-nat44det-ip4routing-stl-bidir-avf-pdr-tsa}
+ \label{fig:2n-clx-xxv710-64b-nat44det-ip4routing-stl-bidir-avf-pdr-tsa}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-nat44ed-ip4routing-stl-unidir-avf
+-------------------------------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01p" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-nat44det-ip4routing-stl-unidir-avf-ndr-tsa.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-nat44det-ip4routing-stl-unidir-avf-ndr-tsa}
+ \label{fig:2n-clx-xxv710-64b-nat44det-ip4routing-stl-unidir-avf-ndr-tsa}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <center>
+ <iframe id="01n" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-nat44det-ip4routing-stl-unidir-avf-pdr-tsa.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-nat44det-ip4routing-stl-unidir-avf-pdr-tsa}
+ \label{fig:2n-clx-xxv710-64b-nat44det-ip4routing-stl-unidir-avf-pdr-tsa}
+ \end{figure}
+
+..
+ .. raw:: latex
+
+ \clearpage
+
+ 64b-nat44ed-ip4routing-udp-stf-cps-avf
+ --------------------------------------
+
+ .. raw:: html
+
+ <center>
+ <iframe id="01p" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-nat44det-ip4routing-udp-stf-cps-avf-ndr-tsa.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-nat44det-ip4routing-udp-stf-cps-avf-ndr-tsa}
+ \label{fig:2n-clx-xxv710-64b-nat44det-ip4routing-udp-stf-cps-avf-ndr-tsa}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ .. raw:: html
+
+ <center>
+ <iframe id="01n" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-nat44det-ip4routing-udp-stf-cps-avf-pdr-tsa.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-nat44det-ip4routing-udp-stf-cps-avf-pdr-tsa}
+ \label{fig:2n-clx-xxv710-64b-nat44det-ip4routing-udp-stf-cps-avf-pdr-tsa}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ 64b-nat44ed-ip4routing-tcp-stf-cps-avf
+ --------------------------------------
+
+ .. raw:: html
+
+ <center>
+ <iframe id="01p" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-nat44det-ip4routing-tcp-stf-cps-avf-ndr-tsa.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-nat44det-ip4routing-tcp-stf-cps-avf-ndr-tsa}
+ \label{fig:2n-clx-xxv710-64b-nat44det-ip4routing-tcp-stf-cps-avf-ndr-tsa}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ .. raw:: html
+
+ <center>
+ <iframe id="01n" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-nat44det-ip4routing-tcp-stf-cps-avf-pdr-tsa.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-nat44det-ip4routing-tcp-stf-cps-avf-pdr-tsa}
+ \label{fig:2n-clx-xxv710-64b-nat44det-ip4routing-tcp-stf-cps-avf-pdr-tsa}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ 64b-nat44ed-ip4routing-udp-stf-pps-avf
+ --------------------------------------
+
+ .. raw:: html
+
+ <center>
+ <iframe id="01p" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-nat44det-ip4routing-udp-stf-pps-avf-ndr-tsa.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-nat44det-ip4routing-udp-stf-pps-avf-ndr-tsa}
+ \label{fig:2n-clx-xxv710-64b-nat44det-ip4routing-udp-stf-pps-avf-ndr-tsa}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ .. raw:: html
+
+ <center>
+ <iframe id="01n" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-nat44det-ip4routing-udp-stf-pps-avf-pdr-tsa.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-nat44det-ip4routing-udp-stf-pps-avf-pdr-tsa}
+ \label{fig:2n-clx-xxv710-64b-nat44det-ip4routing-udp-stf-pps-avf-pdr-tsa}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ 64b-nat44ed-ip4routing-tcp-stf-pps-avf
+ --------------------------------------
+
+ .. raw:: html
+
+ <center>
+ <iframe id="01p" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-nat44det-ip4routing-tcp-stf-pps-avf-ndr-tsa.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-nat44det-ip4routing-tcp-stf-pps-avf-ndr-tsa}
+ \label{fig:2n-clx-xxv710-64b-nat44det-ip4routing-tcp-stf-pps-avf-ndr-tsa}
+ \end{figure}
+
+ .. raw:: latex
+
+ \clearpage
+
+ .. raw:: html
+
+ <center>
+ <iframe id="01n" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/2n-clx-xxv710-64b-nat44det-ip4routing-tcp-stf-pps-avf-pdr-tsa.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-nat44det-ip4routing-tcp-stf-pps-avf-pdr-tsa}
+ \label{fig:2n-clx-xxv710-64b-nat44det-ip4routing-tcp-stf-pps-avf-pdr-tsa}
+ \end{figure}
diff --git a/docs/report/vpp_performance_tests/throughput_speedup_multi_core/nat44.rst b/docs/report/vpp_performance_tests/throughput_speedup_multi_core/nat44.rst
new file mode 100644
index 0000000000..e5c7dd0ad4
--- /dev/null
+++ b/docs/report/vpp_performance_tests/throughput_speedup_multi_core/nat44.rst
@@ -0,0 +1,22 @@
+
+.. raw:: latex
+
+ \clearpage
+
+NAT44 IPv4 Routing
+==================
+
+Following sections include Throughput Speedup Analysis for VPP multi-
+core multi-thread configurations with no Hyper-Threading, specifically
+for tested 2t2c (2threads, 2cores) and 4t4c scenarios. 1t1c throughput
+results are used as a reference for reported speedup ratio. Input data
+used for the graphs comes from Phy-to-Phy 64B performance tests with VPP
+IPv4 Routed-Forwarding, including NDR throughput (zero packet loss) and
+PDR throughput (<0.5% packet loss).
+
+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::
+
+ nat44-2n-clx-xxv710