CSIT-618 CSIT rls1707 Report - Update IV 64/7664/4
authorPeter Mikus <pmikus@cisco.com>
Thu, 20 Jul 2017 09:03:03 +0000 (11:03 +0200)
committerPeter Mikus <pmikus@cisco.com>
Thu, 20 Jul 2017 09:30:55 +0000 (09:30 +0000)
Change-Id: Iff48d515ebdae40920660627b4b3b2e35351b3a1
Signed-off-by: Peter Mikus <pmikus@cisco.com>
13 files changed:
docs/report/detailed_test_results/dpdk_performance_results/index.rst
docs/report/detailed_test_results/honeycomb_functional_results/index.rst
docs/report/detailed_test_results/nshsfc_functional_results/index.rst
docs/report/detailed_test_results/vpp_functional_results/index.rst
docs/report/detailed_test_results/vpp_performance_results/index.rst
docs/report/test_configuration/vpp_functional_configuration/index.rst
docs/report/test_configuration/vpp_performance_configuration/index.rst
docs/report/test_operational_data/vpp_performance_operational_data/index.rst
docs/report/vpp_functional_tests/test_environment.rst
docs/report/vpp_performance_tests/packet_latency_graphs/vm_vhost.rst
docs/report/vpp_performance_tests/packet_throughput_graphs/vm_vhost.rst
resources/tools/report_gen/conf.py
resources/tools/report_gen/run_report.sh

index 9c2889e..fefffb3 100644 (file)
@@ -4,8 +4,7 @@ DPDK Performance Results
 .. note::
 
     Data sources for reported test results: i) FD.io test executor jobs
-    `###JOB###
-    <###LINK###>`_
+    `FD.io test executor dpdk performance jobs`_
     , ii) archived FD.io jobs test result `output files
     <../../_static/archive/>`_.
 
index 4223b1a..b054749 100644 (file)
@@ -4,8 +4,7 @@ HoneyComb Functional Results
 .. note::
 
     Data sources for reported test results: i) FD.io test executor jobs
-    `###JOB###
-    <###LINK###>`_
+    `FD.io test executor HoneyComb functional jobs`_
     , ii) archived FD.io jobs test result `output files
     <../../_static/archive/>`_.
 
index 11c168a..4907982 100644 (file)
@@ -4,8 +4,7 @@ NSH SFC Functional Results
 .. note::
 
     Data sources for reported test results: i) FD.io test executor jobs
-    `###JOB###
-    <###LINK###>`_
+    `FD.io test executor NSH_SFC functional jobs`_
     , ii) archived FD.io jobs test result `output files
     <../../_static/archive/>`_.
 
index 845ef4e..eeafc10 100644 (file)
@@ -4,8 +4,7 @@ VPP Functional Results
 .. note::
 
     Data sources for reported test results: i) FD.io test executor jobs
-    `###JOB###
-    <###LINK###>`_
+    `FD.io test executor vpp functional jobs`_
     , ii) archived FD.io jobs test result `output files
     <../../_static/archive/>`_.
 
index 03caaf2..112095a 100644 (file)
@@ -4,8 +4,7 @@ VPP Performance Results
 .. note::
 
     Data sources for reported test results: i) FD.io test executor jobs
-    `###JOB###
-    <###LINK###>`_
+    `FD.io test executor vpp performance jobs`_
     , ii) archived FD.io jobs test result `output files
     <../../_static/archive/>`_.
 
index f34ecc5..300c135 100644 (file)
@@ -4,8 +4,7 @@ VPP Functional Test Configs
 .. note::
 
     Data sources for reported test results: i) FD.io test executor jobs
-    `###JOB###
-    <###LINK###>`_
+    `FD.io test executor vpp functional jobs`_
     , ii) archived FD.io jobs test result `output files
     <../../_static/archive/>`_.
 
index 0abc839..a146d66 100644 (file)
@@ -4,8 +4,7 @@ VPP Performance Test Configs
 .. note::
 
     Data sources for reported test results: i) FD.io test executor jobs
-    `###JOB###
-    <###LINK###>`_
+    `FD.io test executor vpp performance jobs`_
     , ii) archived FD.io jobs test result `output files
     <../../_static/archive/>`_.
 
index e435440..756c57f 100644 (file)
@@ -4,8 +4,7 @@ VPP Performance Operational Data
 .. note::
 
     Data sources for reported test results: i) FD.io test executor jobs
-    `###JOB###
-    <###LINK###>`_
+    `FD.io test executor vpp performance jobs`_
     , ii) archived FD.io jobs test result `output files
     <../../_static/archive/>`_.
 
index bd57558..ba9b0f0 100644 (file)
@@ -6,9 +6,24 @@ VIRL testbed infrastructure consists of three identical VIRL hosts:
 \r
 - All hosts are Cisco UCS C240-M4 (2x Intel(R) Xeon(R) CPU E5-2699 v3 @2.30GHz,\r
   18c, 512GB RAM)\r
-- Hosts run Ubuntu 14.04.3\r
-- VIRL software versions:\r
+- tb4-virl1:\r
 \r
+  - Status: Production\r
+  - OS: Ubuntu 16.04.2\r
+  - STD server version 0.10.32.16\r
+  - UWM server version 0.10.32.16\r
+\r
+- tb4-virl2:\r
+\r
+  - Status: Production\r
+  - OS: Ubuntu 16.04.2\r
+  - STD server version 0.10.32.16\r
+  - UWM server version 0.10.32.16\r
+\r
+- tb4-virl3:\r
+\r
+  - Status: Production\r
+  - OS: Ubuntu 14.04.3\r
   - STD server version 0.10.24.7\r
   - UWM server version 0.10.24.7\r
 \r
index c721139..351b748 100644 (file)
@@ -12,9 +12,17 @@ VPP packet latency in 1t1c setup (1thread, 1core) is presented in the graph belo
 
 .. raw:: html
 
-    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-ndrdisc-lat50.html"></iframe>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-sel1-ndrdisc-lat50.html"></iframe>
 
-*Figure 1. VPP 1thread 1core - packet latency for Phy-to-VM-to-Phy VM vhost-user.*
+*Figure 1a. VPP 1thread 1core - packet latency for Phy-to-VM-to-Phy VM
+vhost-user selected TCs.*
+
+.. raw:: html
+
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-sel2-ndrdisc-lat50.html"></iframe>
+
+*Figure 1b. VPP 1thread 1core - packet latency for Phy-to-VM-to-Phy VM
+vhost-user selected TCs.*
 
 CSIT source code for the test cases used for above plots can be found in CSIT
 git repository:
@@ -26,9 +34,17 @@ VPP packet latency in 2t2c setup (2thread, 2core) is presented in the graph belo
 
 .. raw:: html
 
-    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-ndrdisc-lat50.html"></iframe>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-sel1-ndrdisc-lat50.html"></iframe>
+
+*Figure 2a. VPP 2threads 2cores - packet latency for Phy-to-VM-to-Phy VM
+vhost-user selected TCs.*
+
+.. raw:: html
+
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-sel2-ndrdisc-lat50.html"></iframe>
 
-*Figure 2. VPP 2threads 2cores - packet latency for Phy-to-VM-to-Phy VM vhost-user.*
+*Figure 2b. VPP 2threads 2cores - packet latency for Phy-to-VM-to-Phy VM
+vhost-user selected TCs.*
 
 CSIT source code for the test cases used for above plots can be found in CSIT
 git repository:
index f080e24..bd1ef79 100644 (file)
@@ -16,10 +16,17 @@ in the graph below.
 
 .. raw:: html
 
-    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-ndrdisc.html"></iframe>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-sel1-ndrdisc.html"></iframe>
 
-*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-VM-to-Phy VM vhost-user
-vhost-user.*
+*Figure 1a. VPP 1thread 1core - NDR Throughput for Phy-to-VM-to-Phy VM vhost-user
+selected TCs.*
+
+.. raw:: html
+
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-sel2-ndrdisc.html"></iframe>
+
+*Figure 1b. VPP 1thread 1core - NDR Throughput for Phy-to-VM-to-Phy VM
+vhost-user selected TCs.*
 
 CSIT source code for the test cases used for above plots can be found in CSIT
 git repository:
@@ -32,10 +39,17 @@ in the graph below.
 
 .. raw:: html
 
-    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-ndrdisc.html"></iframe>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-sel1-ndrdisc.html"></iframe>
+
+*Figure 2a. VPP 2threads 2cores - NDR Throughput for Phy-to-VM-to-Phy VM
+vhost-user selected TCs.*
+
+.. raw:: html
+
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-sel2-ndrdisc.html"></iframe>
 
-*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-VM-to-Phy VM vhost-user
-vhost-user.*
+*Figure 2b. VPP 2threads 2cores - NDR Throughput for Phy-to-VM-to-Phy VM
+vhost-user selected TCs.*
 
 CSIT source code for the test cases used for above plots can be found in CSIT
 git repository:
@@ -51,10 +65,17 @@ in the graph below. PDR measured for 0.5% packet loss ratio.
 
 .. raw:: html
 
-    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-pdrdisc.html"></iframe>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-sel1-pdrdisc.html"></iframe>
 
-*Figure 3. VPP 1thread 1core - PDR Throughput for Phy-to-VM-to-Phy VM vhost-user
-vhost-user.*
+*Figure 3a. VPP 1thread 1core - PDR Throughput for Phy-to-VM-to-Phy VM
+vhost-user selected TCs.*
+
+.. raw:: html
+
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-sel2-pdrdisc.html"></iframe>
+
+*Figure 3b. VPP 1thread 1core - PDR Throughput for Phy-to-VM-to-Phy VM
+vhost-user selected TCs.*
 
 CSIT source code for the test cases used for above plots can be found in CSIT
 git repository:
@@ -67,10 +88,17 @@ in the graph below. PDR measured for 0.5% packet loss ratio.
 
 .. raw:: html
 
-    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-pdrdisc.html"></iframe>
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-sel1-pdrdisc.html"></iframe>
+
+*Figure 4a. VPP 2thread 2core - PDR Throughput for Phy-to-VM-to-Phy VM
+vhost-user selected TCs.*
+
+.. raw:: html
+
+    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-sel2-pdrdisc.html"></iframe>
 
-*Figure 4. VPP 2thread 2core - PDR Throughput for Phy-to-VM-to-Phy VM vhost-user
-vhost-user.*
+*Figure 4b. VPP 2thread 2core - PDR Throughput for Phy-to-VM-to-Phy VM
+vhost-user selected TCs.*
 
 CSIT source code for the test cases used for above plots can be found in CSIT
 git repository:
index 8f18911..21a10d1 100644 (file)
@@ -76,7 +76,10 @@ rst_epilog = """
 .. _CSIT NSH_SFC Functional Tests Documentation: https://docs.fd.io/csit/rls1707/doc/tests.nsh_sfc.func.html
 .. _VPP test framework documentation: https://docs.fd.io/vpp/17.07/vpp_make_test/html/
 .. _FD.io test executor vpp performance jobs: https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1707-all
+.. _FD.io test executor vpp functional jobs: https://jenkins.fd.io/view/csit/job/csit-vpp-functional-1707-ubuntu1604-virl/lastSuccessfulBuild
 .. _FD.io test executor dpdk performance jobs: https://jenkins.fd.io/view/csit/job/csit-dpdk-perf-1707-all
+.. _FD.io test executor HoneyComb functional jobs: https://jenkins.fd.io/view/csit/job/hc2vpp-csit-integration-1707-ubuntu1604/lastSuccessfulBuild
+.. _FD.io test executor NSH_SFC functional jobs: https://jenkins.fd.io/view/csit/job/csit-nsh_sfc-verify-func-1707-ubuntu1604-virl/lastSuccessfulBuild
 .. _FD.io VPP compile job: https://jenkins.fd.io/view/vpp/job/vpp-merge-1707-ubuntu1604/
 .. _FD.io VPP compile job: https://jenkins.fd.io/view/vpp/job/vpp-merge-1707-ubuntu1604/
 .. _CSIT Testbed Setup: https://git.fd.io/csit/tree/resources/tools/testbed-setup/README.md?h=rls1707
index ccd380a..d73c466 100755 (executable)
@@ -73,47 +73,36 @@ mkdir -p ${PLOT_DPDK_SOURCE_DIR}
 
 ### VPP PERFORMANCE SOURCE DATA
 
-JEN_FILE_PERF='output_perf_data.xml'
 JEN_JOB='csit-vpp-perf-1707-all'
 JEN_BUILD=(1)
 JEN_FBUILD=1
 
 for i in "${JEN_BUILD[@]}"; do
-    curl --fail -fs ${CSIT_JEN_URL}/${JEN_JOB}/${i}/robot/report/output_perf_data.xml \
-        -o ${PLOT_VPP_SOURCE_DIR}/${JEN_JOB}-${i}.xml
-    if [[ ${DEBUG} -eq 1 ]] ;
+    curl --silent ${CSIT_JEN_URL}/${JEN_JOB}/${i}/robot/report/output_perf_data.xml \
+        --output ${PLOT_VPP_SOURCE_DIR}/${JEN_JOB}-${i}.xml
+    curl --silent ${CSIT_JEN_URL}/${JEN_JOB}/${i}/robot/report/output_perf_data.json \
+        --output ${PLOT_VPP_SOURCE_DIR}/${JEN_JOB}-${i}.json
+    if [[ ${DEBUG} -eq 0 ]] ;
     then
-        cp ./${JEN_JOB}-${JEN_FBUILD}.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_FBUILD}.zip
-    else
-        curl --fail -fs ${CSIT_JEN_URL}/${JEN_JOB}/${i}/robot/report/\*zip\*/robot-plugin.zip \
+        curl --fail --silent ${CSIT_JEN_URL}/${JEN_JOB}/${i}/robot/report/\*zip\*/robot-plugin.zip \
             -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${i}.zip
     fi
 done
 
-unzip -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_FBUILD}.zip -d ${WORKING_DIR}/
-python run_robot_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
-    --output ${DTR_VPP_PERF_SOURCE_DIR}/vpp_performance_results.rst \
-    --formatting rst --start 4 --level 2
-python run_robot_teardown_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
-    --output ${DTC_VPP_PERF_SOURCE_DIR}/vpp_performance_configuration.rst \
-    --data "VAT_H" -f "rst" --start 4 --level 2
-python run_robot_teardown_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
-    -o ${DTO_VPP_PERF_SOURCE_OPER_DIR}/vpp_performance_operational_data.rst \
-    --data "SH_RUN" -f "rst" --start 4 --level 2
 if [[ ${DEBUG} -eq 0 ]] ;
 then
-    sed -i -e "s@###JOB###@${JEN_JOB}\/${JEN_FBUILD}@g" \
-        ${DTR_VPP_PERF_SOURCE_DIR}/index.rst
-    sed -i -e "s@###LINK###@${CSIT_JEN_URL}\/${JEN_JOB}\/${JEN_FBUILD}@g" \
-        ${DTR_VPP_PERF_SOURCE_DIR}/index.rst
-    sed -i -e "s@###JOB###@${JEN_JOB}\/${JEN_FBUILD}@g" \
-        ${DTC_VPP_PERF_SOURCE_DIR}/index.rst
-    sed -i -e "s@###LINK###@${CSIT_JEN_URL}\/${JEN_JOB}\/${JEN_FBUILD}@g" \
-        ${DTC_VPP_PERF_SOURCE_DIR}/index.rst
-    sed -i -e "s@###JOB###@${JEN_JOB}\/${JEN_FBUILD}@g" \
-        ${DTO_VPP_PERF_SOURCE_OPER_DIR}/index.rst
-    sed -i -e "s@###LINK###@${CSIT_JEN_URL}\/${JEN_JOB}\/${JEN_FBUILD}@g" \
-        ${DTO_VPP_PERF_SOURCE_OPER_DIR}/index.rst
+    unzip -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_FBUILD}.zip -d ${WORKING_DIR}/
+    python run_robot_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
+        --output ${DTR_VPP_PERF_SOURCE_DIR}/vpp_performance_results.rst \
+        --formatting rst --start 4 --level 2
+    python run_robot_teardown_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
+        --output ${DTC_VPP_PERF_SOURCE_DIR}/vpp_performance_configuration.rst \
+        --data "VAT_H" -f "rst" --start 4 --level 2
+    python run_robot_teardown_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
+        --output ${DTO_VPP_PERF_SOURCE_OPER_DIR}/vpp_performance_operational_data.rst \
+        --data "SH_RUN" -f "rst" --start 4 --level 2
+#else
+#    cp ./${JEN_JOB}-${JEN_FBUILD}.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_FBUILD}.zip
 fi
 
 ### DPDK PERFORMANCE SOURCE DATA
@@ -122,105 +111,81 @@ JEN_JOB='csit-dpdk-perf-1707-all'
 JEN_BUILD=(1 2 3 4 5 6 7 8 9 10)
 
 for i in "${JEN_BUILD[@]}"; do
-    curl --fail -fs ${CSIT_JEN_URL}/${JEN_JOB}/${i}/robot/report/output_perf_data.xml \
-        -o ${PLOT_DPDK_SOURCE_DIR}/${JEN_JOB}-${i}.xml
-    if [[ ${DEBUG} -eq 1 ]] ;
+    curl --silent ${CSIT_JEN_URL}/${JEN_JOB}/${i}/robot/report/output_perf_data.xml \
+        --output ${PLOT_DPDK_SOURCE_DIR}/${JEN_JOB}-${i}.xml
+    curl --silent ${CSIT_JEN_URL}/${JEN_JOB}/${i}/robot/report/output_perf_data.json \
+        --output ${PLOT_DPDK_SOURCE_DIR}/${JEN_JOB}-${i}.json
+    if [[ ${DEBUG} -eq 0 ]] ;
     then
-        cp ./${JEN_JOB}-${JEN_BUILD[-1]}.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD[-1]}.zip
-    else
-        curl --fail -fs ${CSIT_JEN_URL}/${JEN_JOB}/${i}/robot/report/\*zip\*/robot-plugin.zip \
-            -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${i}.zip
-
-        sed -i -e "s@###JOB###@${JEN_JOB}\/${JEN_BUILD[-1]}@g" \
-            ${DTR_DPDK_SOURCE_DIR}/index.rst
-        sed -i -e "s@###LINK###@${CSIT_JEN_URL}\/${JEN_JOB}\/${JEN_BUILD[-1]}@g" \
-            ${DTR_DPDK_SOURCE_DIR}/index.rst
+        curl --fail --silent ${CSIT_JEN_URL}/${JEN_JOB}/${i}/robot/report/\*zip\*/robot-plugin.zip \
+            --output ${STATIC_DIR_ARCH}/${JEN_JOB}-${i}.zip
     fi
 done
 
-unzip -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD[-1]}.zip -d ${WORKING_DIR}/
-python run_robot_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
-    --output ${DTR_DPDK_SOURCE_DIR}/dpdk_performance_results.rst \
-    --formatting rst --start 4 --level 2
+if [[ ${DEBUG} -eq 0 ]] ;
+then
+    unzip -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD[-1]}.zip -d ${WORKING_DIR}/
+    python run_robot_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
+        --output ${DTR_DPDK_SOURCE_DIR}/dpdk_performance_results.rst \
+        --formatting rst --start 4 --level 2
+#else
+#    cp ./${JEN_JOB}-${JEN_FBUILD}.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_FBUILD}.zip
+fi
 
 ### FUNCTIONAL SOURCE DATA
 
 JEN_JOB='csit-vpp-functional-1707-ubuntu1604-virl'
 JEN_BUILD='lastSuccessfulBuild'
 
-if [[ ${DEBUG} -eq 1 ]] ;
+if [[ ${DEBUG} -eq 0 ]] ;
 then
-    cp ./${JEN_JOB}-${JEN_BUILD}.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip
-else
-    curl -fs ${CSIT_JEN_URL}/${JEN_JOB}/${JEN_BUILD}/robot/report/\*zip\*/robot-plugin.zip \
-        -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip
-
-    sed -i -e "s@###JOB###@${JEN_JOB}\/${JEN_BUILD}@g" \
-        ${DTR_VPP_FUNC_SOURCE_DIR}/index.rst
-    sed -i -e "s@###LINK###@${CSIT_JEN_URL}\/${JEN_JOB}\/${JEN_BUILD}@g" \
-        ${DTR_VPP_FUNC_SOURCE_DIR}/index.rst
-    sed -i -e "s@###JOB###@${JEN_JOB}\/${JEN_BUILD}@g" \
-        ${DTC_VPP_FUNC_SOURCE_DIR}/index.rst
-    sed -i -e "s@###LINK###@${CSIT_JEN_URL}\/${JEN_JOB}\/${JEN_BUILD}@g" \
-        ${DTC_VPP_FUNC_SOURCE_DIR}/index.rst
+    curl --fail --silent ${CSIT_JEN_URL}/${JEN_JOB}/${JEN_BUILD}/robot/report/\*zip\*/robot-plugin.zip \
+        --output ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip
+    unzip -o ${static_dir_arch}/${jen_job}-${jen_build}.zip -d ${working_dir}/
+    python run_robot_data.py -i ${working_dir}/robot-plugin/output.xml \
+        --output ${dtr_vpp_func_source_dir}/vpp_functional_results.rst \
+        --formatting rst --start 5 --level 2
+    python run_robot_teardown_data.py -i ${working_dir}/robot-plugin/output.xml \
+        --output ${dtc_vpp_func_source_dir}/vpp_functional_configuration.rst \
+        --data "vat_h" -f "rst" --start 5 --level 2
+#else
+#    cp ./${JEN_JOB}-${JEN_BUILD}.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip
 fi
 
-unzip -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip -d ${WORKING_DIR}/
-python run_robot_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
-    --output ${DTR_VPP_FUNC_SOURCE_DIR}/vpp_functional_results.rst \
-    --formatting rst --start 5 --level 2
-python run_robot_teardown_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
-    --output ${DTC_VPP_FUNC_SOURCE_DIR}/vpp_functional_configuration.rst \
-    --data "VAT_H" -f "rst" --start 5 --level 2
-
 ### HONEYCOMB SOURCE DATA
 
 JEN_JOB='hc2vpp-csit-integration-1707-ubuntu1604'
 JEN_BUILD='lastSuccessfulBuild'
 
-if [[ ${DEBUG} -eq 1 ]] ;
+if [[ ${DEBUG} -eq 0 ]] ;
 then
-    cp ./${JEN_JOB}-${JEN_BUILD}.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip
-else
-    curl -fs ${HC_JEN_URL}/${JEN_JOB}/${JEN_BUILD}/robot/report/\*zip\*/robot-plugin.zip \
-        -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip
-
-    sed -i -e "s@###JOB###@${JEN_JOB}\/${JEN_BUILD}@g" \
-        ${DTR_HC_FUNC_SOURCE_DIR}/index.rst
-    sed -i -e "s@###LINK###@${HC_JEN_URL}\/${JEN_JOB}\/${JEN_BUILD}@g" \
-        ${DTR_HC_FUNC_SOURCE_DIR}/index.rst
+    curl --fail --silent ${HC_JEN_URL}/${JEN_JOB}/${JEN_BUILD}/robot/report/\*zip\*/robot-plugin.zip \
+        --output ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip
+    unzip -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip -d ${WORKING_DIR}/
+    python run_robot_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
+        --output ${DTR_HC_FUNC_SOURCE_DIR}/honeycomb_functional_results.rst \
+        --formatting rst --start 5 --level 2
+#else
+#    cp ./${JEN_JOB}-${JEN_BUILD}.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip
 fi
 
-unzip -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip -d ${WORKING_DIR}/
-python run_robot_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
-    --output ${DTR_HC_FUNC_SOURCE_DIR}/honeycomb_functional_results.rst \
-    --formatting rst --start 5 --level 2
-
 ### NSH_SFC SOURCE DATA
 
 JEN_JOB='csit-nsh_sfc-verify-func-1707-ubuntu1604-virl'
 JEN_BUILD='lastSuccessfulBuild'
 
-if [[ ${DEBUG} -eq 1 ]] ;
+if [[ ${DEBUG} -eq 0 ]] ;
 then
-    cp ./${JEN_JOB}-${JEN_BUILD}.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip
-else
-    curl -fs ${CSIT_JEN_URL}/${JEN_JOB}/${JEN_BUILD}/robot/report/\*zip\*/robot-plugin.zip \
-        -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip
-
-    sed -i -e "s@###JOB###@${JEN_JOB}\/${JEN_BUILD}@g" \
-        ${DTR_NSHSFC_FUNC_SOURCE_DIR}/index.rst
-    sed -i -e "s@###LINK###@${HC_JEN_URL}\/${JEN_JOB}\/${JEN_BUILD}@g" \
-        ${DTR_NSHSFC_FUNC_SOURCE_DIR}/index.rst
+    curl --fail --silent ${CSIT_JEN_URL}/${JEN_JOB}/${JEN_BUILD}/robot/report/\*zip\*/robot-plugin.zip \
+        --output ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip
+    unzip -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip -d ${WORKING_DIR}/
+    python run_robot_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
+        --output ${DTR_NSHSFC_FUNC_SOURCE_DIR}/nshsfc_functional_results.rst \
+        --formatting rst --start 5 --level 2
+#else
+#    cp ./${JEN_JOB}-${JEN_BUILD}.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip
 fi
 
-unzip -o ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip -d ${WORKING_DIR}/
-python run_robot_data.py -i ${WORKING_DIR}/robot-plugin/output.xml \
-    --output ${DTR_NSHSFC_FUNC_SOURCE_DIR}/nshsfc_functional_results.rst \
-    --formatting rst --start 5 --level 2
-
-
-
 # Delete temporary json files
 find ${SOURCE_DIR} -name "*.json" -type f -delete
 
@@ -354,40 +319,40 @@ python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
 # VPP VM VHOST
 
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
-    --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-ndrdisc \
+    --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-sel1-ndrdisc \
     --title "64B-1t1c-.*vhost.*-ndrdisc" \
-    --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and contains(@tags,"VHOST")]'
+    --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and contains(@tags,"VHOST") and (contains(@tags,"VXLAN") or contains(@tags,"IP4FWD") or contains(@tags,"DOT1Q"))]'
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
-    --output ${STATIC_DIR_VPP}/64B-2t2c-vhost-ndrdisc \
+    --output ${STATIC_DIR_VPP}/64B-2t2c-vhost-sel1-ndrdisc \
     --title "64B-2t2c-.*vhost.*-ndrdisc" \
-    --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and contains(@tags,"VHOST")]'
+    --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and contains(@tags,"VHOST") and (contains(@tags,"VXLAN") or contains(@tags,"IP4FWD") or contains(@tags,"DOT1Q"))]'
 
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
-    --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-pdrdisc \
+    --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-sel1-pdrdisc \
     --title "64B-1t1c-.*vhost.*-pdrdisc" \
-    --xpath '//*[@framesize="64B" and contains(@tags,"PDRDISC") and contains(@tags,"1T1C") and not(contains(@tags,"NDRDISC")) and contains(@tags,"VHOST")]'
+    --xpath '//*[@framesize="64B" and contains(@tags,"PDRDISC") and contains(@tags,"1T1C") and not(contains(@tags,"NDRDISC")) and contains(@tags,"VHOST") and (contains(@tags,"VXLAN") or contains(@tags,"IP4FWD") or contains(@tags,"DOT1Q"))]'
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
-    --output ${STATIC_DIR_VPP}/64B-2t2c-vhost-pdrdisc \
+    --output ${STATIC_DIR_VPP}/64B-2t2c-vhost-sel1-pdrdisc \
     --title "64B-2t2c-.*vhost.*-pdrdisc" \
-    --xpath '//*[@framesize="64B" and contains(@tags,"PDRDISC") and contains(@tags,"2T2C") and not(contains(@tags,"NDRDISC")) and contains(@tags,"VHOST")]'
+    --xpath '//*[@framesize="64B" and contains(@tags,"PDRDISC") and contains(@tags,"2T2C") and not(contains(@tags,"NDRDISC")) and contains(@tags,"VHOST") and (contains(@tags,"VXLAN") or contains(@tags,"IP4FWD") or contains(@tags,"DOT1Q"))]'
 
 # VPP VM VHOST SELECTION
 
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
-    --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-sel1-ndrdisc \
+    --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-sel2-ndrdisc \
     --title "64B-1t1c-.*vhost.*-ndrdisc" \
     --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and contains(@tags,"VHOST") and not(contains(@tags,"VXLAN")) and not(contains(@tags,"IP4FWD")) and not(contains(@tags,"DOT1Q")) and not(contains(name(), "2Vm"))]'
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
-    --output ${STATIC_DIR_VPP}/64B-2t2c-vhost-sel1-ndrdisc \
+    --output ${STATIC_DIR_VPP}/64B-2t2c-vhost-sel2-ndrdisc \
     --title "64B-2t2c-.*vhost.*-ndrdisc" \
     --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and contains(@tags,"VHOST") and not(contains(@tags,"VXLAN")) and not(contains(@tags,"IP4FWD")) and not(contains(@tags,"DOT1Q")) and not(contains(name(), "2Vm"))]'
 
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
-    --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-sel1-pdrdisc \
+    --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-sel2-pdrdisc \
     --title "64B-1t1c-.*vhost.*-pdrdisc" \
     --xpath '//*[@framesize="64B" and contains(@tags,"PDRDISC") and contains(@tags,"1T1C") and not(contains(@tags,"NDRDISC")) and contains(@tags,"VHOST") and not(contains(@tags,"VXLAN")) and not(contains(@tags,"IP4FWD")) and not(contains(@tags,"DOT1Q")) and not(contains(name(), "2Vm"))]'
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
-    --output ${STATIC_DIR_VPP}/64B-2t2c-vhost-sel1-pdrdisc \
+    --output ${STATIC_DIR_VPP}/64B-2t2c-vhost-sel2-pdrdisc \
     --title "64B-2t2c-.*vhost.*-pdrdisc" \
     --xpath '//*[@framesize="64B" and contains(@tags,"PDRDISC") and contains(@tags,"2T2C") and not(contains(@tags,"NDRDISC")) and contains(@tags,"VHOST") and not(contains(@tags,"VXLAN")) and not(contains(@tags,"IP4FWD")) and not(contains(@tags,"DOT1Q")) and not(contains(name(), "2Vm"))]'
 
@@ -453,6 +418,8 @@ python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
 
 # Plot latency
 
+# VPP L2
+
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
     --output ${STATIC_DIR_VPP}/64B-1t1c-l2-ndrdisc-lat50 \
     --title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
@@ -462,6 +429,8 @@ python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
     --title "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
     --xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --latency lat_50
 
+# VPP IP4
+
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
     --output ${STATIC_DIR_VPP}/64B-1t1c-ethip4-ip4-ndrdisc-lat50 \
     --title "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" \
@@ -471,6 +440,8 @@ python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
     --title "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" \
     --xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or contains(@tags,"SCALE") or contains(@tags,"FEATURE")) and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and contains(@tags,"IP4FWD") and not(contains(@tags,"IPSEC")) and not(contains(@tags,"VHOST"))]' --latency lat_50
 
+# VPP IP6
+
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
     --output ${STATIC_DIR_VPP}/78B-1t1c-ethip6-ip6-ndrdisc-lat50 \
     --title "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" \
@@ -480,6 +451,8 @@ python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
     --title "78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" \
     --xpath '//*[@framesize="78B" and (contains(@tags,"BASE") or contains(@tags,"SCALE") or contains(@tags,"FEATURE")) and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and contains(@tags,"IP6FWD") and not(contains(@tags,"IPSEC")) and not(contains(@tags,"VHOST"))]' --latency lat_50
 
+# VPP IP4_overlay
+
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
     --output ${STATIC_DIR_VPP}/64B-1t1c-ethip4-ndrdisc-lat50 \
     --title "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" \
@@ -489,6 +462,8 @@ python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
     --title "64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" \
     --xpath '//*[@framesize="64B" and contains(@tags,"ENCAP") and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and (contains(@tags,"VXLAN") or contains(@tags,"VXLANGPE") or contains(@tags,"LISP") or contains(@tags,"LISPGPE") or contains(@tags,"GRE")) and not(contains(@tags,"VHOST"))]' --latency lat_50
 
+# VPP IP6_overlay
+
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
     --output ${STATIC_DIR_VPP}/78B-1t1c-ethip6-ndrdisc-lat50 \
     --title "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" \
@@ -498,14 +473,27 @@ python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
     --title "78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" \
     --xpath '//*[@framesize="78B" and contains(@tags,"ENCAP") and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and (contains(@tags,"VXLAN") or contains(@tags,"VXLANGPE") or contains(@tags,"LISP") or contains(@tags,"LISPGPE") or contains(@tags,"GRE")) and not(contains(@tags,"VHOST"))]' --latency lat_50
 
+# VPP VM VHOST latency
+
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
-    --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-ndrdisc-lat50 \
+    --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-sel1-ndrdisc-lat50 \
     --title "64B-1t1c-.*vhost.*-ndrdisc" \
-    --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and contains(@tags,"VHOST")]' --latency lat_50
+    --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and contains(@tags,"VHOST") and (contains(@tags,"VXLAN") or contains(@tags,"IP4FWD") or contains(@tags,"DOT1Q"))]' --latency lat_50
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
-    --output ${STATIC_DIR_VPP}/64B-2t2c-vhost-ndrdisc-lat50 \
+    --output ${STATIC_DIR_VPP}/64B-2t2c-vhost-sel1-ndrdisc-lat50 \
     --title "64B-2t2c-.*vhost.*-ndrdisc" \
-    --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and contains(@tags,"VHOST")]' --latency lat_50
+    --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and contains(@tags,"VHOST") and (contains(@tags,"VXLAN") or contains(@tags,"IP4FWD") or contains(@tags,"DOT1Q"))]' --latency lat_50
+
+python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
+    --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-sel2-ndrdisc-lat50 \
+    --title "64B-1t1c-.*vhost.*-ndrdisc" \
+    --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and contains(@tags,"VHOST") and not(contains(@tags,"VXLAN")) and not(contains(@tags,"IP4FWD")) and not(contains(@tags,"DOT1Q")) and not(contains(name(), "2Vm"))]' --latency lat_50
+python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
+    --output ${STATIC_DIR_VPP}/64B-2t2c-vhost-sel2-ndrdisc-lat50 \
+    --title "64B-2t2c-.*vhost.*-ndrdisc" \
+    --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and contains(@tags,"VHOST") and not(contains(@tags,"VXLAN")) and not(contains(@tags,"IP4FWD")) and not(contains(@tags,"DOT1Q")) and not(contains(name(), "2Vm"))]' --latency lat_50
+
+# VPP CRYPTO
 
 python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
     --output ${STATIC_DIR_VPP}/64B-1t1c-ipsechw-ndrdisc-lat50 \
@@ -516,6 +504,8 @@ python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
     --title "64B-2t2c-.*ipsec.*-ndrdisc" \
     --xpath '//*[@framesize="64B" and not(contains(@tags, "VHOST")) and contains(@tags, "IP4FWD") and contains(@tags, "NDRDISC") and contains(@tags, "2T2C") and contains(@tags, "IPSECHW") and (contains(@tags, "IPSECTRAN") or contains(@tags, "IPSECTUN"))]' --latency lat_50
 
+# DPDK
+
 python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
     --output ${STATIC_DIR_DPDK}/64B-1t1c-l2-ndrdisc-lat50 \
     --title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
@@ -536,4 +526,3 @@ python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
 # Create archive
 echo Creating csit.report.tar.gz ...
 tar -czvf ./csit.report.tar.gz ${BUILD_DIR}
-