commit:     10c365a266c390d0d3e1c26fdb991022e0cd7235
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 16 19:13:20 2014 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Wed Jul 16 19:17:21 2014 +0000
URL:        
http://git.overlays.gentoo.org/gitweb/?p=proj/netifrc.git;a=commit;h=10c365a2

iproute2: verbose output

All ip commands that change state should have a ve* call before them to
enable verbose output of what is going on.

Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

---
 net/iproute2.sh | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/net/iproute2.sh b/net/iproute2.sh
index 096e724..7f0eccb 100644
--- a/net/iproute2.sh
+++ b/net/iproute2.sh
@@ -10,11 +10,13 @@ iproute2_depend()
 
 _up()
 {
+       veinfo ip link set dev "${IFACE}" up
        ip link set dev "${IFACE}" up
 }
 
 _down()
 {
+       veinfo ip link set dev "${IFACE}" down
        ip link set dev "${IFACE}" down
 }
 
@@ -57,6 +59,7 @@ _set_flag()
                flag=${flag#-}
                opt="off"
        fi
+       veinfo ip link set dev "${IFACE}" "${flag}" "${opt}"
        ip link set dev "${IFACE}" "${flag}" "${opt}"
 }
 
@@ -79,6 +82,7 @@ _get_mac_address()
 
 _set_mac_address()
 {
+       veinfo ip link set dev "${IFACE}" address "$1"
        ip link set dev "${IFACE}" address "$1"
 }
 
@@ -98,6 +102,7 @@ _get_inet_address()
 _add_address()
 {
        if [ "$1" = "127.0.0.1/8" -a "${IFACE}" = "lo" ]; then
+               veinfo ip addr add "$@" dev "${IFACE}" 2>/dev/null
                ip addr add "$@" dev "${IFACE}" 2>/dev/null
                return 0
        fi
@@ -202,9 +207,12 @@ _add_route()
 
 _delete_addresses()
 {
+       veinfo ip addr flush dev "${IFACE}" scope global 2>/dev/null
        ip addr flush dev "${IFACE}" scope global 2>/dev/null
+       veinfo ip addr flush dev "${IFACE}" scope site 2>/dev/null
        ip addr flush dev "${IFACE}" scope site 2>/dev/null
        if [ "${IFACE}" != "lo" ]; then
+               veinfo ip addr flush dev "${IFACE}" scope host 2>/dev/null
                ip addr flush dev "${IFACE}" scope host 2>/dev/null
        fi
        return 0
@@ -217,6 +225,7 @@ _has_carrier()
 
 _tunnel()
 {
+       veinfo ip tunnel "$@"
        ip tunnel "$@"
 }
 
@@ -266,6 +275,7 @@ _iproute2_policy_routing()
                                _ip_rule_runner -4 add "${rules}"
                        fi
                fi
+               veinfo ip -4 route flush table cache dev "${IFACE}"
                ip -4 route flush table cache dev "${IFACE}"
        fi
 
@@ -281,6 +291,7 @@ _iproute2_policy_routing()
                                _ip_rule_runner -6 add "${rules}"
                        fi
                fi
+               veinfo ip -6 route flush table cache dev "${IFACE}"
                ip -6 route flush table cache dev "${IFACE}"
        fi
 }
@@ -299,6 +310,7 @@ iproute2_pre_start()
                [ "${tunnel##mode ip6ip6}" != "${tunnel}" ] && ipproto='-6'
 
                ebegin "Creating tunnel ${IFVAR}"
+               veinfo ip ${ipproto} tunnel add ${tunnel} name "${IFACE}"
                ip ${ipproto} tunnel add ${tunnel} name "${IFACE}"
                eend $? || return 1
                _up
@@ -307,12 +319,18 @@ iproute2_pre_start()
        # MTU support
        local mtu=
        eval mtu=\$mtu_${IFVAR}
-       [ -n "${mtu}" ] && ip link set dev "${IFACE}" mtu "${mtu}"
+       if [ -n "${mtu}" ]; then
+               veinfo ip link set dev "${IFACE}" mtu "${mtu}"
+               ip link set dev "${IFACE}" mtu "${mtu}"
+       fi
 
        # TX Queue Length support
        local len=
        eval len=\$txqueuelen_${IFVAR}
-       [ -n "${len}" ] && ip link set dev "${IFACE}" txqueuelen "${len}"
+       if [ -n "${len}" ]; then
+               veinfo ip link set dev "${IFACE}" txqueuelen "${len}"
+               ip link set dev "${IFACE}" txqueuelen "${len}"
+       fi
 
        local policyroute_order=
        eval policyroute_order=\$policy_rules_before_routes_${IFVAR}
@@ -365,6 +383,7 @@ iproute2_post_stop()
 
                # Only do something if the interface actually exist
                if _exists; then
+                       veinfo ip -4 route flush table cache dev "${IFACE}"
                        ip -4 route flush table cache dev "${IFACE}"
                fi
        fi
@@ -379,6 +398,7 @@ iproute2_post_stop()
 
                # Only do something if the interface actually exist
                if _exists; then
+                       veinfo ip -6 route flush table cache dev "${IFACE}"
                        ip -6 route flush table cache dev "${IFACE}"
                fi
        fi
@@ -387,6 +407,7 @@ iproute2_post_stop()
        if [ "${IFACE}" != "sit0" ]; then
                if [ -n "$(ip tunnel show "${IFACE}" 2>/dev/null)" ]; then
                        ebegin "Destroying tunnel ${IFACE}"
+                       veinfo ip tunnel del "${IFACE}"
                        ip tunnel del "${IFACE}"
                        eend $?
                fi

Reply via email to