set -x
# Build locally without jenkins integrations
-DEBUG=1
+DEBUG=0
# Build directories
WORKING_DIR='_tmp'
PLOT_DPDK_SOURCE_DIR=${WORKING_DIR}/dpdk_plot
DTR_SOURCE_DIR=${SOURCE_DIR}/detailed_test_results
-DTR_PERF_SOURCE_DIR=${DTR_SOURCE_DIR}/vpp_performance_results
DTR_DPDK_SOURCE_DIR=${DTR_SOURCE_DIR}/dpdk_performance_results
-DTR_FUNC_SOURCE_DIR=${DTR_SOURCE_DIR}/vpp_functional_results
-DTR_HONEYCOMB_SOURCE_DIR=${DTR_SOURCE_DIR}/honeycomb_functional_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_PERF_SOURCE_DIR=${DTC_SOURCE_DIR}/vpp_performance_configuration
-DTC_FUNC_SOURCE_DIR=${DTC_SOURCE_DIR}/vpp_functional_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_PERF_SOURCE_OPER_DIR=${DTO_SOURCE_DIR}/vpp_performance_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'
sudo apt-get -y install libxml2 libxml2-dev libxslt-dev build-essential \
zlib1g-dev unzip
-# Clean-up when finished:
+# Clean-up when finished
trap 'rm -rf ${WORKING_DIR}; exit' EXIT
trap 'rm -rf ${WORKING_DIR}; exit' ERR
-# Remove the old build:
+# Remove the old build
rm -rf ${BUILD_DIR} || true
rm -rf ${WORKING_DIR} || true
# Create working directories
mkdir ${BUILD_DIR}
-# Create virtual environment:
+# Create virtual environment
virtualenv ${WORKING_DIR}/env
. ${WORKING_DIR}/env/bin/activate
### VPP PERFORMANCE SOURCE DATA
JEN_FILE_PERF='output_perf_data.xml'
-JEN_JOB='csit-vpp-perf-1704-all'
-JEN_BUILD=(6 7 8 9 10 12 14 15 16 17)
+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 ]] ;
then
- cp ./${JEN_JOB}-10.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-10.zip
+ 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 \
-o ${STATIC_DIR_ARCH}/${JEN_JOB}-${i}.zip
fi
done
-unzip -o ${STATIC_DIR_ARCH}/${JEN_JOB}-10.zip -d ${WORKING_DIR}/
+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_PERF_SOURCE_DIR}/vpp_performance_results.rst \
+ --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_PERF_SOURCE_DIR}/vpp_performance_configuration.rst \
+ --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_PERF_SOURCE_OPER_DIR}/vpp_performance_operational_data.rst \
+ -o ${DTO_VPP_PERF_SOURCE_OPER_DIR}/vpp_performance_operational_data.rst \
--data "SH_RUN" -f "rst" --start 4 --level 2
-sed -i -e "s@###JOB###@${JEN_JOB}\/75@g" \
- ${DTR_PERF_SOURCE_DIR}/index.rst
-sed -i -e "s@###LINK###@${CSIT_JEN_URL}\/${JEN_JOB}\/75@g" \
- ${DTR_PERF_SOURCE_DIR}/index.rst
-sed -i -e "s@###JOB###@${JEN_JOB}\/75@g" \
- ${DTC_PERF_SOURCE_DIR}/index.rst
-sed -i -e "s@###LINK###@${CSIT_JEN_URL}\/${JEN_JOB}\/75@g" \
- ${DTC_PERF_SOURCE_DIR}/index.rst
-sed -i -e "s@###JOB###@${JEN_JOB}\/75@g" \
- ${DTO_PERF_SOURCE_OPER_DIR}/index.rst
-sed -i -e "s@###LINK###@${CSIT_JEN_URL}\/${JEN_JOB}\/75@g" \
- ${DTO_PERF_SOURCE_OPER_DIR}/index.rst
+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
+fi
### DPDK PERFORMANCE SOURCE DATA
-JEN_JOB='csit-dpdk-perf-master-all'
-JEN_BUILD=(13 14 15 16)
+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 ]] ;
then
- cp ./${JEN_JOB}-16.zip ${STATIC_DIR_ARCH}/${JEN_JOB}-16.zip
+ 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
fi
done
-unzip -o ${STATIC_DIR_ARCH}/${JEN_JOB}-16.zip -d ${WORKING_DIR}/
+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 3 --level 2
-sed -i -e "s@###JOB###@${JEN_JOB}\/16@g" \
- ${DTR_DPDK_SOURCE_DIR}/index.rst
-sed -i -e "s@###LINK###@${CSIT_JEN_URL}\/${JEN_JOB}\/16@g" \
- ${DTR_DPDK_SOURCE_DIR}/index.rst
+ --formatting rst --start 4 --level 2
### FUNCTIONAL SOURCE DATA
-JEN_JOB='csit-vpp-functional-master-ubuntu1604-virl'
+JEN_JOB='csit-vpp-functional-1707-ubuntu1604-virl'
JEN_BUILD='lastSuccessfulBuild'
if [[ ${DEBUG} -eq 1 ]] ;
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
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_FUNC_SOURCE_DIR}/vpp_functional_results.rst \
+ --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_FUNC_SOURCE_DIR}/vpp_functional_configuration.rst \
+ --output ${DTC_VPP_FUNC_SOURCE_DIR}/vpp_functional_configuration.rst \
--data "VAT_H" -f "rst" --start 5 --level 2
-sed -i -e "s@###JOB###@${JEN_JOB}\/${JEN_BUILD}@g" \
- ${DTR_FUNC_SOURCE_DIR}/index.rst
-sed -i -e "s@###LINK###@${CSIT_JEN_URL}\/${JEN_JOB}\/${JEN_BUILD}@g" \
- ${DTR_FUNC_SOURCE_DIR}/index.rst
-sed -i -e "s@###JOB###@${JEN_JOB}\/${JEN_BUILD}@g" \
- ${DTC_FUNC_SOURCE_DIR}/index.rst
-sed -i -e "s@###LINK###@${CSIT_JEN_URL}\/${JEN_JOB}\/${JEN_BUILD}@g" \
- ${DTC_FUNC_SOURCE_DIR}/index.rst
### HONEYCOMB SOURCE DATA
-JEN_JOB='hc2vpp-csit-integration-master-ubuntu1604'
+JEN_JOB='hc2vpp-csit-integration-1707-ubuntu1604'
JEN_BUILD='lastSuccessfulBuild'
if [[ ${DEBUG} -eq 1 ]] ;
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
+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 ]] ;
+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
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_HONEYCOMB_SOURCE_DIR}/honeycomb_functional_results.rst \
- --formatting rst --start 3 --level 2
-sed -i -e "s@###JOB###@${JEN_JOB}\/${JEN_BUILD}@g" \
- ${DTR_HONEYCOMB_SOURCE_DIR}/index.rst
-sed -i -e "s@###LINK###@${HC_JEN_URL}\/${JEN_JOB}\/${JEN_BUILD}@g" \
- ${DTR_HONEYCOMB_SOURCE_DIR}/index.rst
+ --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
-# Generate the documentation:
+# Generate the documentation
DATE=$(date -u '+%d-%b-%Y')
# Plot packets per second
+# VPP L2
+
python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
--output ${STATIC_DIR_VPP}/64B-1t1c-l2-ndrdisc \
--title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-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_VPP_SOURCE_DIR} \
+ --output ${STATIC_DIR_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 \
+ --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"))]'
+
+# VPP IP4
+
python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
--output ${STATIC_DIR_VPP}/64B-1t1c-ethip4-ip4-ndrdisc \
--title "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*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 \
+ --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 \
+ --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 \
--title "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*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 \
+ --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 \
+ --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 \
--title "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-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"))]'
+python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
+ --output ${STATIC_DIR_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 \
+ --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"))]'
+
+# VPP IP6_overlay
+
python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
--output ${STATIC_DIR_VPP}/78B-1t1c-ethip6-ndrdisc \
--title "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-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 \
+ --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 \
+ --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-ndrdisc \
--title "64B-1t1c-.*vhost.*-ndrdisc" \
--xpath '//*[@framesize="64B" and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and contains(@tags,"VHOST")]'
python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_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 \
- --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-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"))]'
+ --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-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")]'
python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_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"))]'
+ --output ${STATIC_DIR_VPP}/64B-2t2c-vhost-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")]'
-python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_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 \
- --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 VM VHOST SELECTION
python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_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"))]'
+ --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") 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}/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"))]'
+ --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") 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-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"))]'
+ --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") 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-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"))]'
+ --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") 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}/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 \
- --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 CRYPTO
python run_plot.py --input ${PLOT_VPP_SOURCE_DIR} \
- --output ${STATIC_DIR_VPP}/64B-1t1c-vhost-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")]'
+ --output ${STATIC_DIR_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-vhost-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")]'
+ --output ${STATIC_DIR_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 \
--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 \
--title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
python run_plot.py --input ${PLOT_DPDK_SOURCE_DIR} \
--output ${STATIC_DIR_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")]'
+ --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 \
--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")]'
+ --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 ${PLOT_DPDK_SOURCE_DIR} \
--output ${STATIC_DIR_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")]'
+ --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 \
--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")]'
+ --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
# Plot latency
# Create archive
echo Creating csit.report.tar.gz ...
tar -czvf ./csit.report.tar.gz ${BUILD_DIR}
+