summaryrefslogtreecommitdiffstats
path: root/src/vnet/interface_api.c
AgeCommit message (Expand)AuthorFilesLines
2019-06-14interface: interface dump API check validity of sw_if_indexNeale Ranns1-1/+1
2019-05-22stats: support multiple works for error countersOle Troan1-16/+0
2019-05-17Add a debug-CLI leak-checkerDave Barach1-31/+13
2019-05-03mp_safe SW_INTERFACE_DUMP, SW_INTERFACE_DETAILS, SW_INTERFACE_TAG_ADD_DEL,Steven Luong1-0/+5
2019-04-26IF: return VTR attributes for all ifs in dump APIAlexander Chernavin1-20/+20
2019-04-23API sw_interface_dump: Dump all if index is zeroVratko Polak1-2/+2
2019-04-17Make sw_interface_dump more compatible with 2.2.0Vratko Polak1-3/+1
2019-04-17api: Add to interface crud - read by sw_if_index.Paul Vinciguerra1-0/+22
2019-04-10API: Fix shared memory only action handlers.Ole Troan1-52/+69
2019-03-15Revert "API: Cleanup APIs interface.api"Ole Trøan1-64/+48
2019-03-15API: Cleanup APIs interface.apiJakub Grajciar1-48/+64
2019-03-07assign flood_class to vnet_sw_interface_t template in subif api handle functionJoe Zhou1-0/+2
2018-11-20Link speed sent as little endian across APIOle Troan1-1/+1
2018-11-08vnet: store hw interface speed in kbps instead of using flagsDamjan Marion1-2/+1
2018-10-23c11 safe string handling supportDave Barach1-7/+7
2018-09-26itf: dump interface rx-placementMohsin Kazmi1-0/+93
2018-09-24Trivial: Clean up some typos.Paul Vinciguerra1-3/+3
2018-08-24rx-placement: Add API call for interface rx-placementMohsin Kazmi1-0/+41
2018-07-20IP directed broadcastNeale Ranns1-1/+20
2018-06-11MTU: Software interface / Per-protocol MTU supportOle Troan1-2/+29
2018-05-18IP table bind allowed only if table existsNeale Ranns1-30/+6
2018-04-13Revert "MTU: Setting of MTU on software interface (instead of hardware interf...Damjan Marion1-2/+31
2018-04-13MTU: Setting of MTU on software interface (instead of hardware interface)Ole Troan1-31/+2
2018-04-04Detailed stats collection featureNeale Ranns1-8/+3
2018-03-19Interface Unicast, Multicast and Broadcast stats on the APINeale Ranns1-1/+21
2018-03-18Remove unnumbered configuration on interface deleteNeale Ranns1-37/+2
2018-03-16IPv6 ND Router discovery control plane (VPP-1095)Juraj Sloboda1-0/+32
2018-02-12Improve MTU handlingNeale Ranns1-6/+1
2018-01-11api: remove transport specific code from handlersFlorin Coras1-16/+17
2018-01-09api: refactor vlibmemoryFlorin Coras1-7/+6
2017-11-10Break up vpe.apiNeale Ranns1-1/+249
2017-10-31Fix set interface mac address API to be endian neutralJohn Lo1-9/+2
2017-10-29devices: Add binary API for set interface <interface> rx-modeSteven1-0/+29
2017-10-15Revert "Enforce FIB table creation before use"Florin Coras1-8/+35
2017-10-13Enforce FIB table creation before useNeale Ranns1-35/+8
2017-10-04Set MAC address needs the HW interface indexNeale Ranns1-1/+3
2017-10-03Repair vlib API socket serverDave Barach1-7/+11
2017-10-03Propagate duplicate IF addr add/del error up to API.Jon Loeliger1-6/+17
2017-09-11replace uint32_t with u32Neale Ranns1-1/+1
2017-09-11FIB table add/delete APINeale Ranns1-28/+149
2017-08-25vl_api_sw_interface_set_mtu_t_handler: fix assert in vnet_get_hw_interfaceAndrew Yourtchenko1-3/+10
2017-08-16No context in SW interface eventNeale Ranns1-1/+4
2017-08-11Dedicated SW Interface EventNeale Ranns1-4/+4
2017-04-03Add an API call to set interface MAC addresses.Jon Loeliger1-1/+34
2017-03-30Fix more "symbol XXX found in none of the libs" warningsDave Barach1-0/+1
2017-03-18Check change in unnumbered setting before updating IP enabled stateNeale Ranns1-2/+8
2017-03-17Attached hostsNeale Ranns1-0/+15
2017-03-14API:support hidden sw interfacesEyal Bari1-38/+27
2017-03-07fix gcc 5.4 warning: argument to 'sizeof' in 'memcpy' call is the same expres...Gabriel Ganne1-7/+7
2017-03-04DHCPv6 - Be consistent with the use of MFIB index as the RX FIB index for DHC...Neale Ranns1-2/+2
s="si">}${VPP_CLASSIFIER}.deb" || exit wget -q "${VPP_REPO_URL}/vpp-dpdk-dkms/${DPDK_STABLE_VER}/vpp-dpdk-dkms-${DPDK_STABLE_VER}${VPP_CLASSIFIER}.deb" || exit wget -q "${VPP_REPO_URL}/vpp-lib/${VPP_STABLE_VER}/vpp-lib-${VPP_STABLE_VER}${VPP_CLASSIFIER}.deb" || exit wget -q "${VPP_REPO_URL}/vpp-plugins/${VPP_STABLE_VER}/vpp-plugins-${VPP_STABLE_VER}${VPP_CLASSIFIER}.deb" || exit VPP_DEBS="$( readlink -f *.deb | tr '\n' ' ' )" fi cd .. # If we run this script from vpp project we want to use local build elif [[ ${JOB_NAME} == vpp-* ]] ; then # Use local packages provided as argument list # Jenkins VPP deb paths (convert to full path) VPP_DEBS="$( readlink -f $@ | tr '\n' ' ' )" # Take vpp package and get the vpp version VPP_STABLE_VER="$( expr match $1 'vpp-\(.*\)-deb.deb' )" # Download DPDK parts not included in dpdk plugin of vpp build DPDK_STABLE_VER=$(cat ${SCRIPT_DIR}/DPDK_STABLE_VER)_amd64 VPP_REPO_URL=$(cat ${SCRIPT_DIR}/VPP_REPO_URL_UBUNTU) VPP_CLASSIFIER="-deb" wget -q "${VPP_REPO_URL}/vpp-dpdk-dkms/${DPDK_STABLE_VER}/vpp-dpdk-dkms-${DPDK_STABLE_VER}${VPP_CLASSIFIER}.deb" || exit VPP_DEBS+=($( readlink -f vpp-dpdk-dkms-${DPDK_STABLE_VER}${VPP_CLASSIFIER}.deb )) else echo "Unable to identify job type based on JOB_NAME variable: ${JOB_NAME}" exit 1 fi WORKING_TOPOLOGY="" export PYTHONPATH=${SCRIPT_DIR} sudo apt-get -y update sudo apt-get -y install libpython2.7-dev python-virtualenv virtualenv --system-site-packages env . env/bin/activate echo pip install pip install -r requirements.txt # We iterate over available topologies and wait until we reserve topology while :; do for TOPOLOGY in ${TOPOLOGIES}; do python ${SCRIPT_DIR}/resources/tools/topo_reservation.py -t ${TOPOLOGY} if [ $? -eq 0 ]; then WORKING_TOPOLOGY=${TOPOLOGY} echo "Reserved: ${WORKING_TOPOLOGY}" break fi done if [ ! -z "${WORKING_TOPOLOGY}" ]; then # Exit the infinite while loop if we made a reservation break fi # Wait ~3minutes before next try SLEEP_TIME=$[ ( $RANDOM % 20 ) + 180 ]s echo "Sleeping ${SLEEP_TIME}" sleep ${SLEEP_TIME} done function cancel_all { python ${SCRIPT_DIR}/resources/tools/topo_installation.py -c -d ${INSTALLATION_DIR} -t $1 python ${SCRIPT_DIR}/resources/tools/topo_reservation.py -c -t $1 } # On script exit we cancel the reservation and installation and delete all vpp # packages trap "cancel_all ${WORKING_TOPOLOGY}" EXIT python ${SCRIPT_DIR}/resources/tools/topo_installation.py -t ${WORKING_TOPOLOGY} \ -d ${INSTALLATION_DIR} \ -p ${VPP_DEBS} if [ $? -eq 0 ]; then echo "VPP Installed on hosts from: ${WORKING_TOPOLOGY}" else echo "Failed to copy vpp deb files to DUTs" exit 1 fi case "$TEST_TAG" in # run specific performance tests based on jenkins job type variable PERFTEST_DAILY ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cORndrdiscANDnic_intel-x520-da2AND2t2c \ tests/ RETURN_STATUS=$(echo $?) ;; PERFTEST_SEMI_WEEKLY ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrdiscANDnic_intel-x710AND1t1cORndrdiscANDnic_intel-x710AND2t2cORndrdiscANDnic_intel-xl710AND1t1cORndrdiscANDnic_intel-xl710AND2t2c \ tests/ RETURN_STATUS=$(echo $?) ;; VERIFY-PERF-NDRDISC ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrdiscAND1t1cORndrdiscAND2t2c \ tests/ RETURN_STATUS=$(echo $?) ;; VERIFY-PERF-PDRDISC ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include pdrdiscAND1t1cORpdrdiscAND2t2c \ tests/ RETURN_STATUS=$(echo $?) ;; VERIFY-PERF-NDRCHK ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrchkAND1t1cORndrchkAND2t2c \ tests/ RETURN_STATUS=$(echo $?) ;; PERFTEST_NDRCHK_DAILY ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrchkAND1t1cORndrchkAND2t2c \ tests/ RETURN_STATUS=$(echo $?) ;; VERIFY-PERF-IP4 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDip4baseORndrdiscANDnic_intel-x520-da2AND1t1cANDip4fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) ;; VERIFY-PERF-IP6 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDip6baseORndrdiscANDnic_intel-x520-da2AND1t1cANDip6fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) ;; VERIFY-PERF-L2 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDl2xcbaseORndrdiscANDnic_intel-x520-da2AND1t1cANDl2bdbase \ tests/ RETURN_STATUS=$(echo $?) ;; VERIFY-PERF-LISP ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDlisp \ tests/ RETURN_STATUS=$(echo $?) ;; VERIFY-PERF-VXLAN ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDvxlan \ tests/ RETURN_STATUS=$(echo $?) ;; VERIFY-PERF-VHOST ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDvhost \ tests/ RETURN_STATUS=$(echo $?) ;; VPP-VERIFY-PERF-IP4 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrchkANDnic_intel-x520-da2AND1t1cANDip4baseORndrchkANDnic_intel-x520-da2AND1t1cANDip4fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) ;; VPP-VERIFY-PERF-IP6 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrchkANDnic_intel-x520-da2AND1t1cANDip6baseORndrchkANDnic_intel-x520-da2AND1t1cANDip6fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) ;; VPP-VERIFY-PERF-L2 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrchkANDnic_intel-x520-da2AND1t1cANDl2xcbaseORndrchkANDnic_intel-x520-da2AND1t1cANDl2bdbase \ tests/ RETURN_STATUS=$(echo $?) ;; VPP-VERIFY-PERF-LISP ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrchkANDnic_intel-x520-da2AND1t1cANDlisp \ tests/ RETURN_STATUS=$(echo $?) ;; VPP-VERIFY-PERF-VXLAN ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrchkANDnic_intel-x520-da2AND1t1cANDvxlan \ tests/ RETURN_STATUS=$(echo $?) ;; VPP-VERIFY-PERF-VHOST ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --include ndrchkANDnic_intel-x520-da2AND1t1cANDvhost \ tests/ RETURN_STATUS=$(echo $?) ;; PERFTEST_LONG ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ --exclude SKIP_PATCH \ -i NDRPDRDISC \ tests/ RETURN_STATUS=$(echo $?) ;; PERFTEST_SHORT ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ -i NDRCHK \ tests/ RETURN_STATUS=$(echo $?) ;; PERFTEST_NIGHTLY ) #run all available tests pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ tests/ RETURN_STATUS=$(echo $?) ;; * ) # run full performance test suite and exit on fail pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.perf" \ tests/ RETURN_STATUS=$(echo $?) esac # Pybot output post-processing echo Post-processing test data... python ${SCRIPT_DIR}/resources/tools/robot_output_parser.py \ -i ${SCRIPT_DIR}/output.xml \ -o ${SCRIPT_DIR}/output_perf_data.xml \ -v ${VPP_STABLE_VER} if [ ! $? -eq 0 ]; then echo "Parsing ${SCRIPT_DIR}/output.xml failed" fi # Archive artifacts mkdir archive for i in ${ARCHIVE_ARTIFACTS[@]}; do cp $( readlink -f ${i} | tr '\n' ' ' ) archive/ done echo Post-processing finished. exit ${RETURN_STATUS}