summaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
2021-10-06tcp: fix severity infoFilip Tehlar6-69/+69
2021-10-06docs: more nitfixesNathan Skrzypczak4-46/+49
2021-10-06build: fix lib dir in debian packagingDamjan Marion1-1/+1
2021-10-06docs: vnet comment nitfixesNathan Skrzypczak16-85/+109
2021-10-06vlib: doc nitfixesNathan Skrzypczak3-3/+3
2021-10-06docs: extras/deprec nitfixesNathan Skrzypczak4-8/+7
2021-10-06ip: add classifier-based ACLs support on ip puntBenoît Ganne7-293/+379
2021-10-05session: Add session_sapi_enable_disableNathan Skrzypczak5-5/+33
2021-10-05build: don't hardcode triplet, allow specifying custom lib dirDamjan Marion12-44/+44
2021-10-05tap: free the tap_fds vec on interface deletionMohsin Kazmi1-0/+1
2021-10-05perfmon: bundles with multiple typesRay Kinsella4-35/+147
2021-10-05nat: NAT44 ED api fix and improvementFilip Varga3-14/+178
2021-10-04interface: free the output_node_thread_runtimesMohsin Kazmi1-0/+1
2021-10-04interface: remove the redundant vec_free on rx_queue_indicesMohsin Kazmi1-1/+0
2021-10-04build: Allow ipsec-mb plugin to build with libipsec_mb 0.55Nick Brown2-0/+14
2021-10-04memif: integrate with new tx infraMohsin Kazmi3-15/+17
2021-10-04vcl: remove unsed configsFlorin Coras3-38/+2
2021-10-04hsa: do not drop the barrier when creating echo serverFilip Tehlar1-14/+1
2021-10-04wireguard: use the same udp-port for multi-tunnelArtem Glazychev6-29/+166
2021-10-04vppinfra: fix potential memory access error in _pool_init_fixedJieqiang Wang2-16/+24
2021-10-04virtio: remove control queue support from virtio_show() for tap/tunMohsin Kazmi1-6/+0
2021-10-04fib: fix unitialized padding in fib_api_next_hop_decodeBenoît Ganne1-4/+2
2021-10-04ip: fix punt for ipv6Benoît Ganne2-4/+153
2021-10-04perfmon: topdown events as peusdo eventsRay Kinsella1-9/+13
2021-10-04docs: plugin comment nitfixesNathan Skrzypczak11-52/+52
2021-10-04interface: remove the input_node_thread_index_by_queueMohsin Kazmi2-4/+0
2021-10-03hsa: proxy app worker thread deadlockSivaprasad Tummala1-5/+10
2021-10-03mpls: Save the L3 header offset in the meta-data before label impositionNeale Ranns1-1/+9
2021-10-01devices: add support for pseudo header checksumMohsin Kazmi8-23/+371
2021-09-30wireguard: move adjacency processing from wireguard_peer to wireguard_interfaceArtem Glazychev8-247/+159
2021-09-30fib: doc nitfixesNathan Skrzypczak10-19/+19
2021-09-30build: consistent use of CMAKE_INSTALL_LIBDIRNick Brown1-1/+1
2021-09-30nat: doc nitfixesNathan Skrzypczak5-8/+8
2021-09-30vat2: do not require _crc field in API messagesFilip Tehlar1-6/+5
2021-09-30misc: package the devtool pluginsAndrew Yourtchenko1-0/+8
2021-09-29nat: nat44-ed add session timing out indicator in api (2)Alexander Chernavin2-1/+146
2021-09-29ikev2: build only when deps requirements are metFilip Tehlar2-113/+5
2021-09-29classify: fix message IDs on API repliesMatthew Smith1-33/+42
2021-09-29ipsec: Record the number of packets lost from an SANeale Ranns10-22/+203
2021-09-29tap: Fix tap create with nsNathan Skrzypczak1-55/+24
2021-09-29libmemif: Fix abstract socketsNathan Skrzypczak2-13/+22
2021-09-29fib: add barrier lock for fib_urpf_list_pool and fib_entry_poolStanislav Zaikin2-0/+22
2021-09-28api: API trace improvementsFilip Tehlar34-1062/+1165
2021-09-28misc: vpe.api messages dynamically allocatedOle Troan17-2046/+150
2021-09-28devices: Add queues params in create_ifNathan Skrzypczak7-96/+185
2021-09-28af_xdp: fix init lock for shared txqarikachen1-6/+7
2021-09-28nat: NAT44 ED & EI session filtering CLIJúlius Milan2-15/+103
2021-09-28stats: add name vectors to prometheus exporter outputAlexander Chernavin1-0/+9
2021-09-28af_xdp: fix free mem in tx while no free slotarikachen1-2/+2
2021-09-28build: complete python3 support, no hardcode pathNick Brown1-2/+3
cted. # # If the server is not reachable, or does not have the correct # status, remove it from the array and start again. # # Abort if there are no more servers left in the array. # while [[ ! "$VIRL_SERVER" ]] do num_hosts=${#VIRL_SERVERS[@]} if [ $num_hosts == 0 ] then echo "No more VIRL candidate hosts available, failing." exit 127 fi element=$[ $RANDOM % $num_hosts ] virl_server_candidate=${VIRL_SERVERS[$element]} virl_server_status=$(ssh ${SSH_OPTIONS} ${VIRL_USERNAME}@${virl_server_candidate} cat $VIRL_SERVER_STATUS_FILE 2>&1) echo VIRL HOST $virl_server_candidate status is \"$virl_server_status\" if [ "$virl_server_status" == "$VIRL_SERVER_EXPECTED_STATUS" ] then # Candidate is in good status. Select this server. VIRL_SERVER="$virl_server_candidate" else # Candidate is in bad status. Remove from array. VIRL_SERVERS=("${VIRL_SERVERS[@]:0:$element}" "${VIRL_SERVERS[@]:$[$element+1]}") fi done SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Download VPP and HC packages from the current branch echo Downloading packages... bash ${SCRIPT_DIR}/resources/tools/scripts/download_hc_pkgs.sh ${STREAM} ${OS} if [ "${OS}" == "centos7" ]; then VPP_PKGS=(*.rpm) else VPP_PKGS=(*.deb) fi echo ${VPP_PKGS[@]} VIRL_DIR_LOC="/tmp" VPP_PKGS_FULL=(${VPP_PKGS[@]}) # Prepend directory location at remote host to package file list for index in "${!VPP_PKGS_FULL[@]}"; do VPP_PKGS_FULL[${index}]=${VIRL_DIR_LOC}/${VPP_PKGS_FULL[${index}]} done echo "Updated file names: " ${VPP_PKGS_FULL[@]} cat ${VIRL_PKEY} # Copy the files to VIRL hosts DONE="" for index in "${!VIRL_SERVER[@]}"; do # Do not copy files in case they have already been copied to the VIRL host [[ "${DONE[@]}" =~ "${VIRL_SERVER[${index}]}" ]] && copy=0 || copy=1 if [ "${copy}" -eq "0" ]; then echo "files have already been copied to the VIRL host ${VIRL_SERVER[${index}]}" else if [ "${OS}" == "centos7" ]; then scp ${SSH_OPTIONS} *.rpm \ ${VIRL_USERNAME}@${VIRL_SERVER[${index}]}:${VIRL_DIR_LOC}/ else scp ${SSH_OPTIONS} *.deb \ ${VIRL_USERNAME}@${VIRL_SERVER[${index}]}:${VIRL_DIR_LOC}/ fi result=$? if [ "${result}" -ne "0" ]; then echo "Failed to copy files to VIRL host ${VIRL_SERVER[${index}]}" echo ${result} exit ${result} else echo "files successfully copied to the VIRL host ${VIRL_SERVER[${index}]}" fi DONE+=(${VIRL_SERVER[${index}]}) fi done # Start a simulation on VIRL server echo "Starting simulation on VIRL server" function stop_virl_simulation { ssh ${SSH_OPTIONS} ${VIRL_USERNAME}@${VIRL_SERVER}\ "stop-testcase ${VIRL_SID}" } VIRL_SID=$(ssh ${SSH_OPTIONS} \ ${VIRL_USERNAME}@${VIRL_SERVER} \ "start-testcase -c ${VIRL_TOPOLOGY} -r ${VIRL_RELEASE} ${VPP_PKGS_FULL[@]}") retval=$? if [ "${retval}" -ne "0" ]; then echo "VIRL simulation start failed" exit ${retval} fi if [[ ! "${VIRL_SID}" =~ session-[a-zA-Z0-9_]{6} ]]; then echo "No VIRL session ID reported." exit 127 fi # Upon script exit, cleanup the simulation execution trap stop_virl_simulation EXIT echo ${VIRL_SID} ssh_do ${VIRL_USERNAME}@${VIRL_SERVER} cat /scratch/${VIRL_SID}/topology.yaml # Download the topology file from virl session scp ${SSH_OPTIONS} \ ${VIRL_USERNAME}@${VIRL_SERVER}:/scratch/${VIRL_SID}/topology.yaml \ topologies/enabled/topology.yaml retval=$? if [ "${retval}" -ne "0" ]; then echo "Failed to copy topology file from VIRL simulation" exit ${retval} fi virtualenv --system-site-packages env . env/bin/activate echo pip install pip install -r ${SCRIPT_DIR}/requirements.txt pykwalify -s ${SCRIPT_DIR}/resources/topology_schemas/3_node_topology.sch.yaml \ -s ${SCRIPT_DIR}/resources/topology_schemas/topology.sch.yaml \ -d ${SCRIPT_DIR}/topologies/enabled/topology.yaml \ -vvv if [ "$?" -ne "0" ]; then echo "Topology schema validation failed." echo "However, the tests will start." fi PYTHONPATH=`pwd` pybot -L TRACE -W 136\ -v TOPOLOGY_PATH:${SCRIPT_DIR}/topologies/enabled/topology.yaml \ --suite "tests.vpp.func" \ --include HC_FUNC \ --noncritical EXPECTED_FAILING \ tests/ RETURN_STATUS=$? # Get Honeycomb log file from virl host scp ${SSH_OPTIONS} \ ${VIRL_USERNAME}@${VIRL_SERVER}:/scratch/${VIRL_SID}/honeycomb.log . || true # Archive artifacts mkdir archive for i in ${ARCHIVE_ARTIFACTS[@]}; do cp $( readlink -f ${i} | tr '\n' ' ' ) archive/ done exit ${RETURN_STATUS}