diff --git a/airoha/base-files/lib/network/switch.sh b/airoha/base-files/lib/network/switch.sh index 4844f4f9d2fb42a5f461d7ac3704cf6e5e078212..762cae131cdedc88ad7665c90d2d21dca56febc4 100644 --- a/airoha/base-files/lib/network/switch.sh +++ b/airoha/base-files/lib/network/switch.sh @@ -6,7 +6,8 @@ WANDEV= LANDEVS= tc3162_eth_portmap() { - wan_port="-1" + local wan_port="-1" + local portmap port i case "$WANDEV" in eth0.[0-9]) @@ -15,13 +16,10 @@ tc3162_eth_portmap() { esac portmap="${wan_port}" - j=1 - for i in `seq 1 6`; do - iface="$(echo $LANDEVS | cut -d' ' -f$j)" + for i in $(seq 1 6); do port="-1" if [ "${i}" -ne "${wan_port}" ]; then - [ "${iface:0:5}" = "eth0." ] && port=${iface#eth0.} - j=$((j+1)) + echo $LANDEVS | tr ' ' '\n' | grep -qxF "eth0.${i}" && port=$i fi portmap="${portmap} ${port}" done