diff options
author | 2020-01-30 09:10:38 +0100 | |
---|---|---|
committer | 2020-02-07 06:28:12 +0000 | |
commit | e1f2f97b23ec5ae55336d0735ea6fe6a5dd2ba24 (patch) | |
tree | 55167519eae3358dbe87826ec97e40cec826a80c /docs/report/introduction/methodology_tcp_with_iperf3.rst | |
parent | 36faaef3ec7cd40b37526cbe6c545e8c1c9c3e10 (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>
(cherry picked from commit 107438e93a51eefc61dc171cfa9b959007ccc739)
Diffstat (limited to 'docs/report/introduction/methodology_tcp_with_iperf3.rst')
-rw-r--r-- | docs/report/introduction/methodology_tcp_with_iperf3.rst | 41 |
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. |