aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net/iproute2.sh')
-rw-r--r--net/iproute2.sh19
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