summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Expand)AuthorFilesLines
2017-11-07vat: session_rules_dump missing network to host conversionSteven1-8/+10
2017-11-07VCL: Fix error handling during heap allocDave Wallace1-13/+24
2017-11-07SNAT: IP fragmentation (VPP-890)Matus Fabian13-33/+2999
2017-11-07Fix include header for cmdsMohsin Kazmi1-0/+2
2017-11-07add tracing to udp punt codeKlement Sekera1-5/+58
2017-11-07vnet: ip4/6_local-> don't drop TCP/UCP marked for cksum calc fixJakub Grajciar2-13/+13
2017-11-07UDP Encapsulation.Neale Ranns15-7/+1428
2017-11-07ip: add container proxy apiFlorin Coras6-22/+243
2017-11-07session: fix v6 double bindsFlorin Coras4-8/+100
2017-11-07VCL: handle process fork.Dave Wallace1-268/+223
2017-11-07NAT: DS-Lite (VPP-1040)Matus Fabian13-24/+1636
2017-11-07VCL-LDPRELOAD: enable accept4() wrapperDave Wallace7-59/+79
2017-11-07fix bfd cli with gcc >= 6Gabriel Ganne1-1/+1
2017-11-06Add --disable-vom config optionDave Barach2-1/+4
2017-11-06session: add rule tagsFlorin Coras14-246/+492
2017-11-06VOM reshuffleNeale Ranns105-3458/+4791
2017-11-06VCL_LDPRELOAD: mixed libc/vcl epoll fd'sDave Wallace5-170/+176
2017-11-05session: add api to dump rulesFlorin Coras8-26/+350
2017-11-05ip4 network request processingDave Barach6-89/+751
2017-11-05Fix coverity warnings in VOM and VAPINeale Ranns6-13/+19
2017-11-03NAT64: Input feature arc on virtual interface via interface RX DPO.Ole Troan3-4/+46
2017-11-03vnet: ip4/6_local->don't drop packet if marked for TCP/UDP offload cksum calc...Jakub Grajciar2-8/+26
2017-11-03punt: free whole buffer chain if such is puntedKlement Sekera1-1/+1
2017-11-03silence clib_mem_unaligned() invalid read found by address-sanitizerGabriel Ganne1-19/+28
2017-11-03silence l2fib_init() invalid read of size 2 found by address-sanitizerGabriel Ganne1-1/+6
2017-11-03vppinfra: make _vec_resize_will_expand read-onlyFlorin Coras1-7/+3
2017-11-03session: support drop action in rules tableFlorin Coras4-36/+114
2017-11-03Set up P2P flag to gtpu interfaceHongjun Ni1-0/+1
2017-11-02session/udp: init rw locksFlorin Coras2-1/+14
2017-11-02VCL: application proxy configurationDave Wallace3-99/+157
2017-11-02LISP: fix negative mapping timeout, VPP-1043Filip Tehlar1-1/+2
2017-11-02Add replicate DPO header to export list for VPPSBNeale Ranns1-0/+1
2017-11-02Add builtin http server option to return static replyFlorin Coras1-23/+97
2017-11-01session: fix proxy coverity warningsFlorin Coras1-1/+2
2017-11-01VPP-959: Support old version of CFFIOle Troan2-3/+17
2017-11-01vom: fix build with gcc7Damjan Marion1-0/+1
2017-11-01VOM fixes for 9090 - ships in the night commitsNeale Ranns4-43/+10
2017-11-01fix clib_mem_unaligned() invalid readGabriel Ganne1-17/+18
2017-11-01nat plugin - fix test logicGabriel Ganne1-1/+1
2017-11-01session: add support for proxying appsFlorin Coras15-39/+353
2017-11-01dpdk/ipsec: align memorySergio Gonzalez Monroy2-5/+7
2017-11-01dpdk/ipsec: fix digest physical addressSergio Gonzalez Monroy3-7/+7
2017-11-01VPP Object Model (VOM)Neale Ranns113-3/+21603
2017-10-31Fix "l2fib add" CLI to allow adding of filter MAC entriesJohn Lo1-25/+17
2017-10-31Fix set interface mac address API to be endian neutralJohn Lo4-16/+10
2017-10-31VPP PAPI: Error in unserializer for non-array compound types.Ole Troan1-0/+1
2017-10-31LISP: add P-ITR/P-ETR/xTR API handlers, ONE-24Filip Tehlar13-72/+888
2017-10-31l2fib: MAC: Fix uint64 to u8 byte arrayMohsin Kazmi7-70/+55
2017-10-31Fix typo (double unlock)Dave Barach1-2/+1
2017-10-31physmem: register region with IOMMUDamjan Marion1-0/+57
qDkjsxtzXf1HnZBBkBS8CUzYj+hdfuddoeKLaY3invXLCiV+PpXS U4KAK9kCgYEAtSv0m5+Fg74BbAiFB6kCh11FYkW94YI6B/E2D/uVTD5dJhyEUFgZ cWsudXjMki8734WSpMBqBp/J8wG3C9ZS6IpQD+U7UXA+roB7Qr+j4TqtWfM+87Rh maOpG56uAyR0w5Z9BhwzA3VakibVk9KwDgZ29WtKFzuATLFnOtCS46E= -----END RSA PRIVATE KEY----- EOF chmod 600 ${VIRL_PKEY} # # Pick a random host from the array of VIRL servers, and attempt # to reach it and verify it's status. # # The server must be reachable, and have a "status" file with # the content "PRODUCTION", to be selected. # # 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 )" # VPP, VPP plugin and Honeycomb packages should already be in working directory 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 # TODO(CSIT-994): reenable NSH PYTHONPATH=`pwd` pybot -L TRACE -W 136\ -v TOPOLOGY_PATH:${SCRIPT_DIR}/topologies/enabled/topology.yaml \ --suite "tests.honeycomb.func" \ --include HC_FUNC \ --exclude HC_NSH \ --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 JOB artifacts in jenkins for i in ${JOB_ARCHIVE_ARTIFACTS[@]}; do cp $( readlink -f ${i} | tr '\n' ' ' ) ${JOB_ARCHIVE_DIR}/ done # Archive JOB artifacts to logs.fd.io for i in ${LOG_ARCHIVE_ARTIFACTS[@]}; do cp $( readlink -f ${i} | tr '\n' ' ' ) ${LOG_ARCHIVE_DIR}/ done exit ${RETURN_STATUS}