aboutsummaryrefslogtreecommitdiffstats
path: root/resources
diff options
context:
space:
mode:
Diffstat (limited to 'resources')
-rw-r--r--resources/tools/report_gen/run_report.cfg60
-rwxr-xr-xresources/tools/report_gen/run_report.sh519
2 files changed, 312 insertions, 267 deletions
diff --git a/resources/tools/report_gen/run_report.cfg b/resources/tools/report_gen/run_report.cfg
new file mode 100644
index 0000000000..3288545be5
--- /dev/null
+++ b/resources/tools/report_gen/run_report.cfg
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+declare -r TRUE=0
+declare -r FALSE=1
+
+# set default values in config array
+typeset -A DIR
+typeset -A URL
+typeset -A JOB
+
+DIR[WORKING]=_tmp
+DIR[BUILD]=_build
+DIR[RST]=../../../docs/report
+
+DIR[STATIC]=${DIR[BUILD]}/_static
+DIR[STATIC,VPP]=${DIR[STATIC]}/vpp
+DIR[STATIC,DPDK]=${DIR[STATIC]}/dpdk
+DIR[STATIC,ARCH]=${DIR[STATIC]}/archive
+DIR[STATIC,TREND]=${DIR[STATIC]}/trending
+
+DIR[PLOT,VPP]=${DIR[WORKING]}/vpp_plot
+DIR[PLOT,DPDK]=${DIR[WORKING]}/dpdk_plot
+
+DIR[DTR]=${DIR[RST]}/detailed_test_results
+DIR[DTR,PERF,DPDK]=${DIR[DTR]}/dpdk_performance_results
+DIR[DTR,PERF,VPP]=${DIR[DTR]}/vpp_performance_results
+DIR[DTR,PERF,HC]=${DIR[DTR]}/honeycomb_performance_results
+DIR[DTR,FUNC,VPP]=${DIR[DTR]}/vpp_functional_results
+DIR[DTR,FUNC,HC]=${DIR[DTR]}/honeycomb_functional_results
+DIR[DTR,FUNC,NSHSFC]=${DIR[DTR]}/nshsfc_functional_results
+
+DIR[DTC]=${DIR[RST]}/test_configuration
+DIR[DTC,PERF,VPP]=${DIR[DTC]}/vpp_performance_configuration
+DIR[DTC,FUNC,VPP]=${DIR[DTC]}/vpp_functional_configuration
+
+DIR[DTO]=${DIR[RST]}/test_operational_data
+DIR[DTO,PERF,VPP]=${DIR[DTO]}/vpp_performance_operational_data
+
+DIR[CSS_PATCH_FILE]=${DIR[STATIC]}/theme_overrides.css
+
+URL[JENKINS,CSIT]='https://jenkins.fd.io/view/csit/job'
+URL[JENKINS,HC]='https://jenkins.fd.io/view/hc2vpp/job'
+
+JOB[PERF,VPP]=csit-vpp-perf-1707-all
+JOB[PERF,VPP,BLD]="9 10"
+JOB[PERF,VPP,FBLD]=10
+JOB[PERF,DPDK]=csit-dpdk-perf-1707-all
+JOB[PERF,DPDK,BLD]="1 2 3 4 5 6 7 8 9 10"
+JOB[PERF,DPDK,FBLD]=10
+JOB[FUNC,VPP]=csit-vpp-functional-1707-ubuntu1604-virl
+JOB[FUNC,VPP,BLD]=lastSuccessfulBuild
+JOB[FUNC,HC]=hc2vpp-csit-integration-1707-ubuntu1604
+JOB[FUNC,HC,BLD]=lastSuccessfulBuild
+JOB[FUNC,NSH]=hc2vpp-csit-integration-1707-ubuntu1604
+JOB[FUNC,NSH,BLD]=lastSuccessfulBuild
+
+JOB[1704,PERF,VPP]=csit-vpp-perf-1704-all
+JOB[1704,VPP,BLD]="6 7 8 9 10 12 14 15 16 17"
+JOB[1704,DPDK]=csit-dpdk-perf-1704-all
+JOB[1704,DPDK,BLD]="1 2 3 4 6 7 8 9 10 11"
diff --git a/resources/tools/report_gen/run_report.sh b/resources/tools/report_gen/run_report.sh
index 5cfbfa13b9..6ff3ad90ec 100755
--- a/resources/tools/report_gen/run_report.sh
+++ b/resources/tools/report_gen/run_report.sh
@@ -5,200 +5,183 @@ set -x
# Build locally without jenkins integrations
DEBUG=0
-# Build directories
-WORKING_DIR='_tmp'
-BUILD_DIR='_build'
+# Script directory
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-STATIC_DIR="${BUILD_DIR}/_static"
-STATIC_DIR_VPP="${STATIC_DIR}/vpp"
-STATIC_DIR_DPDK="${STATIC_DIR}/dpdk"
-STATIC_DIR_ARCH="${STATIC_DIR}/archive"
-CSS_PATCH_FILE="${STATIC_DIR}/theme_overrides.css"
-
-SOURCE_DIR='../../../docs/report'
-
-PLOT_VPP_SOURCE_DIR=${WORKING_DIR}/vpp_plot
-PLOT_DPDK_SOURCE_DIR=${WORKING_DIR}/dpdk_plot
-
-DTR_SOURCE_DIR=${SOURCE_DIR}/detailed_test_results
-DTR_DPDK_SOURCE_DIR=${DTR_SOURCE_DIR}/dpdk_performance_results
-DTR_VPP_PERF_SOURCE_DIR=${DTR_SOURCE_DIR}/vpp_performance_results
-DTR_VPP_FUNC_SOURCE_DIR=${DTR_SOURCE_DIR}/vpp_functional_results
-DTR_HC_PERF_SOURCE_DIR=${DTR_SOURCE_DIR}/honeycomb_performance_results
-DTR_HC_FUNC_SOURCE_DIR=${DTR_SOURCE_DIR}/honeycomb_functional_results
-DTR_NSHSFC_FUNC_SOURCE_DIR=${DTR_SOURCE_DIR}/nshsfc_functional_results
-
-DTC_SOURCE_DIR=${SOURCE_DIR}/test_configuration
-DTC_VPP_PERF_SOURCE_DIR=${DTC_SOURCE_DIR}/vpp_performance_configuration
-DTC_VPP_FUNC_SOURCE_DIR=${DTC_SOURCE_DIR}/vpp_functional_configuration
-
-DTO_SOURCE_DIR=${SOURCE_DIR}/test_operational_data
-DTO_VPP_PERF_SOURCE_OPER_DIR=${DTO_SOURCE_DIR}/vpp_performance_operational_data
-
-# Jenkins links
-CSIT_JEN_URL='https://jenkins.fd.io/view/csit/job'
-HC_JEN_URL='https://jenkins.fd.io/view/hc2vpp/job'
+# Load configuration
+source ${SCRIPT_DIR}/run_report.cfg
+# Install system dependencies
sudo apt-get -y update
sudo apt-get -y install libxml2 libxml2-dev libxslt-dev build-essential \
zlib1g-dev unzip
# Clean-up when finished
-trap 'rm -rf ${WORKING_DIR}; exit' EXIT
-trap 'rm -rf ${WORKING_DIR}; exit' ERR
+trap 'rm -rf ${DIR[WORKING]}; exit' EXIT
+trap 'rm -rf ${DIR[WORKING]}; exit' ERR
# Remove the old build
-rm -rf ${BUILD_DIR} || true
-rm -rf ${WORKING_DIR} || true
+rm -rf ${DIR[BUILD]} || true
+rm -rf ${DIR[WORKING]} || true
# Create working directories
-mkdir ${BUILD_DIR}
+mkdir ${DIR[WORKING]}
# Create virtual environment
-virtualenv ${WORKING_DIR}/env
-. ${WORKING_DIR}/env/bin/activate
+virtualenv ${DIR[WORKING]}/env
+. ${DIR[WORKING]}/env/bin/activate
-# Install Sphinx:
+# Install python dependencies:
pip install -r requirements.txt
export PYTHONPATH=`pwd`
# Download raw outputs for plots
echo Downloading raw outputs for plots ...
-mkdir -p ${STATIC_DIR_VPP}
-mkdir -p ${STATIC_DIR_DPDK}
-mkdir -p ${STATIC_DIR_ARCH}
-mkdir -p ${PLOT_VPP_SOURCE_DIR}
-mkdir -p ${PLOT_DPDK_SOURCE_DIR}
+mkdir -p ${DIR[STATIC,VPP]}
+mkdir -p ${DIR[STATIC,DPDK]}
+mkdir -p ${DIR[STATIC,ARCH]}
+mkdir -p ${DIR[STATIC,TREND]}
+mkdir -p ${DIR[PLOT,VPP]}
+mkdir -p ${DIR[PLOT,DPDK]}
### VPP PERFORMANCE SOURCE DATA
-JEN_JOB='csit-vpp-perf-1707-all'
-JEN_BUILD=(1)
-JEN_FBUILD=1
+#if [[ ${DEBUG} -eq 1 ]] ;
+# cp ./${JOB[PERF,VPP]}-${JOB[PERF,VPP,FBLD]}.zip ${DIR[STATIC,ARCH]}/${JOB[PERF,VPP]}-${JOB[PERF,VPP,FBLD]}.zip
+#fi
-for i in "${JEN_BUILD[@]}"; do
- 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
+blds=${JOB[PERF,VPP,BLD]}
+for i in ${blds[@]}; do
+ curl --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,VPP]}/${i}/robot/report/output_perf_data.xml \
+ --output ${DIR[PLOT,VPP]}/${JOB[PERF,VPP]}-${i}.xml
+ curl --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,VPP]}/${i}/robot/report/output_perf_data.json \
+ --output ${DIR[PLOT,VPP]}/${JOB[PERF,VPP]}-${i}.json
if [[ ${DEBUG} -eq 0 ]] ;
then
- curl --fail --silent ${CSIT_JEN_URL}/${JEN_JOB}/${i}/robot/report/\*zip\*/robot-plugin.zip \
- --output ${STATIC_DIR_ARCH}/${JEN_JOB}-${i}.zip
+ curl --fail --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,VPP]}/${i}/robot/report/\*zip\*/robot-plugin.zip \
+ --output ${DIR[STATIC,ARCH]}/${JOB[PERF,VPP]}-${i}.zip
fi
done
-
-if [[ ${DEBUG} -eq 0 ]] ;
-then
- 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" --formatting 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" --formatting rst --start 4 --level 2
-#else
-# cp ./${JEN_JOB}-${JEN_FBUILD}.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_FBUILD}.zip
-fi
+# Archive trending
+cp ${DIR[PLOT,VPP]}/* ${DIR[STATIC,TREND]}
+blds=${JOB[1704,VPP,BLD]}
+for i in ${blds[@]}; do
+ curl --silent ${URL[JENKINS,CSIT]}/${JOB[1704,PERF,VPP]}/${i}/robot/report/output_perf_data.xml \
+ --output ${DIR[STATIC,TREND]}/${JOB[1704,PERF,VPP]}-${i}.xml
+done
### DPDK PERFORMANCE SOURCE DATA
-JEN_JOB='csit-dpdk-perf-1707-all'
-JEN_BUILD=(1 2 3 4 5 6 7 8 9 10)
+#if [[ ${DEBUG} -eq 1 ]] ;
+# cp ./${JOB[PERF,DPDK]}-${JOB[PERF,DPDK,FBLD]}.zip ${DIR[STATIC,ARCH]}/${JOB[PERF,DPDK]}-${JOB[PERF,DPDK,FBLD]}.zip
+#fi
-for i in "${JEN_BUILD[@]}"; do
- 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
+blds=${JOB[PERF,DPDK,BLD]}
+for i in ${blds[@]}; do
+ curl --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,DPDK]}/${i}/robot/report/output_perf_data.xml \
+ --output ${DIR[PLOT,DPDK]}/${JOB[PERF,DPDK]}-${i}.xml
+ curl --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,DPDK]}/${i}/robot/report/output_perf_data.json \
+ --output ${DIR[PLOT,DPDK]}/${JOB[PERF,DPDK]}-${i}.json
if [[ ${DEBUG} -eq 0 ]] ;
then
- curl --fail --silent ${CSIT_JEN_URL}/${JEN_JOB}/${i}/robot/report/\*zip\*/robot-plugin.zip \
- --output ${STATIC_DIR_ARCH}/${JEN_JOB}-${i}.zip
+ curl --fail --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,DPDK]}/${i}/robot/report/\*zip\*/robot-plugin.zip \
+ --output ${DIR[STATIC,ARCH]}/${JOB[PERF,DPDK]}-${i}.zip
fi
done
-
-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
+cp ${DIR[PLOT,DPDK]}/* ${DIR[STATIC,TREND]}
### FUNCTIONAL SOURCE DATA
-JEN_JOB='csit-vpp-functional-1707-ubuntu1604-virl'
-JEN_BUILD='lastSuccessfulBuild'
+#if [[ ${DEBUG} -eq 1 ]] ;
+# cp ./${JOB[FUNC,DPDK]}-${JOB[FUNC,VPP,BLD]}.zip ${DIR[STATIC,ARCH]}/${JOB[FUNC,DPDK]}-${JOB[FUNC,VPP,BLD]}.zip
+#fi
if [[ ${DEBUG} -eq 0 ]] ;
then
- 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 ${DTR_VPP_FUNC_SOURCE_DIR}/vpp_functional_configuration.rst \
- --data "VAT_H" --formatting rst --start 5 --level 2
-#else
-# cp ./${JEN_JOB}-${JEN_BUILD}.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-${JEN_BUILD}.zip
+ curl --fail --silent ${URL[JENKINS,CSIT]}/${JOB[FUNC,DPDK]}/${JOB[FUNC,VPP,BLD]}/robot/report/\*zip\*/robot-plugin.zip \
+ --output ${DIR[STATIC,ARCH]}/${JOB[FUNC,DPDK]}-${JOB[FUNC,VPP,BLD]}.zip
fi
### HONEYCOMB SOURCE DATA
-JEN_JOB='hc2vpp-csit-integration-1707-ubuntu1604'
-JEN_BUILD='lastSuccessfulBuild'
+#if [[ ${DEBUG} -eq 1 ]] ;
+# cp ./${JOB[FUNC,HC]}-${JOB[FUNC,HC,BLD]}.zip ${DIR[STATIC,ARCH]}/${JOB[FUNC,HC]}-${JOB[FUNC,HC,BLD]}.zip
+#fi
if [[ ${DEBUG} -eq 0 ]] ;
then
- 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
+ curl --fail --silent ${URL[JENKINS,HC]}/${JOB[FUNC,HC]}/${JOB[FUNC,HC,BLD]}/robot/report/\*zip\*/robot-plugin.zip \
+ --output ${DIR[STATIC,ARCH]}/${JOB[FUNC,HC]}-${JOB[FUNC,HC,BLD]}.zip
fi
### NSH_SFC SOURCE DATA
-JEN_JOB='csit-nsh_sfc-verify-func-1707-ubuntu1604-virl'
-JEN_BUILD='lastSuccessfulBuild'
+#if [[ ${DEBUG} -eq 1 ]] ;
+# cp ./${JOB[FUNC,NSH]}-${JOB[FUNC,NSH,BLD]}.zip ${DIR[STATIC,ARCH]}/${JOB[FUNC,NSH]}-${JOB[FUNC,NSH,BLD]}.zip
+#fi
if [[ ${DEBUG} -eq 0 ]] ;
then
- 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 \
+ curl --fail --silent ${URL[JENKINS,CSIT]}/${JOB[FUNC,NSH]}/${JOB[FUNC,NSH,BLD]}/robot/report/\*zip\*/robot-plugin.zip \
+ --output ${DIR[STATIC,ARCH]}/${JOB[FUNC,NSH]}-${JOB[FUNC,NSH,BLD]}.zip
+fi
+
+# Data post processing
+
+if [[ ${DEBUG} -eq 0 ]] ;
+then
+ # VPP PERF
+ unzip -o ${DIR[STATIC,ARCH]}/${JOB[PERF,VPP]}-${JOB[PERF,VPP,FBLD]}.zip -d ${DIR[WORKING]}/
+ python run_robot_data.py -i ${DIR[WORKING]}/robot-plugin/output.xml \
+ --output ${DIR[DTR,PERF,VPP]}/vpp_performance_results.rst \
+ --formatting rst --start 4 --level 2
+ python run_robot_teardown_data.py -i ${DIR[WORKING]}/robot-plugin/output.xml \
+ --output ${DIR[DTC,PERF,VPP]}/vpp_performance_configuration.rst \
+ --data "VAT_H" --formatting rst --start 4 --level 2
+ python run_robot_teardown_data.py -i ${DIR[WORKING]}/robot-plugin/output.xml \
+ --output ${DIR[DTO,PERF,VPP]}/vpp_performance_operational_data.rst \
+ --data "SH_RUN" --formatting rst --start 4 --level 2
+
+ # DPDK PERF
+ unzip -o ${DIR[STATIC,ARCH]}/${JOB[PERF,DPDK]}-${JOB[PERF,DPDK,FBLD]}.zip -d ${DIR[STATIC,ARCH]}/
+ python run_robot_data.py -i ${DIR[WORKING]}/robot-plugin/output.xml \
+ --output ${DIR[DTR,PERF,DPDK]}/dpdk_performance_results.rst \
+ --formatting rst --start 4 --level 2
+
+ # VPP FUNC
+ unzip -o ${DIR[STATIC,ARCH]}/${JOB[FUNC,DPDK]}-${JOB[FUNC,VPP,BLD]}.zip -d ${DIR[WORKING]}/
+ python run_robot_data.py -i ${DIR[WORKING]}/robot-plugin/output.xml \
+ --output ${DIR[DTR,FUNC,VPP}/vpp_functional_results.rst \
+ --formatting rst --start 5 --level 2
+ python run_robot_teardown_data.py -i ${DIR[WORKING]}/robot-plugin/output.xml \
+ --output ${DIR[DTR,FUNC,VPP}/vpp_functional_configuration.rst \
+ --data "VAT_H" --formatting rst --start 5 --level 2
+
+ # HC FUNC
+ unzip -o ${DIR[STATIC,ARCH]}/${JOB[FUNC,HC]}-${JOB[FUNC,HC,BLD]}.zip -d ${DIR[WORKING]}/
+ python run_robot_data.py -i ${DIR[WORKING]}/robot-plugin/output.xml \
+ --output ${DIR[DTR,FUNC,HC]}/honeycomb_functional_results.rst \
+ --formatting rst --start 5 --level 2
+
+ # NSHSFC FUNC
+ unzip -o ${DIR[STATIC,ARCH]}/${JOB[FUNC,NSH]}-${JOB[FUNC,NSH,BLD]}.zip -d ${DIR[WORKING]}/
+ python run_robot_data.py -i ${DIR[WORKING]}/robot-plugin/output.xml \
+ --output ${DIR[DTR,FUNC,NSHSFC]}/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
# Delete temporary json files
-find ${SOURCE_DIR} -name "*.json" -type f -delete
+find ${DIR[RST]} -name "*.json" -type f -delete
# Generate the documentation
-
DATE=$(date -u '+%d-%b-%Y')
-
sphinx-build -v -c . -a -b html -E \
-D release=$1 -D version="$1 report - $DATE" \
- ${SOURCE_DIR} ${BUILD_DIR}/
+ ${DIR[RST]} ${DIR[BUILD]}/
# Patch the CSS for tables layout
-cat - > ${CSS_PATCH_FILE} <<"_EOF"
+cat - > ${DIR[CSS_PATCH_FILE]} <<"_EOF"
/* override table width restrictions */
@media screen and (min-width: 767px) {
.wy-table-responsive table td, .wy-table-responsive table th {
@@ -218,200 +201,200 @@ _EOF
# VPP L2
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-l2-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-l2-ndrdisc \
--title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
- --xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-2t2c-l2-ndrdisc \
+ --xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or (contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-l2-ndrdisc \
--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"))]'
+ --xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or (contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) 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"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-l2-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-l2-pdrdisc \
--title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" \
- --xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-2t2c-l2-pdrdisc \
+ --xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or (contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-l2-pdrdisc \
--title "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" \
- --xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"2T2C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
+ --xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or (contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"2T2C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
# VPP IP4
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-ethip4-ip4-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-ethip4-ip4-ndrdisc \
--title "64B-1t1c-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,"1T1C") and contains(@tags,"IP4FWD") and not(contains(@tags,"IPSEC")) and not(contains(@tags,"VHOST"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-2t2c-ethip4-ip4-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-ethip4-ip4-ndrdisc \
--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"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-ethip4-ip4-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-ethip4-ip4-pdrdisc \
--title "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc" \
--xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or contains(@tags,"SCALE") or contains(@tags,"FEATURE")) and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"1T1C") and contains(@tags,"IP4FWD") and not(contains(@tags,"IPSEC")) and not(contains(@tags,"VHOST"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-2t2c-ethip4-ip4-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-ethip4-ip4-pdrdisc \
--title "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc" \
--xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or contains(@tags,"SCALE") or contains(@tags,"FEATURE")) and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"2T2C") and contains(@tags,"IP4FWD") and not(contains(@tags,"IPSEC")) and not(contains(@tags,"VHOST"))]'
# VPP IP6
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/78B-1t1c-ethip6-ip6-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/78B-1t1c-ethip6-ip6-ndrdisc \
--title "78B-1t1c-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,"1T1C") and contains(@tags,"IP6FWD") and not(contains(@tags,"IPSEC")) and not(contains(@tags,"VHOST"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/78B-2t2c-ethip6-ip6-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/78B-2t2c-ethip6-ip6-ndrdisc \
--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"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/78B-1t1c-ethip6-ip6-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/78B-1t1c-ethip6-ip6-pdrdisc \
--title "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc" \
--xpath '//*[@framesize="78B" and (contains(@tags,"BASE") or contains(@tags,"SCALE") or contains(@tags,"FEATURE")) and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"1T1C") and contains(@tags,"IP6FWD") and not(contains(@tags,"IPSEC")) and not(contains(@tags,"VHOST"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/78B-2t2c-ethip6-ip6-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/78B-2t2c-ethip6-ip6-pdrdisc \
--title "78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc" \
--xpath '//*[@framesize="78B" and (contains(@tags,"BASE") or contains(@tags,"SCALE") or contains(@tags,"FEATURE")) and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"2T2C") and contains(@tags,"IP6FWD") and not(contains(@tags,"IPSEC")) and not(contains(@tags,"VHOST"))]'
# VPP IP4_overlay
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-ethip4-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-ethip4-ndrdisc \
--title "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" \
- --xpath '//*[@framesize="64B" and contains(@tags,"ENCAP") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") 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"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-2t2c-ethip4-ndrdisc \
+ --xpath '//*[@framesize="64B" and contains(@tags,"ENCAP") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") 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")) and not(contains(@tags, "IPSECHW"))]'
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-ethip4-ndrdisc \
--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"))]'
+ --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")) and not(contains(@tags, "IPSECHW"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-ethip4-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-ethip4-pdrdisc \
--title "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc" \
- --xpath '//*[@framesize="64B" and contains(@tags,"ENCAP") and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"1T1C") 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"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-2t2c-ethip4-pdrdisc \
+ --xpath '//*[@framesize="64B" and contains(@tags,"ENCAP") and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"1T1C") 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")) and not(contains(@tags, "IPSECHW"))]'
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-ethip4-pdrdisc \
--title "64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc" \
- --xpath '//*[@framesize="64B" and contains(@tags,"ENCAP") and contains(@tags,"PDRDISC") and not(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"))]'
+ --xpath '//*[@framesize="64B" and contains(@tags,"ENCAP") and contains(@tags,"PDRDISC") and not(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")) and not(contains(@tags, "IPSECHW"))]'
# VPP IP6_overlay
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/78B-1t1c-ethip6-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/78B-1t1c-ethip6-ndrdisc \
--title "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" \
--xpath '//*[@framesize="78B" and contains(@tags,"ENCAP") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") 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"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/78B-2t2c-ethip6-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/78B-2t2c-ethip6-ndrdisc \
--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"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/78B-1t1c-ethip6-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/78B-1t1c-ethip6-pdrdisc \
--title "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc" \
--xpath '//*[@framesize="78B" and contains(@tags,"ENCAP") and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"1T1C") 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"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/78B-2t2c-ethip6-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/78B-2t2c-ethip6-pdrdisc \
--title "78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc" \
--xpath '//*[@framesize="78B" and contains(@tags,"ENCAP") and contains(@tags,"PDRDISC") and not(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"))]'
# VPP VM VHOST
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-sel1-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,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") 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-sel1-ndrdisc \
+ --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and contains(@tags,"VHOST") and not(contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD"))]'
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,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") and (contains(@tags,"VXLAN") or contains(@tags,"IP4FWD") or contains(@tags,"DOT1Q"))]'
+ --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and contains(@tags,"VHOST") and not(contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-sel1-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,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") 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-sel1-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,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD"))]'
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,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") and (contains(@tags,"VXLAN") or contains(@tags,"IP4FWD") or contains(@tags,"DOT1Q"))]'
+ --xpath '//*[@framesize="64B" and contains(@tags,"PDRDISC") and contains(@tags,"2T2C") and not(contains(@tags,"NDRDISC")) and contains(@tags,"VHOST") and not(contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD"))]'
# VPP VM VHOST SELECTION
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-sel2-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,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-sel2-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,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-sel2-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,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-sel2-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,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"))]'
# VPP CRYPTO
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-ipsechw-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-ipsechw-ndrdisc \
--title "64B-1t1c-.*ipsec.*-ndrdisc" \
--xpath '//*[@framesize="64B" and not(contains(@tags, "VHOST")) and contains(@tags, "IP4FWD") and contains(@tags, "NDRDISC") and contains(@tags, "1T1C") and contains(@tags, "IPSECHW") and (contains(@tags, "IPSECTRAN") or contains(@tags, "IPSECTUN"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-2t2c-ipsechw-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-ipsechw-ndrdisc \
--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"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-ipsechw-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-ipsechw-pdrdisc \
--title "64B-1t1c-.*ipsec.*-pdrdisc" \
--xpath '//*[@framesize="64B" and not(contains(@tags, "VHOST")) and contains(@tags, "IP4FWD") and contains(@tags, "PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags, "1T1C") and contains(@tags, "IPSECHW") and (contains(@tags, "IPSECTRAN") or contains(@tags, "IPSECTUN"))]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-2t2c-ipsechw-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-ipsechw-pdrdisc \
--title "64B-2t2c-.*ipsec.*-pdrdisc" \
--xpath '//*[@framesize="64B" and not(contains(@tags, "VHOST")) and contains(@tags, "IP4FWD") and contains(@tags, "PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags, "2T2C") and contains(@tags, "IPSECHW") and (contains(@tags, "IPSECTRAN") or contains(@tags, "IPSECTUN"))]'
# DPDK
-python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
- --output ${STATIC_DIR_DPDK}/64B-1t1c-l2-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,DPDK]} \
+ --output ${DIR[STATIC,DPDK]}/64B-1t1c-l2-ndrdisc \
--title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
--xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
-python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
- --output ${STATIC_DIR_DPDK}/64B-2t2c-l2-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,DPDK]} \
+ --output ${DIR[STATIC,DPDK]}/64B-2t2c-l2-ndrdisc \
--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"))]'
-python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
- --output ${STATIC_DIR_DPDK}/64B-1t1c-ipv4-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,DPDK]} \
+ --output ${DIR[STATIC,DPDK]}/64B-1t1c-ipv4-ndrdisc \
--title "64B-1t1c-ethip4-ip4base-l3fwd-ndrdisc" \
--xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and contains(@tags,"IP4FWD")]' \
--lower 2000000 --upper 12000000
-python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
- --output ${STATIC_DIR_DPDK}/64B-2t2c-ipv4-ndrdisc \
+python run_plot.py --input ${DIR[PLOT,DPDK]} \
+ --output ${DIR[STATIC,DPDK]}/64B-2t2c-ipv4-ndrdisc \
--title "64B-2t2c-ethip4-ip4base-l3fwd-ndrdisc" \
--xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and contains(@tags,"IP4FWD")]' \
--lower 2000000 --upper 12000000
-python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
- --output ${STATIC_DIR_DPDK}/64B-1t1c-l2-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,DPDK]} \
+ --output ${DIR[STATIC,DPDK]}/64B-1t1c-l2-pdrdisc \
--title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" \
--xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
-python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
- --output ${STATIC_DIR_DPDK}/64B-2t2c-l2-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,DPDK]} \
+ --output ${DIR[STATIC,DPDK]}/64B-2t2c-l2-pdrdisc \
--title "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" \
--xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and not(contains(@tags,"NDRDISC")) and contains(@tags,"2T2C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
-python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
- --output ${STATIC_DIR_DPDK}/64B-1t1c-ipv4-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,DPDK]} \
+ --output ${DIR[STATIC,DPDK]}/64B-1t1c-ipv4-pdrdisc \
--title "64B-1t1c-ethip4-ip4base-l3fwd-pdrdisc" \
--xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"1T1C") and contains(@tags,"IP4FWD")]' \
--lower 20000000 --upper 30000000
-python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
- --output ${STATIC_DIR_DPDK}/64B-2t2c-ipv4-pdrdisc \
+python run_plot.py --input ${DIR[PLOT,DPDK]} \
+ --output ${DIR[STATIC,DPDK]}/64B-2t2c-ipv4-pdrdisc \
--title "64B-2t2c-ethip4-ip4base-l3fwd-pdrdisc" \
--xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"2T2C") and contains(@tags,"IP4FWD")]' \
--lower 20000000 --upper 30000000
@@ -420,109 +403,111 @@ python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
# VPP L2
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-l2-ndrdisc-lat50 \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-l2-ndrdisc-lat50 \
--title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
- --xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --latency lat_50
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-2t2c-l2-ndrdisc-lat50 \
+ --xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or (contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --latency lat_50
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-l2-ndrdisc-lat50 \
--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
+ --xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or (contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) 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 \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-ethip4-ip4-ndrdisc-lat50 \
--title "64B-1t1c-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,"1T1C") and contains(@tags,"IP4FWD") and not(contains(@tags,"IPSEC")) and not(contains(@tags,"VHOST"))]' --latency lat_50
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-2t2c-ethip4-ip4-ndrdisc-lat50 \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-ethip4-ip4-ndrdisc-lat50 \
--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 \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/78B-1t1c-ethip6-ip6-ndrdisc-lat50 \
--title "78B-1t1c-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,"1T1C") and contains(@tags,"IP6FWD") and not(contains(@tags,"IPSEC")) and not(contains(@tags,"VHOST"))]' --latency lat_50
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/78B-2t2c-ethip6-ip6-ndrdisc-lat50 \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/78B-2t2c-ethip6-ip6-ndrdisc-lat50 \
--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 \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-ethip4-ndrdisc-lat50 \
--title "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" \
- --xpath '//*[@framesize="64B" and contains(@tags,"ENCAP") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") 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
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-2t2c-ethip4-ndrdisc-lat50 \
+ --xpath '//*[@framesize="64B" and contains(@tags,"ENCAP") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") 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")) and not(contains(@tags, "IPSECHW"))]' --latency lat_50
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-ethip4-ndrdisc-lat50 \
--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
+ --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")) and not(contains(@tags, "IPSECHW"))]' --latency lat_50
# VPP IP6_overlay
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/78B-1t1c-ethip6-ndrdisc-lat50 \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/78B-1t1c-ethip6-ndrdisc-lat50 \
--title "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" \
--xpath '//*[@framesize="78B" and contains(@tags,"ENCAP") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") 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
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/78B-2t2c-ethip6-ndrdisc-lat50 \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/78B-2t2c-ethip6-ndrdisc-lat50 \
--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
+# VPP VM VHOST
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-sel1-ndrdisc-lat50 \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,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") 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-sel1-ndrdisc-lat50 \
+ --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and contains(@tags,"VHOST") and not(contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD"))]' --latency lat_50
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,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") and (contains(@tags,"VXLAN") or contains(@tags,"IP4FWD") or contains(@tags,"DOT1Q"))]' --latency lat_50
+ --xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and contains(@tags,"VHOST") and not(contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD"))]' --latency lat_50
+
+# VPP VM VHOST selection
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-sel2-ndrdisc-lat50 \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,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 \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,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 \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-ipsechw-ndrdisc-lat50 \
--title "64B-1t1c-.*ipsec.*-ndrdisc" \
--xpath '//*[@framesize="64B" and not(contains(@tags, "VHOST")) and contains(@tags, "IP4FWD") and contains(@tags, "NDRDISC") and contains(@tags, "1T1C") and contains(@tags, "IPSECHW") and (contains(@tags, "IPSECTRAN") or contains(@tags, "IPSECTUN"))]' --latency lat_50
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-2t2c-ipsechw-ndrdisc-lat50 \
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-ipsechw-ndrdisc-lat50 \
--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 \
+python run_plot.py --input ${DIR[PLOT,DPDK]} \
+ --output ${DIR[STATIC,DPDK]}/64B-1t1c-l2-ndrdisc-lat50 \
--title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
--xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --latency lat_50
-python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
- --output ${STATIC_DIR_DPDK}/64B-2t2c-l2-ndrdisc-lat50 \
+python run_plot.py --input ${DIR[PLOT,DPDK]} \
+ --output ${DIR[STATIC,DPDK]}/64B-2t2c-l2-ndrdisc-lat50 \
--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
-python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
- --output ${STATIC_DIR_DPDK}/64B-1t1c-ipv4-ndrdisc-lat50 \
+python run_plot.py --input ${DIR[PLOT,DPDK]} \
+ --output ${DIR[STATIC,DPDK]}/64B-1t1c-ipv4-ndrdisc-lat50 \
--title "64B-1t1c-ethip4-ip4base-l3fwd-ndrdisc" \
--xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and contains(@tags,"IP4FWD")]' --latency lat_50
-python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
- --output ${STATIC_DIR_DPDK}/64B-2t2c-ipv4-ndrdisc-lat50 \
+python run_plot.py --input ${DIR[PLOT,DPDK]} \
+ --output ${DIR[STATIC,DPDK]}/64B-2t2c-ipv4-ndrdisc-lat50 \
--title "64B-2t2c-ethip4-ip4base-l3fwd-ndrdisc" \
--xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and contains(@tags,"IP4FWD")]' --latency lat_50
# Create archive
echo Creating csit.report.tar.gz ...
-tar -czvf ./csit.report.tar.gz ${BUILD_DIR}
+tar -czvf ./csit.report.tar.gz ${DIR[BUILD]}