diff --git a/octavia/amphorae/backends/utils/udp_check.sh b/octavia/amphorae/backends/utils/udp_check.sh index 12b4d55a88..37443b053c 100644 --- a/octavia/amphorae/backends/utils/udp_check.sh +++ b/octavia/amphorae/backends/utils/udp_check.sh @@ -1,4 +1,16 @@ #!/bin/bash + nc_cmd=`which nc` -$nc_cmd -uzv -w1 $1 $2 > /dev/null + +nc_flavor=$($nc_cmd --version 2>&1 | grep -o nmap) +case "$nc_flavor" in +nmap) + nc_flavor_opts="-i1" + ;; +*) # default, probably openbsd + nc_flavor_opts="-w1" + ;; +esac + +$nc_cmd -uzv $nc_flavor_opts $1 $2 > /dev/null exit $?