X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?p=carnet-tools-cn.git;a=blobdiff_plain;f=functions.sh;fp=functions.sh;h=a50c2800e3a3beaf4f9ef324e9131cf579fa23f9;hp=8c2e0e864459f73659fa92e9093f4678b69ecfdb;hb=d77e70e31638a50f6c1dceb4d5b11c6959ab3857;hpb=baae9f008f06d16d8d033ba280c0552403c1b9bb diff --git a/functions.sh b/functions.sh index 8c2e0e8..a50c280 100644 --- a/functions.sh +++ b/functions.sh @@ -88,8 +88,14 @@ cp_get_ifdefault() { RET="" case $1 in - dev) RET=`route -n | awk '/^0.0.0.0/{print $8}'` ;; - addr) RET=`route -n | awk '/^0.0.0.0/{print $2}'` ;; + dev) RET=`route -n | \ + awk 'BEGIN {m = 2^32} + /^0.0.0.0\b/{if ($5 < m) {r = $8; m = $5}} + END {print r}'` + addr) RET=`route -n | \ + awk 'BEGIN {m = 2^32} + /^0.0.0.0\b/{if ($5 < m) {r = $2; m = $5}} + END {print r}'` *) echo "cp_get_ifdefault: Argument required (dev or addr)" >&2 ;; esac