ShellCheck - shell script analysis tool version: 0.11.0 license: GNU General Public License, version 3 website: https://www.shellcheck.net Redirect to /tmp/tmp.urmuQzF1BK and /tmp/tmp.kT7ArabnjE Tree base: 2fbade662450 ("Merge branch 'net-mctp-usb-add-support-for-mctp-over-usb-v1-1'") Now at: 1955dfc37460 ("selftests/net/openvswitch: add SCTP flow key support and test") ====== Checking before the patch ====== Checking tools/testing/selftests/net/openvswitch/openvswitch.sh - d68fdf4084a3597b59d0d312e2f1fd42dff6491ab389c2e973f83ff27b2cb2bc In openvswitch.sh line 16: if test "X$KSFT_MACHINE_SLOW" == "Xyes"; then ^-------------------^ SC2268 (style): Avoid x-prefix in comparisons as it no longer serves a purpose. Did you mean: if test "$KSFT_MACHINE_SLOW" == "yes"; then In openvswitch.sh line 41: echo "`date +"[%m-%d %H:%M:%S]"` $*" >> ${ovs_dir}/debug.log ^------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo "$(date +"[%m-%d %H:%M:%S]") $*" >> "${ovs_dir}"/debug.log In openvswitch.sh line 42: [ $VERBOSE = 0 ] || echo $* ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$VERBOSE" = 0 ] || echo "$*" In openvswitch.sh line 46: info "waiting $WAIT_TIMEOUT s for: $@" ^-- SC2145 (error): Argument mixes string and array. Use * or separate argument. In openvswitch.sh line 69: ovs_base=`pwd` ^---^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: ovs_base=$(pwd) In openvswitch.sh line 76: NO_BIN=0 ^----^ SC2034 (warning): NO_BIN appears unused. Verify use (or export if used externally). In openvswitch.sh line 80: if [ -e $d ]; then ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if [ -e "$d" ]; then In openvswitch.sh line 85: ovs_setenv $1 ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_setenv "$1" In openvswitch.sh line 89: [ -e ${ovs_dir}/cleanup ] && . "$ovs_dir/cleanup" ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^----------------^ SC1091 (info): Not following: ./cleanup: openBinaryFile: does not exist (No such file or directory) Did you mean: [ -e "${ovs_dir}"/cleanup ] && . "$ovs_dir/cleanup" In openvswitch.sh line 93: echo "$1" > ${ovs_dir}/cleanup.tmp ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo "$1" > "${ovs_dir}"/cleanup.tmp In openvswitch.sh line 94: cat ${ovs_dir}/cleanup >> ${ovs_dir}/cleanup.tmp ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: cat "${ovs_dir}"/cleanup >> "${ovs_dir}"/cleanup.tmp In openvswitch.sh line 95: mv ${ovs_dir}/cleanup.tmp ${ovs_dir}/cleanup ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: mv "${ovs_dir}"/cleanup.tmp "${ovs_dir}"/cleanup In openvswitch.sh line 99: sandbox=$1 ^-----^ SC2034 (warning): sandbox appears unused. Verify use (or export if used externally). In openvswitch.sh line 103: test -e ${ovs_dir}/cleanup || : > ${ovs_dir}/cleanup ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: test -e "${ovs_dir}"/cleanup || : > "${ovs_dir}"/cleanup In openvswitch.sh line 107: if test "X$2" != X; then ^---^ SC2268 (style): Avoid x-prefix in comparisons as it no longer serves a purpose. Did you mean: if test "$2" != ""; then In openvswitch.sh line 108: (ovs_setenv $1; shift; ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: (ovs_setenv "$1"; shift; In openvswitch.sh line 109: info "run cmd: $@"; "$@" >> ${ovs_dir}/debug.log) ^-- SC2145 (error): Argument mixes string and array. Use * or separate argument. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: info "run cmd: $@"; "$@" >> "${ovs_dir}"/debug.log) In openvswitch.sh line 111: ovs_setenv $1 ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_setenv "$1" In openvswitch.sh line 119: ovs_sbx "$sbxname" python3 $ovs_base/ovs-dpctl.py add-dp $* ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$sbxname" python3 "$ovs_base"/ovs-dpctl.py add-dp "$*" In openvswitch.sh line 126: ovs_sbx "$1" python3 $ovs_base/ovs-dpctl.py add-if \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$1" python3 "$ovs_base"/ovs-dpctl.py add-if \ In openvswitch.sh line 129: python3 $ovs_base/ovs-dpctl.py add-if \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: python3 "$ovs_base"/ovs-dpctl.py add-if \ In openvswitch.sh line 130: -u -t "$2" "$3" "$4" >$ovs_dir/$4.out 2>$ovs_dir/$4.err & ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: -u -t "$2" "$3" "$4" >"$ovs_dir"/"$4".out 2>"$ovs_dir"/"$4".err & In openvswitch.sh line 138: ovs_sbx "$1" python3 $ovs_base/ovs-dpctl.py del-if "$2" "$3" || return 1 ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$1" python3 "$ovs_base"/ovs-dpctl.py del-if "$2" "$3" || return 1 In openvswitch.sh line 147: $* >> $ovs_dir/stdout 2>> $ovs_dir/stderr & ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: $* >> "$ovs_dir"/stdout 2>> "$ovs_dir"/stderr & In openvswitch.sh line 149: ip netns exec $netns $* >> $ovs_dir/stdout 2>> $ovs_dir/stderr & ^----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip netns exec "$netns" "$*" >> "$ovs_dir"/stdout 2>> "$ovs_dir"/stderr & In openvswitch.sh line 158: ovs_netns_spawn_daemon $sbx "_default" $* ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_netns_spawn_daemon "$sbx" "_default" "$*" In openvswitch.sh line 182: if [ $TRACING -eq 1 ]; then ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if [ "$TRACING" -eq 1 ]; then In openvswitch.sh line 184: ovs_wait grep -q "listening on any" ${ovs_dir}/stderr ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait grep -q "listening on any" "${ovs_dir}"/stderr In openvswitch.sh line 192: ovs_sbx "$1" python3 $ovs_base/ovs-dpctl.py add-flow "$2" "$3" "$4" ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$1" python3 "$ovs_base"/ovs-dpctl.py add-flow "$2" "$3" "$4" In openvswitch.sh line 193: if [ $? -ne 0 ]; then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In openvswitch.sh line 203: ovs_sbx "$1" python3 $ovs_base/ovs-dpctl.py \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$1" python3 "$ovs_base"/ovs-dpctl.py \ In openvswitch.sh line 207: ovs_sbx "$1" python3 $ovs_base/ovs-dpctl.py \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$1" python3 "$ovs_base"/ovs-dpctl.py \ In openvswitch.sh line 210: if [ $? -ne 0 ]; then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In openvswitch.sh line 219: ovs_sbx "$1" python3 $ovs_base/ovs-dpctl.py del-flows "$2" ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$1" python3 "$ovs_base"/ovs-dpctl.py del-flows "$2" In openvswitch.sh line 227: perf record -a -q -e skb:kfree_skb -o ${ovs_dir}/perf.data $* \ ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: perf record -a -q -e skb:kfree_skb -o "${ovs_dir}"/perf.data "$*" \ In openvswitch.sh line 228: >> ${ovs_dir}/stdout 2>> ${ovs_dir}/stderr ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: >> "${ovs_dir}"/stdout 2>> "${ovs_dir}"/stderr In openvswitch.sh line 236: local perf_output=`perf script -i ${ovs_dir}/perf.data -F trace:event,trace` ^---------^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^-- SC2006 (style): Use $(...) notation instead of legacy backticks `...`. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: local perf_output=$(perf script -i "${ovs_dir}"/perf.data -F trace:event,trace) In openvswitch.sh line 239: return `echo "$perf_output" | grep "$pattern" | wc -l` ^-- SC2046 (warning): Quote this to prevent word splitting. ^-- SC2006 (style): Use $(...) notation instead of legacy backticks `...`. ^-------------^ SC2126 (style): Consider using 'grep -c' instead of 'grep|wc -l'. Did you mean: return $(echo "$perf_output" | grep "$pattern" | wc -l) In openvswitch.sh line 246: ovs_add_flow $@ &> /dev/null $@ && return 1 ^-- SC2068 (error): Double quote array expansions to avoid re-splitting elements. ^-- SC2068 (error): Double quote array expansions to avoid re-splitting elements. In openvswitch.sh line 289: if [ $? -ne 0 ]; then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In openvswitch.sh line 292: return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ksft_skip" In openvswitch.sh line 574: if [ $? -ne 0 ]; then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In openvswitch.sh line 577: return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ksft_skip" In openvswitch.sh line 634: return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ksft_skip" In openvswitch.sh line 648: set -- $testcase; ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: set -- "$testcase"; In openvswitch.sh line 649: ovs_test_flow_fails "test_psample" psample $min_key $2 ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_test_flow_fails "test_psample" psample "$min_key" "$2" In openvswitch.sh line 673: $ovs_dir/s0.out | cut -d ":" -f 2 | tr -d ' ') ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: "$ovs_dir"/s0.out | cut -d ":" -f 2 | tr -d ' ') In openvswitch.sh line 682: ovs_spawn_daemon "test_psample" python3 $ovs_base/ovs-dpctl.py psample-events ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_spawn_daemon "test_psample" python3 "$ovs_base"/ovs-dpctl.py psample-events In openvswitch.sh line 683: ovs_wait grep -q "listening for psample events" ${ovs_dir}/stdout ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait grep -q "listening for psample events" "${ovs_dir}"/stdout In openvswitch.sh line 689: ovs_wait grep -q "userspace action command" $ovs_dir/s0.out || return 1 ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait grep -q "userspace action command" "$ovs_dir"/s0.out || return 1 In openvswitch.sh line 693: $ovs_dir/stdout || return 1 ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: "$ovs_dir"/stdout || return 1 In openvswitch.sh line 695: ovs_wait grep -q "rate:4294967295,group:2,cookie:eeff0c" $ovs_dir/stdout || return 1 ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait grep -q "rate:4294967295,group:2,cookie:eeff0c" "$ovs_dir"/stdout || return 1 In openvswitch.sh line 703: which perf >/dev/null 2>&1 || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which perf >/dev/null 2>&1 || return "$ksft_skip" In openvswitch.sh line 704: which pahole >/dev/null 2>&1 || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which pahole >/dev/null 2>&1 || return "$ksft_skip" In openvswitch.sh line 711: return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ksft_skip" In openvswitch.sh line 738: return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ksft_skip" In openvswitch.sh line 756: ovs_drop_reason_count 0x${ovs_drop_subsys}0001 # OVS_DROP_FLOW_ACTION ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_drop_reason_count 0x"${ovs_drop_subsys}"0001 # OVS_DROP_FLOW_ACTION In openvswitch.sh line 773: ovs_drop_reason_count 0x${ovs_drop_subsys}0004 # OVS_DROP_EXPLICIT_ACTION_ERROR ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_drop_reason_count 0x"${ovs_drop_subsys}"0004 # OVS_DROP_EXPLICIT_ACTION_ERROR In openvswitch.sh line 781: ovs_drop_reason_count 0x${ovs_drop_subsys}0003 # OVS_DROP_EXPLICIT_ACTION ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_drop_reason_count 0x"${ovs_drop_subsys}"0003 # OVS_DROP_EXPLICIT_ACTION In openvswitch.sh line 796: which arping >/dev/null 2>&1 || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which arping >/dev/null 2>&1 || return "$ksft_skip" In openvswitch.sh line 843: which nc >/dev/null 2>/dev/null || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which nc >/dev/null 2>/dev/null || return "$ksft_skip" In openvswitch.sh line 894: if [ $? == 0 ]; then ^-- SC2181 (style): Check exit code directly with e.g. 'if mycmd;', not indirectly with $?. In openvswitch.sh line 948: which nc >/dev/null 2>/dev/null || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which nc >/dev/null 2>/dev/null || return "$ksft_skip" In openvswitch.sh line 996: if [ $? == 0 ]; then ^-- SC2181 (style): Check exit code directly with e.g. 'if mycmd;', not indirectly with $?. In openvswitch.sh line 1010: which nc >/dev/null 2>/dev/null || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which nc >/dev/null 2>/dev/null || return "$ksft_skip" In openvswitch.sh line 1087: [ $(python3 $ovs_base/ovs-dpctl.py show nv0 | grep port | \ ^-- SC2046 (warning): Quote this to prevent word splitting. ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-------^ SC2126 (style): Consider using 'grep -c' instead of 'grep|wc -l'. Did you mean: [ $(python3 "$ovs_base"/ovs-dpctl.py show nv0 | grep port | \ In openvswitch.sh line 1091: [ $(python3 $ovs_base/ovs-dpctl.py show nv0 | grep port | \ ^-- SC2046 (warning): Quote this to prevent word splitting. ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-------^ SC2126 (style): Consider using 'grep -c' instead of 'grep|wc -l'. Did you mean: [ $(python3 "$ovs_base"/ovs-dpctl.py show nv0 | grep port | \ In openvswitch.sh line 1130: ovs_wait grep -q "listening on upcall packet handler" ${ovs_dir}/left0.out ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait grep -q "listening on upcall packet handler" "${ovs_dir}"/left0.out In openvswitch.sh line 1134: >$ovs_dir/arping.stdout 2>$ovs_dir/arping.stderr ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: >"$ovs_dir"/arping.stdout 2>"$ovs_dir"/arping.stderr In openvswitch.sh line 1136: grep -E "MISS upcall\[0/yes\]: .*arp\(sip=172.31.110.1,tip=172.31.110.20,op=1,sha=" $ovs_dir/left0.out >/dev/null 2>&1 || return 1 ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: grep -E "MISS upcall\[0/yes\]: .*arp\(sip=172.31.110.1,tip=172.31.110.20,op=1,sha=" "$ovs_dir"/left0.out >/dev/null 2>&1 || return 1 In openvswitch.sh line 1148: ovs_sbx "${sbxname}" ip -netns ${ns} link add dev ${name} type ${tnl_type} $* || return 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "${sbxname}" ip -netns "${ns}" link add dev "${name}" type "${tnl_type}" "$*" || return 1 In openvswitch.sh line 1150: ovs_sbx "${sbxname}" ip -netns ${ns} addr add dev ${name} ${addr} || return 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "${sbxname}" ip -netns "${ns}" addr add dev "${name}" "${addr}" || return 1 In openvswitch.sh line 1151: ovs_sbx "${sbxname}" ip -netns ${ns} link set dev ${name} mtu 1450 up || return 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "${sbxname}" ip -netns "${ns}" link set dev "${name}" mtu 1450 up || return 1 In openvswitch.sh line 1155: which arping >/dev/null 2>&1 || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which arping >/dev/null 2>&1 || return "$ksft_skip" In openvswitch.sh line 1184: ovs_add_kernel_tunnel "${sbxname}" tns vxlan vxlan${i} ${addr} \ ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_add_kernel_tunnel "${sbxname}" tns vxlan vxlan"${i}" "${addr}" \ In openvswitch.sh line 1185: remote 172.31.110.2 id ${id} dstport 4789 \ ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: remote 172.31.110.2 id "${id}" dstport 4789 \ In openvswitch.sh line 1186: ttl ${ttl} df ${df} ${csum} || return 1 ^----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ttl "${ttl}" df "${df}" "${csum}" || return 1 In openvswitch.sh line 1190: ${ovs_dir}/ovs-vxlan0.out || return 1 ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: "${ovs_dir}"/ovs-vxlan0.out || return 1 In openvswitch.sh line 1195: arping -I vxlan${i} 172.31.22${i}.2 -c 1 \ ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: arping -I vxlan"${i}" 172.31.22"${i}".2 -c 1 \ In openvswitch.sh line 1196: >${ovs_dir}/arping.stdout 2>${ovs_dir}/arping.stderr ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: >"${ovs_dir}"/arping.stdout 2>"${ovs_dir}"/arping.stderr In openvswitch.sh line 1207: ${ovs_dir}/ovs-vxlan0.out || return 1 ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: "${ovs_dir}"/ovs-vxlan0.out || return 1 In openvswitch.sh line 1224: python3 $ovs_base/ovs-dpctl.py \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: python3 "$ovs_base"/ovs-dpctl.py \ In openvswitch.sh line 1225: add-dp dp-${tun_type} || return 1 ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: add-dp dp-"${tun_type}" || return 1 In openvswitch.sh line 1228: python3 $ovs_base/ovs-dpctl.py \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: python3 "$ovs_base"/ovs-dpctl.py \ In openvswitch.sh line 1229: add-if --no-lwt -t ${tun_type} \ ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: add-if --no-lwt -t "${tun_type}" \ In openvswitch.sh line 1230: dp-${tun_type} ovs-${tun_type}0 || return 1 ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: dp-"${tun_type}" ovs-"${tun_type}"0 || return 1 In openvswitch.sh line 1233: ovs-${tun_type}0 >/dev/null 2>&1 || return 1 ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs-"${tun_type}"0 >/dev/null 2>&1 || return 1 In openvswitch.sh line 1237: python3 $ovs_base/ovs-dpctl.py \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: python3 "$ovs_base"/ovs-dpctl.py \ In openvswitch.sh line 1238: del-dp dp-${tun_type} & ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: del-dp dp-"${tun_type}" & In openvswitch.sh line 1243: ovs_wait dev_removed dp-${tun_type} || return 1 ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait dev_removed dp-"${tun_type}" || return 1 In openvswitch.sh line 1244: ovs_wait dev_removed ovs-${tun_type}0 || return 1 ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait dev_removed ovs-"${tun_type}"0 || return 1 In openvswitch.sh line 1349: eval test_${tname} ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: eval test_"${tname}" In openvswitch.sh line 1361: read a ^--^ SC2162 (info): read without -r will mangle backslashes. ^-- SC2034 (warning): a appears unused. Verify use (or export if used externally). In openvswitch.sh line 1369: rm -rf test_${tname} ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: rm -rf test_"${tname}" In openvswitch.sh line 1378: [ $all_skipped = true ] && [ $exitcode=$ksft_skip ] && exitcode=0 ^-- SC2077 (error): You need spaces around the comparison operator. In openvswitch.sh line 1381: $ksft_skip) ^--------^ SC2254 (warning): Quote expansions in case patterns to match literally rather than as a glob. In openvswitch.sh line 1412: shift $(($OPTIND-1)) ^-----^ SC2004 (style): $/${} is unnecessary on arithmetic variables. For more information: https://www.shellcheck.net/wiki/SC2068 -- Double quote array expansions to ... https://www.shellcheck.net/wiki/SC2077 -- You need spaces around the compar... https://www.shellcheck.net/wiki/SC2145 -- Argument mixes string and array. ... ====== Checking the tree with the patch ====== Checking tools/testing/selftests/net/openvswitch/openvswitch.sh - d68fdf4084a3597b59d0d312e2f1fd42dff6491ab389c2e973f83ff27b2cb2bc In openvswitch.sh line 16: if test "X$KSFT_MACHINE_SLOW" == "Xyes"; then ^-------------------^ SC2268 (style): Avoid x-prefix in comparisons as it no longer serves a purpose. Did you mean: if test "$KSFT_MACHINE_SLOW" == "yes"; then In openvswitch.sh line 42: echo "`date +"[%m-%d %H:%M:%S]"` $*" >> ${ovs_dir}/debug.log ^------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo "$(date +"[%m-%d %H:%M:%S]") $*" >> "${ovs_dir}"/debug.log In openvswitch.sh line 43: [ $VERBOSE = 0 ] || echo $* ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$VERBOSE" = 0 ] || echo "$*" In openvswitch.sh line 47: info "waiting $WAIT_TIMEOUT s for: $@" ^-- SC2145 (error): Argument mixes string and array. Use * or separate argument. In openvswitch.sh line 70: ovs_base=`pwd` ^---^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: ovs_base=$(pwd) In openvswitch.sh line 77: NO_BIN=0 ^----^ SC2034 (warning): NO_BIN appears unused. Verify use (or export if used externally). In openvswitch.sh line 81: if [ -e $d ]; then ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if [ -e "$d" ]; then In openvswitch.sh line 86: ovs_setenv $1 ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_setenv "$1" In openvswitch.sh line 90: [ -e ${ovs_dir}/cleanup ] && . "$ovs_dir/cleanup" ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^----------------^ SC1091 (info): Not following: ./cleanup: openBinaryFile: does not exist (No such file or directory) Did you mean: [ -e "${ovs_dir}"/cleanup ] && . "$ovs_dir/cleanup" In openvswitch.sh line 94: echo "$1" > ${ovs_dir}/cleanup.tmp ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo "$1" > "${ovs_dir}"/cleanup.tmp In openvswitch.sh line 95: cat ${ovs_dir}/cleanup >> ${ovs_dir}/cleanup.tmp ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: cat "${ovs_dir}"/cleanup >> "${ovs_dir}"/cleanup.tmp In openvswitch.sh line 96: mv ${ovs_dir}/cleanup.tmp ${ovs_dir}/cleanup ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: mv "${ovs_dir}"/cleanup.tmp "${ovs_dir}"/cleanup In openvswitch.sh line 100: sandbox=$1 ^-----^ SC2034 (warning): sandbox appears unused. Verify use (or export if used externally). In openvswitch.sh line 104: test -e ${ovs_dir}/cleanup || : > ${ovs_dir}/cleanup ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: test -e "${ovs_dir}"/cleanup || : > "${ovs_dir}"/cleanup In openvswitch.sh line 108: if test "X$2" != X; then ^---^ SC2268 (style): Avoid x-prefix in comparisons as it no longer serves a purpose. Did you mean: if test "$2" != ""; then In openvswitch.sh line 109: (ovs_setenv $1; shift; ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: (ovs_setenv "$1"; shift; In openvswitch.sh line 110: info "run cmd: $@"; "$@" >> ${ovs_dir}/debug.log) ^-- SC2145 (error): Argument mixes string and array. Use * or separate argument. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: info "run cmd: $@"; "$@" >> "${ovs_dir}"/debug.log) In openvswitch.sh line 112: ovs_setenv $1 ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_setenv "$1" In openvswitch.sh line 120: ovs_sbx "$sbxname" python3 $ovs_base/ovs-dpctl.py add-dp $* ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$sbxname" python3 "$ovs_base"/ovs-dpctl.py add-dp "$*" In openvswitch.sh line 127: ovs_sbx "$1" python3 $ovs_base/ovs-dpctl.py add-if \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$1" python3 "$ovs_base"/ovs-dpctl.py add-if \ In openvswitch.sh line 130: python3 $ovs_base/ovs-dpctl.py add-if \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: python3 "$ovs_base"/ovs-dpctl.py add-if \ In openvswitch.sh line 131: -u -t "$2" "$3" "$4" >$ovs_dir/$4.out 2>$ovs_dir/$4.err & ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: -u -t "$2" "$3" "$4" >"$ovs_dir"/"$4".out 2>"$ovs_dir"/"$4".err & In openvswitch.sh line 139: ovs_sbx "$1" python3 $ovs_base/ovs-dpctl.py del-if "$2" "$3" || return 1 ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$1" python3 "$ovs_base"/ovs-dpctl.py del-if "$2" "$3" || return 1 In openvswitch.sh line 148: $* >> $ovs_dir/stdout 2>> $ovs_dir/stderr & ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: $* >> "$ovs_dir"/stdout 2>> "$ovs_dir"/stderr & In openvswitch.sh line 150: ip netns exec $netns $* >> $ovs_dir/stdout 2>> $ovs_dir/stderr & ^----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip netns exec "$netns" "$*" >> "$ovs_dir"/stdout 2>> "$ovs_dir"/stderr & In openvswitch.sh line 159: ovs_netns_spawn_daemon $sbx "_default" $* ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_netns_spawn_daemon "$sbx" "_default" "$*" In openvswitch.sh line 183: if [ $TRACING -eq 1 ]; then ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if [ "$TRACING" -eq 1 ]; then In openvswitch.sh line 185: ovs_wait grep -q "listening on any" ${ovs_dir}/stderr ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait grep -q "listening on any" "${ovs_dir}"/stderr In openvswitch.sh line 193: ovs_sbx "$1" python3 $ovs_base/ovs-dpctl.py add-flow "$2" "$3" "$4" ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$1" python3 "$ovs_base"/ovs-dpctl.py add-flow "$2" "$3" "$4" In openvswitch.sh line 194: if [ $? -ne 0 ]; then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In openvswitch.sh line 204: ovs_sbx "$1" python3 $ovs_base/ovs-dpctl.py \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$1" python3 "$ovs_base"/ovs-dpctl.py \ In openvswitch.sh line 208: ovs_sbx "$1" python3 $ovs_base/ovs-dpctl.py \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$1" python3 "$ovs_base"/ovs-dpctl.py \ In openvswitch.sh line 211: if [ $? -ne 0 ]; then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In openvswitch.sh line 220: ovs_sbx "$1" python3 $ovs_base/ovs-dpctl.py del-flows "$2" ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "$1" python3 "$ovs_base"/ovs-dpctl.py del-flows "$2" In openvswitch.sh line 228: perf record -a -q -e skb:kfree_skb -o ${ovs_dir}/perf.data $* \ ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: perf record -a -q -e skb:kfree_skb -o "${ovs_dir}"/perf.data "$*" \ In openvswitch.sh line 229: >> ${ovs_dir}/stdout 2>> ${ovs_dir}/stderr ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: >> "${ovs_dir}"/stdout 2>> "${ovs_dir}"/stderr In openvswitch.sh line 237: local perf_output=`perf script -i ${ovs_dir}/perf.data -F trace:event,trace` ^---------^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^-- SC2006 (style): Use $(...) notation instead of legacy backticks `...`. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: local perf_output=$(perf script -i "${ovs_dir}"/perf.data -F trace:event,trace) In openvswitch.sh line 240: return `echo "$perf_output" | grep "$pattern" | wc -l` ^-- SC2046 (warning): Quote this to prevent word splitting. ^-- SC2006 (style): Use $(...) notation instead of legacy backticks `...`. ^-------------^ SC2126 (style): Consider using 'grep -c' instead of 'grep|wc -l'. Did you mean: return $(echo "$perf_output" | grep "$pattern" | wc -l) In openvswitch.sh line 247: ovs_add_flow $@ &> /dev/null $@ && return 1 ^-- SC2068 (error): Double quote array expansions to avoid re-splitting elements. ^-- SC2068 (error): Double quote array expansions to avoid re-splitting elements. In openvswitch.sh line 290: if [ $? -ne 0 ]; then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In openvswitch.sh line 293: return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ksft_skip" In openvswitch.sh line 575: if [ $? -ne 0 ]; then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In openvswitch.sh line 578: return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ksft_skip" In openvswitch.sh line 617: ip netns exec "$1" awk -v p="$2" '$6==p' /proc/net/sctp/eps | grep -q . ^-----^ SC2016 (info): Expressions don't expand in single quotes, use double quotes for that. In openvswitch.sh line 649: if [ $? -ne 0 ]; then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In openvswitch.sh line 652: return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ksft_skip" In openvswitch.sh line 755: return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ksft_skip" In openvswitch.sh line 769: set -- $testcase; ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: set -- "$testcase"; In openvswitch.sh line 770: ovs_test_flow_fails "test_psample" psample $min_key $2 ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_test_flow_fails "test_psample" psample "$min_key" "$2" In openvswitch.sh line 794: $ovs_dir/s0.out | cut -d ":" -f 2 | tr -d ' ') ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: "$ovs_dir"/s0.out | cut -d ":" -f 2 | tr -d ' ') In openvswitch.sh line 803: ovs_spawn_daemon "test_psample" python3 $ovs_base/ovs-dpctl.py psample-events ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_spawn_daemon "test_psample" python3 "$ovs_base"/ovs-dpctl.py psample-events In openvswitch.sh line 804: ovs_wait grep -q "listening for psample events" ${ovs_dir}/stdout ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait grep -q "listening for psample events" "${ovs_dir}"/stdout In openvswitch.sh line 810: ovs_wait grep -q "userspace action command" $ovs_dir/s0.out || return 1 ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait grep -q "userspace action command" "$ovs_dir"/s0.out || return 1 In openvswitch.sh line 814: $ovs_dir/stdout || return 1 ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: "$ovs_dir"/stdout || return 1 In openvswitch.sh line 816: ovs_wait grep -q "rate:4294967295,group:2,cookie:eeff0c" $ovs_dir/stdout || return 1 ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait grep -q "rate:4294967295,group:2,cookie:eeff0c" "$ovs_dir"/stdout || return 1 In openvswitch.sh line 824: which perf >/dev/null 2>&1 || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which perf >/dev/null 2>&1 || return "$ksft_skip" In openvswitch.sh line 825: which pahole >/dev/null 2>&1 || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which pahole >/dev/null 2>&1 || return "$ksft_skip" In openvswitch.sh line 832: return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ksft_skip" In openvswitch.sh line 859: return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ksft_skip" In openvswitch.sh line 877: ovs_drop_reason_count 0x${ovs_drop_subsys}0001 # OVS_DROP_FLOW_ACTION ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_drop_reason_count 0x"${ovs_drop_subsys}"0001 # OVS_DROP_FLOW_ACTION In openvswitch.sh line 894: ovs_drop_reason_count 0x${ovs_drop_subsys}0004 # OVS_DROP_EXPLICIT_ACTION_ERROR ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_drop_reason_count 0x"${ovs_drop_subsys}"0004 # OVS_DROP_EXPLICIT_ACTION_ERROR In openvswitch.sh line 902: ovs_drop_reason_count 0x${ovs_drop_subsys}0003 # OVS_DROP_EXPLICIT_ACTION ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_drop_reason_count 0x"${ovs_drop_subsys}"0003 # OVS_DROP_EXPLICIT_ACTION In openvswitch.sh line 917: which arping >/dev/null 2>&1 || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which arping >/dev/null 2>&1 || return "$ksft_skip" In openvswitch.sh line 964: which nc >/dev/null 2>/dev/null || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which nc >/dev/null 2>/dev/null || return "$ksft_skip" In openvswitch.sh line 1015: if [ $? == 0 ]; then ^-- SC2181 (style): Check exit code directly with e.g. 'if mycmd;', not indirectly with $?. In openvswitch.sh line 1069: which nc >/dev/null 2>/dev/null || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which nc >/dev/null 2>/dev/null || return "$ksft_skip" In openvswitch.sh line 1117: if [ $? == 0 ]; then ^-- SC2181 (style): Check exit code directly with e.g. 'if mycmd;', not indirectly with $?. In openvswitch.sh line 1131: which nc >/dev/null 2>/dev/null || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which nc >/dev/null 2>/dev/null || return "$ksft_skip" In openvswitch.sh line 1208: [ $(python3 $ovs_base/ovs-dpctl.py show nv0 | grep port | \ ^-- SC2046 (warning): Quote this to prevent word splitting. ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-------^ SC2126 (style): Consider using 'grep -c' instead of 'grep|wc -l'. Did you mean: [ $(python3 "$ovs_base"/ovs-dpctl.py show nv0 | grep port | \ In openvswitch.sh line 1212: [ $(python3 $ovs_base/ovs-dpctl.py show nv0 | grep port | \ ^-- SC2046 (warning): Quote this to prevent word splitting. ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-------^ SC2126 (style): Consider using 'grep -c' instead of 'grep|wc -l'. Did you mean: [ $(python3 "$ovs_base"/ovs-dpctl.py show nv0 | grep port | \ In openvswitch.sh line 1251: ovs_wait grep -q "listening on upcall packet handler" ${ovs_dir}/left0.out ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait grep -q "listening on upcall packet handler" "${ovs_dir}"/left0.out In openvswitch.sh line 1255: >$ovs_dir/arping.stdout 2>$ovs_dir/arping.stderr ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: >"$ovs_dir"/arping.stdout 2>"$ovs_dir"/arping.stderr In openvswitch.sh line 1257: grep -E "MISS upcall\[0/yes\]: .*arp\(sip=172.31.110.1,tip=172.31.110.20,op=1,sha=" $ovs_dir/left0.out >/dev/null 2>&1 || return 1 ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: grep -E "MISS upcall\[0/yes\]: .*arp\(sip=172.31.110.1,tip=172.31.110.20,op=1,sha=" "$ovs_dir"/left0.out >/dev/null 2>&1 || return 1 In openvswitch.sh line 1269: ovs_sbx "${sbxname}" ip -netns ${ns} link add dev ${name} type ${tnl_type} $* || return 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "${sbxname}" ip -netns "${ns}" link add dev "${name}" type "${tnl_type}" "$*" || return 1 In openvswitch.sh line 1271: ovs_sbx "${sbxname}" ip -netns ${ns} addr add dev ${name} ${addr} || return 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "${sbxname}" ip -netns "${ns}" addr add dev "${name}" "${addr}" || return 1 In openvswitch.sh line 1272: ovs_sbx "${sbxname}" ip -netns ${ns} link set dev ${name} mtu 1450 up || return 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_sbx "${sbxname}" ip -netns "${ns}" link set dev "${name}" mtu 1450 up || return 1 In openvswitch.sh line 1276: which arping >/dev/null 2>&1 || return $ksft_skip ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: which arping >/dev/null 2>&1 || return "$ksft_skip" In openvswitch.sh line 1305: ovs_add_kernel_tunnel "${sbxname}" tns vxlan vxlan${i} ${addr} \ ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_add_kernel_tunnel "${sbxname}" tns vxlan vxlan"${i}" "${addr}" \ In openvswitch.sh line 1306: remote 172.31.110.2 id ${id} dstport 4789 \ ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: remote 172.31.110.2 id "${id}" dstport 4789 \ In openvswitch.sh line 1307: ttl ${ttl} df ${df} ${csum} || return 1 ^----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ttl "${ttl}" df "${df}" "${csum}" || return 1 In openvswitch.sh line 1311: ${ovs_dir}/ovs-vxlan0.out || return 1 ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: "${ovs_dir}"/ovs-vxlan0.out || return 1 In openvswitch.sh line 1316: arping -I vxlan${i} 172.31.22${i}.2 -c 1 \ ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: arping -I vxlan"${i}" 172.31.22"${i}".2 -c 1 \ In openvswitch.sh line 1317: >${ovs_dir}/arping.stdout 2>${ovs_dir}/arping.stderr ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: >"${ovs_dir}"/arping.stdout 2>"${ovs_dir}"/arping.stderr In openvswitch.sh line 1328: ${ovs_dir}/ovs-vxlan0.out || return 1 ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: "${ovs_dir}"/ovs-vxlan0.out || return 1 In openvswitch.sh line 1345: python3 $ovs_base/ovs-dpctl.py \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: python3 "$ovs_base"/ovs-dpctl.py \ In openvswitch.sh line 1346: add-dp dp-${tun_type} || return 1 ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: add-dp dp-"${tun_type}" || return 1 In openvswitch.sh line 1349: python3 $ovs_base/ovs-dpctl.py \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: python3 "$ovs_base"/ovs-dpctl.py \ In openvswitch.sh line 1350: add-if --no-lwt -t ${tun_type} \ ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: add-if --no-lwt -t "${tun_type}" \ In openvswitch.sh line 1351: dp-${tun_type} ovs-${tun_type}0 || return 1 ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: dp-"${tun_type}" ovs-"${tun_type}"0 || return 1 In openvswitch.sh line 1354: ovs-${tun_type}0 >/dev/null 2>&1 || return 1 ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs-"${tun_type}"0 >/dev/null 2>&1 || return 1 In openvswitch.sh line 1358: python3 $ovs_base/ovs-dpctl.py \ ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: python3 "$ovs_base"/ovs-dpctl.py \ In openvswitch.sh line 1359: del-dp dp-${tun_type} & ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: del-dp dp-"${tun_type}" & In openvswitch.sh line 1364: ovs_wait dev_removed dp-${tun_type} || return 1 ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait dev_removed dp-"${tun_type}" || return 1 In openvswitch.sh line 1365: ovs_wait dev_removed ovs-${tun_type}0 || return 1 ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ovs_wait dev_removed ovs-"${tun_type}"0 || return 1 In openvswitch.sh line 1470: eval test_${tname} ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: eval test_"${tname}" In openvswitch.sh line 1482: read a ^--^ SC2162 (info): read without -r will mangle backslashes. ^-- SC2034 (warning): a appears unused. Verify use (or export if used externally). In openvswitch.sh line 1490: rm -rf test_${tname} ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: rm -rf test_"${tname}" In openvswitch.sh line 1499: [ $all_skipped = true ] && [ $exitcode=$ksft_skip ] && exitcode=0 ^-- SC2077 (error): You need spaces around the comparison operator. In openvswitch.sh line 1502: $ksft_skip) ^--------^ SC2254 (warning): Quote expansions in case patterns to match literally rather than as a glob. In openvswitch.sh line 1533: shift $(($OPTIND-1)) ^-----^ SC2004 (style): $/${} is unnecessary on arithmetic variables. For more information: https://www.shellcheck.net/wiki/SC2068 -- Double quote array expansions to ... https://www.shellcheck.net/wiki/SC2077 -- You need spaces around the compar... https://www.shellcheck.net/wiki/SC2145 -- Argument mixes string and array. ...