Lines Matching +full:local +full:- +full:pid
2 # SPDX-License-Identifier: GPL-2.0
11 readonly KSFT_TEST="${MPTCP_LIB_KSFT_TEST:-$(basename "${0}" .sh)}"
13 # These variables are used in some selftests, read-only
14 declare -rx MPTCP_LIB_EVENT_CREATED=1 # MPTCP_EVENT_CREATED
15 declare -rx MPTCP_LIB_EVENT_ESTABLISHED=2 # MPTCP_EVENT_ESTABLISHED
16 declare -rx MPTCP_LIB_EVENT_CLOSED=3 # MPTCP_EVENT_CLOSED
17 declare -rx MPTCP_LIB_EVENT_ANNOUNCED=6 # MPTCP_EVENT_ANNOUNCED
18 declare -rx MPTCP_LIB_EVENT_REMOVED=7 # MPTCP_EVENT_REMOVED
19 declare -rx MPTCP_LIB_EVENT_SUB_ESTABLISHED=10 # MPTCP_EVENT_SUB_ESTABLISHED
20 declare -rx MPTCP_LIB_EVENT_SUB_CLOSED=11 # MPTCP_EVENT_SUB_CLOSED
21 declare -rx MPTCP_LIB_EVENT_SUB_PRIORITY=13 # MPTCP_EVENT_SUB_PRIORITY
22 declare -rx MPTCP_LIB_EVENT_LISTENER_CREATED=15 # MPTCP_EVENT_LISTENER_CREATED
23 declare -rx MPTCP_LIB_EVENT_LISTENER_CLOSED=16 # MPTCP_EVENT_LISTENER_CLOSED
25 declare -rx MPTCP_LIB_AF_INET=2
26 declare -rx MPTCP_LIB_AF_INET6=10
33 MPTCP_LIB_TEST_FORMAT="%02u %-50s"
36 # only if supported (or forced) and not disabled, see no-color.org
37 if { [ -t 1 ] || [ "${SELFTESTS_MPTCP_LIB_COLOR_FORCE:-}" = "1" ]; } &&
38 [ "${NO_COLOR:-}" != "1" ]; then
55 [ "${SELFTESTS_MPTCP_LIB_OVERRIDE_FLAKY:-}" = 1 ]
64 echo -e "${MPTCP_LIB_START_PRINT:-}${*}${MPTCP_LIB_COLOR_RESET}"
93 local title cmt
109 # $1-2: listener/connector ns ; $3 port ; $4-5 listener/connector stat file
111 local lns="${1}"
112 local cns="${2}"
113 local port="${3}"
114 local lstat="${4}"
115 local cstat="${5}"
117 echo -en "${MPTCP_LIB_COLOR_RED}"
120 ip netns exec "${lns}" ss -Menitam -o "sport = :${port}"
124 ip netns exec "${cns}" ss -Menitam -o "dport = :${port}"
127 echo -en "${MPTCP_LIB_COLOR_RESET}"
134 [ "${SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES:-}" = "1" ]
149 local f="${1}"
151 if [ -f "${f}" ]; then
174 local sym="${1}"
178 grep -q " ${sym}" /proc/kallsyms
183 local sym="${1}"
194 local sym="${1}"
208 local exp_maj="${1%.*}"
209 local exp_min="${1#*.}"
210 local v maj min
213 if [ "${SELFTESTS_MPTCP_LIB_NO_KVERSION_CHECK:-}" = "1" ]; then
217 v=$(uname -r | cut -d'.' -f1,2)
221 if [ "${maj}" -gt "${exp_maj}" ] ||
222 { [ "${maj}" -eq "${exp_maj}" ] && [ "${min}" -ge "${exp_min}" ]; }; then
235 local subtest
238 if [[ "${subtest}" == *" - ${KSFT_TEST}: ${*%% #*}" ]]; then
247 local result="${1}"
248 local time="time="
249 local ts_prev_ms
252 local id=$((${#MPTCP_LIB_SUBTESTS[@]} + 1))
261 time+="$((MPTCP_LIB_SUBTESTS_LAST_TS_MS - ts_prev_ms))ms"
263 MPTCP_LIB_SUBTESTS+=("${result} ${id} - ${KSFT_TEST}: ${*} ${time}")
289 local ret="${1}"
290 local name="${2}"
310 local subtest
312 if [ ${#MPTCP_LIB_SUBTESTS[@]} -eq 0 ] ||
313 [ "${SELFTESTS_MPTCP_LIB_NO_TAP:-}" = "1" ]; then
334 sed -n 's/.*\('"${1}"':\)\([0-9a-f:.]*\).*$/\2/p;q'
340 grep "${4:-}" "${2}" 2>/dev/null |
341 mptcp_lib_get_info_value "${1}" "^type:${3:-1},"
344 # $1: PID
346 [ "${1}" -eq 0 ] && return 0
348 kill -SIGUSR1 "${1}" > /dev/null 2>&1
355 [ -z "${1##*:*}" ]
360 local ns="${1}"
361 local counter="${2}"
362 local count
364 count=$(ip netns exec "${ns}" nstat -asz "${counter}" |
366 if [ -z "${count}" ]; then
375 local name="${1}"
376 local bs="${2}"
377 local size="${3}"
380 echo -e "\nMPTCP_TEST_FILE_END_MARKER" >> "${name}"
385 ls -l "${1}" 1>&2
387 tail -c 32 "${1}" | od -x | head -n2
392 local in="${1}"
393 local out="${2}"
394 local what="${3}"
413 local err="${1}"
414 local cmd="${2}"
415 local expected="${3}"
416 local cmd_ret=0
417 local out
423 if [ ${cmd_ret} -ne 0 ]; then
436 local tool
441 if ! ip -Version &> /dev/null; then
447 if ! tc -help &> /dev/null; then
453 if ! ss -h | grep -q MPTCP; then
459 if ! "${tool}" -V &> /dev/null; then
478 local netns
480 ip netns exec "${!netns}" sysctl -q net.mptcp.enabled=1
487 local netns
489 rm -f /tmp/"${netns}".{nstat,out}
494 local ns="${1}"
495 local evts="${2}"
496 declare -n pid="${3}"
500 mptcp_lib_kill_wait "${pid:-0}"
502 pid=$!
515 local var="${1}"
516 local exp="e_${var}"
517 local prev_ret="${2}"
533 local rc=0
534 local var
545 local evt=${1}
546 local e_type=${2}
547 local e_family=${3}
548 local e_saddr=${4}
549 local e_sport=${5}
550 local type
551 local family
552 local saddr
553 local sport
554 local rc=0
579 local entry id ip flags dev port
582 IFS=, read -r id ip flags dev port <<< "${entry}"
584 echo -n "${ip}"
585 [ -n "${port}" ] && echo -n " port ${port}"
586 echo -n " id ${id}"
587 [ -n "${flags}" ] && echo -n " ${flags}"
588 [ -n "${dev}" ] && echo -n " dev ${dev}"
591 echo -n "id ${id}"
592 echo -n " flags ${flags//" "/","}"
593 [ -n "${dev}" ] && echo -n " dev ${dev}"
594 echo -n " ${ip}"
595 [ -n "${port}" ] && echo -n " ${port}"
602 local ns=${1}
603 local id=${2}
606 ip -n "${ns}" mptcp endpoint show id "${id}"
613 local ns=${1}
614 local addrs=${2}
615 local subflows=${3}
618 ip -n "${ns}" mptcp limits set add_addr_accepted "${addrs}" subflows "${subflows}"
625 local ns=${1}
626 local addr=${2}
627 local flags dev id port
628 local nr=2
630 local p
643 ip -n "${ns}" mptcp endpoint add "${addr}" ${flags//","/" "} \
652 local ns=${1}
653 local id=${2}
654 local addr=${3}
657 [ "${id}" -ne 0 ] && addr=''
658 ip -n "${ns}" mptcp endpoint delete id "${id}" ${addr:+"${addr}"}
665 local ns=${1}
668 ip -n "${ns}" mptcp endpoint flush
675 local ns=${1}
678 ip -n "${ns}" mptcp endpoint show
685 local ns=${1}
686 local id=${2}
687 local flags=${3}
691 ip -n "${ns}" mptcp endpoint change id "${id}" ${flags//","/" "}