aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsysconfig/network-scripts/ifdown-eth16
-rw-r--r--sysconfig/network-scripts/network-functions4
2 files changed, 11 insertions, 9 deletions
diff --git a/sysconfig/network-scripts/ifdown-eth b/sysconfig/network-scripts/ifdown-eth
index 1150f098..55c02fbd 100755
--- a/sysconfig/network-scripts/ifdown-eth
+++ b/sysconfig/network-scripts/ifdown-eth
@@ -77,14 +77,16 @@ retcode=0
# may have been changed in the config file since the device was
# brought up. Flush all addresses associated with this
# instance instead.
-if [ "${REALDEVICE}" = "${DEVICE}" ]; then
- ip addr flush dev ${REALDEVICE} 2>/dev/null
-else
- ip addr flush dev ${REALDEVICE} label ${DEVICE} 2>/dev/null
-fi
+if [ -d "/sys/class/net/${REALDEVICE}" ]; then
+ if [ "${REALDEVICE}" = "${DEVICE}" ]; then
+ ip addr flush dev ${REALDEVICE} 2>/dev/null
+ else
+ ip addr flush dev ${REALDEVICE} label ${DEVICE} 2>/dev/null
+ fi
-if [ "${REALDEVICE}" = "${DEVICE}" ]; then
- ip link set dev ${DEVICE} down 2>/dev/null
+ if [ "${REALDEVICE}" = "${DEVICE}" ]; then
+ ip link set dev ${DEVICE} down 2>/dev/null
+ fi
fi
[ "$retcode" = "0" ] && retcode=$?
diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions
index 92800149..1ed37e01 100644
--- a/sysconfig/network-scripts/network-functions
+++ b/sysconfig/network-scripts/network-functions
@@ -12,7 +12,7 @@ get_hwaddr ()
{
if [ -f /sys/class/net/${1}/address ]; then
cat /sys/class/net/${1}/address
- else
+ elif [ -d "/sys/class/net/${1}" ]; then
LC_ALL= LANG= ip -o link show ${1} 2>/dev/null | \
sed 's/.*link\/[^ ]* \([[:alnum:]:]*\).*/\1/'
fi
@@ -241,7 +241,7 @@ check_device_down ()
return 0
fi
else
- if LC_ALL=C ip -o link ls dev $1 2>/dev/null | grep -q ",UP" ; then
+ if LC_ALL=C ip -o link 2>/dev/null | grep -q "$1:.*,UP" ; then
return 1
else
return 0