On Thu, 2024-02-01 at 13:16 +0200, Ido Schimmel wrote:
> On Thu, Feb 01, 2024 at 10:34:52AM +0100, Paolo Abeni wrote:
> > What about adding an helper alike wait_local_port_listen(), checking
> > for bridge link status in short intervals, to likely reduce the overall
> > wait time?
> 
> What about the below?
> 
> diff --git a/tools/testing/selftests/net/test_bridge_backup_port.sh 
> b/tools/testing/selftests/net/test_bridge_backup_port.sh
> index 70a7d87ba2d2..1b3f89e2b86e 100755
> --- a/tools/testing/selftests/net/test_bridge_backup_port.sh
> +++ b/tools/testing/selftests/net/test_bridge_backup_port.sh
> @@ -124,6 +124,16 @@ tc_check_packets()
>       [[ $pkts == $count ]]
>  }
>  
> +bridge_link_check()
> +{
> +     local ns=$1; shift
> +     local dev=$1; shift
> +     local state=$1; shift
> +
> +     bridge -n $ns -d -j link show dev $dev | \
> +             jq -e ".[][\"state\"] == \"$state\"" &> /dev/null
> +}

I was wondering more about a sleeping loop, something alike:

wait_bridge_link()
{       
        for i in $(seq 10); do
                if bridge_link_check $1 $2 $3; then
                        break
                fi
                sleep 0.1
        done
}

but no strong preference


Cheers,

Paolo


Reply via email to