diff options
Diffstat (limited to 'net/iproute2.sh')
-rw-r--r-- | net/iproute2.sh | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/net/iproute2.sh b/net/iproute2.sh index 096e724..ed5750f 100644 --- a/net/iproute2.sh +++ b/net/iproute2.sh @@ -84,8 +84,16 @@ _set_mac_address() _get_inet_addresses() { - LC_ALL=C ip -family inet addr show "${IFACE}" | \ - sed -n -e 's/.*inet \([^ ]*\).*/\1/p' + local family="$1"; + if [ -z "$family" ]; then + family="inet" + fi + LC_ALL=C ip -family $family addr show "${IFACE}" | \ + sed -n -e 's/.*inet6\? \([^ ]*\).*/\1/p' +} + +_get_inet6_addresses() { + _get_inet_addresses "inet6" } _get_inet_address() @@ -95,6 +103,13 @@ _get_inet_address() echo "$1" } +_get_inet6_address() +{ + set -- $(_get_inet6_addresses) + [ $# = "0" ] && return 1 + echo "$1" +} + _add_address() { if [ "$1" = "127.0.0.1/8" -a "${IFACE}" = "lo" ]; then |