blob: 6596fe03c77f43742e5676e5ccd1e46ba96e5c12 [file] [log] [blame]
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
#
# Helper functions
wait_local_port_listen()
{
local listener_ns="${1}"
local port="${2}"
local protocol="${3}"
local pattern
local i
pattern=":$(printf "%04X" "${port}") "
# for tcp protocol additionally check the socket state
[ ${protocol} = "tcp" ] && pattern="${pattern}0A"
for i in $(seq 10); do
if ip netns exec "${listener_ns}" awk '{print $2" "$4}' \
/proc/net/"${protocol}"* | grep -q "${pattern}"; then
break
fi
sleep 0.1
done
}