#!/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 }