aboutsummaryrefslogtreecommitdiffstats
path: root/docs/report/introduction/methodology_tcp_with_iperf3.rst
diff options
context:
space:
mode:
authorTibor Frank <tifrank@cisco.com>2020-01-30 09:10:38 +0100
committerTibor Frank <tifrank@cisco.com>2020-02-07 06:27:40 +0000
commit107438e93a51eefc61dc171cfa9b959007ccc739 (patch)
tree1e6d36c2a96d48c8821a88385751a5fde7185e19 /docs/report/introduction/methodology_tcp_with_iperf3.rst
parent5d8cbe573c3781663e134187def17360a4fa923e (diff)
Report: Placeholder for LD preload tests
- methodology - test results Change-Id: I0d102875045ab295d9b44fa7bc328f2a728803d7 Signed-off-by: Tibor Frank <tifrank@cisco.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Diffstat (limited to 'docs/report/introduction/methodology_tcp_with_iperf3.rst')
-rw-r--r--docs/report/introduction/methodology_tcp_with_iperf3.rst41
1 files changed, 41 insertions, 0 deletions
diff --git a/docs/report/introduction/methodology_tcp_with_iperf3.rst b/docs/report/introduction/methodology_tcp_with_iperf3.rst
new file mode 100644
index 0000000000..ef28dec4a3
--- /dev/null
+++ b/docs/report/introduction/methodology_tcp_with_iperf3.rst
@@ -0,0 +1,41 @@
+Hoststack Throughput Testing over TCP/IP with iperf3
+----------------------------------------------------
+
+`iperf3 bandwidth measurement tool <https://github.com/esnet/iperf>`_
+is used for measuring the maximum attainable bandwidth of the VPP Host
+Stack connection across two instances of VPP running on separate DUT
+nodes. iperf3 is a popular open source tool for active measurements
+of the maximum achievable bandwidth on IP networks.
+
+Because iperf3 utilizes the POSIX socket interface APIs, the current
+test configuration utilizes the LD_PRELOAD mechanism in the linux
+kernel to connect iperf3 to the VPP Host Stack using the VPP
+Communications Library (VCL) LD_PRELOAD library (libvcl_ldpreload.so).
+
+In the future, a forked version of iperf3 which has been modified to
+directly use the VCL application APIs may be added to determine the
+difference in performance of 'VCL Native' applications .vs. utilizing
+LD_PRELOAD which inherently has more overhead and other limitations.
+
+The test configuration is as follows:
+
+ DUT1 Network DUT2
+[ iperf3-client -> VPP1 ]=======[ VPP2 -> iperf3-server]
+
+where,
+
+ 1. iperf3 server attaches to VPP2 and LISTENs on VPP2:TCP port 5201.
+ 2. iperf3 client attaches to VPP1 and opens one or more stream
+ connections to VPP2:TCP port 5201.
+ 3. iperf3 client transmits a uni-directional stream as fast as the
+ VPP Host Stack allows to the iperf3 server for the test duration.
+ 4. At the end of the test the iperf3 client emits the goodput
+ measurements for all streams and the sum of all streams.
+
+ Test cases include 1 and 10 Streams with a 20 second test duration
+ with the VPP Host Stack configured to utilize the Cubic TCP
+ congestion algorithm.
+
+ Note: iperf3 is single threaded, so it is expected that the 10 stream
+ test does not show any performance improvement due to
+ multi-thread/multi-core execution.