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.D1RSFBAHyD and /tmp/tmp.J0DCpHwYoV Tree base: 1caa871bb061 ("Merge branch 'net-stmmac-fix-tegra234-mgbe-clock'") Now at: 6486d2032452 ("selftests: net: bridge_vlan_mcast: wait for h1 before querier check") ====== Checking before the patch ====== Checking tools/testing/selftests/net/forwarding/bridge_vlan_mcast.sh - c6348b3114dd669c1a8e1df0913de8e551c89578bfadd7968835e6158780a336 In bridge_vlan_mcast.sh line 16: simple_if_init $h1 192.0.2.1/24 2001:db8:1::1/64 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: simple_if_init "$h1" 192.0.2.1/24 2001:db8:1::1/64 In bridge_vlan_mcast.sh line 17: ip link add l $h1 $h1.10 up type vlan id 10 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link add l "$h1" "$h1".10 up type vlan id 10 In bridge_vlan_mcast.sh line 22: ip link del $h1.10 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link del "$h1".10 In bridge_vlan_mcast.sh line 23: simple_if_fini $h1 192.0.2.1/24 2001:db8:1::1/64 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: simple_if_fini "$h1" 192.0.2.1/24 2001:db8:1::1/64 In bridge_vlan_mcast.sh line 28: simple_if_init $h2 192.0.2.2/24 2001:db8:1::2/64 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: simple_if_init "$h2" 192.0.2.2/24 2001:db8:1::2/64 In bridge_vlan_mcast.sh line 29: ip link add l $h2 $h2.10 up type vlan id 10 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link add l "$h2" "$h2".10 up type vlan id 10 In bridge_vlan_mcast.sh line 34: ip link del $h2.10 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link del "$h2".10 In bridge_vlan_mcast.sh line 35: simple_if_fini $h2 192.0.2.2/24 2001:db8:1::2/64 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: simple_if_fini "$h2" 192.0.2.2/24 2001:db8:1::2/64 In bridge_vlan_mcast.sh line 42: ip link set dev $swp1 master br0 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$swp1" master br0 In bridge_vlan_mcast.sh line 43: ip link set dev $swp2 master br0 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$swp2" master br0 In bridge_vlan_mcast.sh line 46: ip link set dev $swp1 up ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$swp1" up In bridge_vlan_mcast.sh line 47: ip link set dev $swp2 up ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$swp2" up In bridge_vlan_mcast.sh line 49: tc qdisc add dev $swp1 clsact ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc qdisc add dev "$swp1" clsact In bridge_vlan_mcast.sh line 50: tc qdisc add dev $swp2 clsact ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc qdisc add dev "$swp2" clsact In bridge_vlan_mcast.sh line 52: bridge vlan add vid 10-11 dev $swp1 master ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan add vid 10-11 dev "$swp1" master In bridge_vlan_mcast.sh line 53: bridge vlan add vid 10-11 dev $swp2 master ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan add vid 10-11 dev "$swp2" master In bridge_vlan_mcast.sh line 62: tc qdisc del dev $swp2 clsact ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc qdisc del dev "$swp2" clsact In bridge_vlan_mcast.sh line 63: tc qdisc del dev $swp1 clsact ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc qdisc del dev "$swp1" clsact In bridge_vlan_mcast.sh line 65: ip link set dev $swp2 down ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$swp2" down In bridge_vlan_mcast.sh line 66: ip link set dev $swp1 down ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$swp1" down In bridge_vlan_mcast.sh line 104: ip address add dev $h2.10 $TEST_GROUP/32 autojoin ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip address add dev "$h2".10 "$TEST_GROUP"/32 autojoin In bridge_vlan_mcast.sh line 110: if [ $expect -eq 0 ]; then ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if [ "$expect" -eq 0 ]; then In bridge_vlan_mcast.sh line 117: if [ $RET -eq 0 ]; then ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if [ "$RET" -eq 0 ]; then In bridge_vlan_mcast.sh line 118: ip address del dev $h2.10 $TEST_GROUP/32 2>&1 1>/dev/null ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2069 (warning): To redirect stdout+stderr, 2>&1 must be last (or use '{ cmd > file; } 2>&1' to clarify). Did you mean: ip address del dev "$h2".10 "$TEST_GROUP"/32 2>&1 1>/dev/null In bridge_vlan_mcast.sh line 130: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 131: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 137: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 157: ip -j link xstats type bridge_slave dev $dev | \ ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -j link xstats type bridge_slave dev "$dev" | \ In bridge_vlan_mcast.sh line 167: tc filter add dev $dev egress pref 10 prot 802.1Q \ ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter add dev "$dev" egress pref 10 prot 802.1Q \ In bridge_vlan_mcast.sh line 171: tc filter add dev $dev egress pref 10 prot 802.1Q \ ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter add dev "$dev" egress pref 10 prot 802.1Q \ In bridge_vlan_mcast.sh line 184: tc filter del dev $dev egress pref 10 ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter del dev "$dev" egress pref 10 In bridge_vlan_mcast.sh line 196: vlmc_query_cnt_setup $type $dev ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_query_cnt_setup "$type" "$dev" In bridge_vlan_mcast.sh line 198: local pre_tx_xstats=$(vlmc_query_cnt_xstats $type $version $dev) ^-----------^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^---^ 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: local pre_tx_xstats=$(vlmc_query_cnt_xstats "$type" "$version" "$dev") In bridge_vlan_mcast.sh line 202: sleep $time ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: sleep "$time" In bridge_vlan_mcast.sh line 204: local tcstats=$(tc_rule_stats_get $dev 10 egress) ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: local tcstats=$(tc_rule_stats_get "$dev" 10 egress) In bridge_vlan_mcast.sh line 205: local post_tx_xstats=$(vlmc_query_cnt_xstats $type $version $dev) ^------------^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^---^ 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: local post_tx_xstats=$(vlmc_query_cnt_xstats "$type" "$version" "$dev") In bridge_vlan_mcast.sh line 207: if [[ $tcstats != $expect || \ ^-----^ SC2053 (warning): Quote the right-hand side of != in [[ ]] to prevent glob matching. In bridge_vlan_mcast.sh line 208: $(($post_tx_xstats-$pre_tx_xstats)) != $expect || \ ^-------------^ SC2004 (style): $/${} is unnecessary on arithmetic variables. ^------------^ SC2004 (style): $/${} is unnecessary on arithmetic variables. ^-----^ SC2053 (warning): Quote the right-hand side of != in [[ ]] to prevent glob matching. In bridge_vlan_mcast.sh line 209: $tcstats != $(($post_tx_xstats-$pre_tx_xstats)) ]]; then ^-------------^ SC2004 (style): $/${} is unnecessary on arithmetic variables. ^------------^ SC2004 (style): $/${} is unnecessary on arithmetic variables. In bridge_vlan_mcast.sh line 215: vlmc_query_cnt_cleanup $dev ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_query_cnt_cleanup "$dev" In bridge_vlan_mcast.sh line 217: return $ret ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ret" In bridge_vlan_mcast.sh line 223: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 224: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 228: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 240: vlmc_check_query igmp 2 $swp1 1 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query igmp 2 "$swp1" 1 1 In bridge_vlan_mcast.sh line 245: vlmc_check_query mld 1 $swp1 1 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query mld 1 "$swp1" 1 1 In bridge_vlan_mcast.sh line 253: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 254: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 258: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 264: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 275: vlmc_check_query igmp 3 $swp1 1 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query igmp 3 "$swp1" 1 1 In bridge_vlan_mcast.sh line 285: vlmc_check_query mld 2 $swp1 1 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query mld 2 "$swp1" 1 1 In bridge_vlan_mcast.sh line 296: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 297: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 301: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 308: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 330: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 331: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 335: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 342: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 351: vlmc_check_query igmp 2 $swp1 2 3 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query igmp 2 "$swp1" 2 3 In bridge_vlan_mcast.sh line 358: vlmc_check_query igmp 2 $swp1 3 4 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query igmp 2 "$swp1" 3 4 In bridge_vlan_mcast.sh line 369: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 370: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 374: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 395: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 396: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 400: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 415: ip link set dev $h1 master br1 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$h1" master br1 In bridge_vlan_mcast.sh line 417: bridge vlan add vid 10 dev $h1 master ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan add vid 10 dev "$h1" master In bridge_vlan_mcast.sh line 421: ip addr replace 2001:db8:1::1/64 dev $h1 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip addr replace 2001:db8:1::1/64 dev "$h1" In bridge_vlan_mcast.sh line 422: vlmc_check_query igmp 2 $swp1 1 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query igmp 2 "$swp1" 1 1 In bridge_vlan_mcast.sh line 432: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 433: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 437: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 448: vlmc_check_query igmp 2 $swp1 3 5 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query igmp 2 "$swp1" 3 5 In bridge_vlan_mcast.sh line 459: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 460: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 464: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 481: local goutput=`bridge -j -d vlan show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^----------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j -d vlan show) In bridge_vlan_mcast.sh line 482: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 487: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 495: bridge vlan set vid 10 dev $swp1 mcast_router 2 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan set vid 10 dev "$swp1" mcast_router 2 In bridge_vlan_mcast.sh line 500: tc filter add dev $swp1 egress pref 10 prot 802.1Q \ ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter add dev "$swp1" egress pref 10 prot 802.1Q \ In bridge_vlan_mcast.sh line 502: tc filter add dev $swp2 egress pref 10 prot 802.1Q \ ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter add dev "$swp2" egress pref 10 prot 802.1Q \ In bridge_vlan_mcast.sh line 504: bridge vlan set vid 10 dev $swp2 mcast_router 0 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan set vid 10 dev "$swp2" mcast_router 0 In bridge_vlan_mcast.sh line 513: local swp1_tcstats=$(tc_rule_stats_get $swp1 10 egress) ^----------^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: local swp1_tcstats=$(tc_rule_stats_get "$swp1" 10 egress) In bridge_vlan_mcast.sh line 517: local swp2_tcstats=$(tc_rule_stats_get $swp2 10 egress) ^----------^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: local swp2_tcstats=$(tc_rule_stats_get "$swp2" 10 egress) In bridge_vlan_mcast.sh line 518: check_err $swp2_tcstats "Vlan 10 multicast packets flooded to non-router port" ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: check_err "$swp2_tcstats" "Vlan 10 multicast packets flooded to non-router port" In bridge_vlan_mcast.sh line 521: tc filter del dev $swp2 egress pref 10 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter del dev "$swp2" egress pref 10 In bridge_vlan_mcast.sh line 522: tc filter del dev $swp1 egress pref 10 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter del dev "$swp1" egress pref 10 In bridge_vlan_mcast.sh line 525: bridge vlan set vid 10 dev $swp2 mcast_router 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan set vid 10 dev "$swp2" mcast_router 1 In bridge_vlan_mcast.sh line 526: bridge vlan set vid 10 dev $swp1 mcast_router 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan set vid 10 dev "$swp1" mcast_router 1 In bridge_vlan_mcast.sh line 546: exit $EXIT_STATUS ^----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: exit "$EXIT_STATUS" For more information: https://www.shellcheck.net/wiki/SC2053 -- Quote the right-hand side of != i... https://www.shellcheck.net/wiki/SC2069 -- To redirect stdout+stderr, 2>&1 m... https://www.shellcheck.net/wiki/SC2155 -- Declare and assign separately to ... ====== Checking the tree with the patch ====== Checking tools/testing/selftests/net/forwarding/bridge_vlan_mcast.sh - c6348b3114dd669c1a8e1df0913de8e551c89578bfadd7968835e6158780a336 In bridge_vlan_mcast.sh line 16: simple_if_init $h1 192.0.2.1/24 2001:db8:1::1/64 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: simple_if_init "$h1" 192.0.2.1/24 2001:db8:1::1/64 In bridge_vlan_mcast.sh line 17: ip link add l $h1 $h1.10 up type vlan id 10 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link add l "$h1" "$h1".10 up type vlan id 10 In bridge_vlan_mcast.sh line 22: ip link del $h1.10 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link del "$h1".10 In bridge_vlan_mcast.sh line 23: simple_if_fini $h1 192.0.2.1/24 2001:db8:1::1/64 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: simple_if_fini "$h1" 192.0.2.1/24 2001:db8:1::1/64 In bridge_vlan_mcast.sh line 28: simple_if_init $h2 192.0.2.2/24 2001:db8:1::2/64 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: simple_if_init "$h2" 192.0.2.2/24 2001:db8:1::2/64 In bridge_vlan_mcast.sh line 29: ip link add l $h2 $h2.10 up type vlan id 10 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link add l "$h2" "$h2".10 up type vlan id 10 In bridge_vlan_mcast.sh line 34: ip link del $h2.10 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link del "$h2".10 In bridge_vlan_mcast.sh line 35: simple_if_fini $h2 192.0.2.2/24 2001:db8:1::2/64 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: simple_if_fini "$h2" 192.0.2.2/24 2001:db8:1::2/64 In bridge_vlan_mcast.sh line 42: ip link set dev $swp1 master br0 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$swp1" master br0 In bridge_vlan_mcast.sh line 43: ip link set dev $swp2 master br0 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$swp2" master br0 In bridge_vlan_mcast.sh line 46: ip link set dev $swp1 up ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$swp1" up In bridge_vlan_mcast.sh line 47: ip link set dev $swp2 up ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$swp2" up In bridge_vlan_mcast.sh line 49: tc qdisc add dev $swp1 clsact ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc qdisc add dev "$swp1" clsact In bridge_vlan_mcast.sh line 50: tc qdisc add dev $swp2 clsact ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc qdisc add dev "$swp2" clsact In bridge_vlan_mcast.sh line 52: bridge vlan add vid 10-11 dev $swp1 master ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan add vid 10-11 dev "$swp1" master In bridge_vlan_mcast.sh line 53: bridge vlan add vid 10-11 dev $swp2 master ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan add vid 10-11 dev "$swp2" master In bridge_vlan_mcast.sh line 62: tc qdisc del dev $swp2 clsact ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc qdisc del dev "$swp2" clsact In bridge_vlan_mcast.sh line 63: tc qdisc del dev $swp1 clsact ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc qdisc del dev "$swp1" clsact In bridge_vlan_mcast.sh line 65: ip link set dev $swp2 down ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$swp2" down In bridge_vlan_mcast.sh line 66: ip link set dev $swp1 down ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$swp1" down In bridge_vlan_mcast.sh line 104: ip address add dev $h2.10 $TEST_GROUP/32 autojoin ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip address add dev "$h2".10 "$TEST_GROUP"/32 autojoin In bridge_vlan_mcast.sh line 110: if [ $expect -eq 0 ]; then ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if [ "$expect" -eq 0 ]; then In bridge_vlan_mcast.sh line 117: if [ $RET -eq 0 ]; then ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if [ "$RET" -eq 0 ]; then In bridge_vlan_mcast.sh line 118: ip address del dev $h2.10 $TEST_GROUP/32 2>&1 1>/dev/null ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2069 (warning): To redirect stdout+stderr, 2>&1 must be last (or use '{ cmd > file; } 2>&1' to clarify). Did you mean: ip address del dev "$h2".10 "$TEST_GROUP"/32 2>&1 1>/dev/null In bridge_vlan_mcast.sh line 130: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 131: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 137: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 157: ip -j link xstats type bridge_slave dev $dev | \ ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -j link xstats type bridge_slave dev "$dev" | \ In bridge_vlan_mcast.sh line 167: tc filter add dev $dev egress pref 10 prot 802.1Q \ ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter add dev "$dev" egress pref 10 prot 802.1Q \ In bridge_vlan_mcast.sh line 171: tc filter add dev $dev egress pref 10 prot 802.1Q \ ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter add dev "$dev" egress pref 10 prot 802.1Q \ In bridge_vlan_mcast.sh line 184: tc filter del dev $dev egress pref 10 ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter del dev "$dev" egress pref 10 In bridge_vlan_mcast.sh line 196: vlmc_query_cnt_setup $type $dev ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_query_cnt_setup "$type" "$dev" In bridge_vlan_mcast.sh line 198: local pre_tx_xstats=$(vlmc_query_cnt_xstats $type $version $dev) ^-----------^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^---^ 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: local pre_tx_xstats=$(vlmc_query_cnt_xstats "$type" "$version" "$dev") In bridge_vlan_mcast.sh line 202: sleep $time ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: sleep "$time" In bridge_vlan_mcast.sh line 204: local tcstats=$(tc_rule_stats_get $dev 10 egress) ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: local tcstats=$(tc_rule_stats_get "$dev" 10 egress) In bridge_vlan_mcast.sh line 205: local post_tx_xstats=$(vlmc_query_cnt_xstats $type $version $dev) ^------------^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^---^ 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: local post_tx_xstats=$(vlmc_query_cnt_xstats "$type" "$version" "$dev") In bridge_vlan_mcast.sh line 207: if [[ $tcstats != $expect || \ ^-----^ SC2053 (warning): Quote the right-hand side of != in [[ ]] to prevent glob matching. In bridge_vlan_mcast.sh line 208: $(($post_tx_xstats-$pre_tx_xstats)) != $expect || \ ^-------------^ SC2004 (style): $/${} is unnecessary on arithmetic variables. ^------------^ SC2004 (style): $/${} is unnecessary on arithmetic variables. ^-----^ SC2053 (warning): Quote the right-hand side of != in [[ ]] to prevent glob matching. In bridge_vlan_mcast.sh line 209: $tcstats != $(($post_tx_xstats-$pre_tx_xstats)) ]]; then ^-------------^ SC2004 (style): $/${} is unnecessary on arithmetic variables. ^------------^ SC2004 (style): $/${} is unnecessary on arithmetic variables. In bridge_vlan_mcast.sh line 215: vlmc_query_cnt_cleanup $dev ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_query_cnt_cleanup "$dev" In bridge_vlan_mcast.sh line 217: return $ret ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ret" In bridge_vlan_mcast.sh line 223: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 224: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 228: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 240: vlmc_check_query igmp 2 $swp1 1 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query igmp 2 "$swp1" 1 1 In bridge_vlan_mcast.sh line 245: vlmc_check_query mld 1 $swp1 1 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query mld 1 "$swp1" 1 1 In bridge_vlan_mcast.sh line 253: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 254: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 258: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 264: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 275: vlmc_check_query igmp 3 $swp1 1 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query igmp 3 "$swp1" 1 1 In bridge_vlan_mcast.sh line 285: vlmc_check_query mld 2 $swp1 1 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query mld 2 "$swp1" 1 1 In bridge_vlan_mcast.sh line 296: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 297: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 301: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 308: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 330: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 331: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 335: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 342: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 351: vlmc_check_query igmp 2 $swp1 2 3 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query igmp 2 "$swp1" 2 3 In bridge_vlan_mcast.sh line 358: vlmc_check_query igmp 2 $swp1 3 4 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query igmp 2 "$swp1" 3 4 In bridge_vlan_mcast.sh line 369: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 370: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 374: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 395: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 396: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 400: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 415: ip link set dev $h1 master br1 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip link set dev "$h1" master br1 In bridge_vlan_mcast.sh line 417: setup_wait_dev $h1 0 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: setup_wait_dev "$h1" 0 In bridge_vlan_mcast.sh line 418: bridge vlan add vid 10 dev $h1 master ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan add vid 10 dev "$h1" master In bridge_vlan_mcast.sh line 422: ip addr replace 2001:db8:1::1/64 dev $h1 ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip addr replace 2001:db8:1::1/64 dev "$h1" In bridge_vlan_mcast.sh line 423: vlmc_check_query igmp 2 $swp1 1 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query igmp 2 "$swp1" 1 1 In bridge_vlan_mcast.sh line 433: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 434: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 438: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 449: vlmc_check_query igmp 2 $swp1 3 5 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: vlmc_check_query igmp 2 "$swp1" 3 5 In bridge_vlan_mcast.sh line 460: local goutput=`bridge -j vlan global show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^--------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j vlan global show) In bridge_vlan_mcast.sh line 461: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 465: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 482: local goutput=`bridge -j -d vlan show` ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^----------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: local goutput=$(bridge -j -d vlan show) In bridge_vlan_mcast.sh line 483: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 488: echo -n $goutput | ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo -n "$goutput" | In bridge_vlan_mcast.sh line 496: bridge vlan set vid 10 dev $swp1 mcast_router 2 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan set vid 10 dev "$swp1" mcast_router 2 In bridge_vlan_mcast.sh line 501: tc filter add dev $swp1 egress pref 10 prot 802.1Q \ ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter add dev "$swp1" egress pref 10 prot 802.1Q \ In bridge_vlan_mcast.sh line 503: tc filter add dev $swp2 egress pref 10 prot 802.1Q \ ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter add dev "$swp2" egress pref 10 prot 802.1Q \ In bridge_vlan_mcast.sh line 505: bridge vlan set vid 10 dev $swp2 mcast_router 0 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan set vid 10 dev "$swp2" mcast_router 0 In bridge_vlan_mcast.sh line 514: local swp1_tcstats=$(tc_rule_stats_get $swp1 10 egress) ^----------^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: local swp1_tcstats=$(tc_rule_stats_get "$swp1" 10 egress) In bridge_vlan_mcast.sh line 518: local swp2_tcstats=$(tc_rule_stats_get $swp2 10 egress) ^----------^ SC2155 (warning): Declare and assign separately to avoid masking return values. ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: local swp2_tcstats=$(tc_rule_stats_get "$swp2" 10 egress) In bridge_vlan_mcast.sh line 519: check_err $swp2_tcstats "Vlan 10 multicast packets flooded to non-router port" ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: check_err "$swp2_tcstats" "Vlan 10 multicast packets flooded to non-router port" In bridge_vlan_mcast.sh line 522: tc filter del dev $swp2 egress pref 10 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter del dev "$swp2" egress pref 10 In bridge_vlan_mcast.sh line 523: tc filter del dev $swp1 egress pref 10 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc filter del dev "$swp1" egress pref 10 In bridge_vlan_mcast.sh line 526: bridge vlan set vid 10 dev $swp2 mcast_router 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan set vid 10 dev "$swp2" mcast_router 1 In bridge_vlan_mcast.sh line 527: bridge vlan set vid 10 dev $swp1 mcast_router 1 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: bridge vlan set vid 10 dev "$swp1" mcast_router 1 In bridge_vlan_mcast.sh line 547: exit $EXIT_STATUS ^----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: exit "$EXIT_STATUS" For more information: https://www.shellcheck.net/wiki/SC2053 -- Quote the right-hand side of != i... https://www.shellcheck.net/wiki/SC2069 -- To redirect stdout+stderr, 2>&1 m... https://www.shellcheck.net/wiki/SC2155 -- Declare and assign separately to ...