aboutsummaryrefslogtreecommitdiffstats
path: root/sysconfig
diff options
context:
space:
mode:
authorLukas Nykryn <lnykryn@redhat.com>2014-07-24 14:55:55 +0200
committerLukas Nykryn <lnykryn@redhat.com>2014-07-24 15:07:50 +0200
commit63295b32fea1b70ccf09a84d8abafb2fcbf41aed (patch)
tree84b861ee623d9ecfde0052df08347430124118d1 /sysconfig
parent696ef398d931e80ddea460018a37ed616887b575 (diff)
downloadinitscripts-63295b32fea1b70ccf09a84d8abafb2fcbf41aed.tar
initscripts-63295b32fea1b70ccf09a84d8abafb2fcbf41aed.tar.gz
initscripts-63295b32fea1b70ccf09a84d8abafb2fcbf41aed.tar.bz2
initscripts-63295b32fea1b70ccf09a84d8abafb2fcbf41aed.tar.xz
initscripts-63295b32fea1b70ccf09a84d8abafb2fcbf41aed.zip
ifup-aliases: improve duplicate address detection
Conflicts: sysconfig/network-scripts/ifup-aliases
Diffstat (limited to 'sysconfig')
-rwxr-xr-xsysconfig/network-scripts/ifup-aliases14
1 files changed, 8 insertions, 6 deletions
diff --git a/sysconfig/network-scripts/ifup-aliases b/sysconfig/network-scripts/ifup-aliases
index 9bc815f3..b821eee8 100755
--- a/sysconfig/network-scripts/ifup-aliases
+++ b/sysconfig/network-scripts/ifup-aliases
@@ -257,13 +257,15 @@ function new_interface ()
fi
if [ "$setup_this" = "yes" ] ; then
- [ "${parent_device}" != "lo" ] && [ "${ARPCHECK}" != "no" ] && \
+ if [ "${parent_device}" != "lo" ] && [ "${ARPCHECK}" != "no" ] && \
is_available ${parent_device} && \
- grep -qswi "up" /sys/class/net/${parent_device}/operstate && \
- if ! /sbin/arping -q -c 2 -w 3 -D -I ${parent_device} ${IPADDR} ; then
- net_log $"Error, some other host already uses address ${IPADDR}."
- return 1
- fi
+ ( grep -qswi "up" /sys/class/net/${parent_device}/operstate || grep -qswi "1" /sys/class/net/${parent_device}/carrier ) ; then
+ echo $"Determining if ip address ${IPADDR} is already in use for device ${parent_device}..."
+ if ! /sbin/arping -q -c 2 -w ${ARPING_WAIT:-3} -D -I ${parent_device} ${IPADDR} ; then
+ net_log $"Error, some other host already uses address ${IPADDR}."
+ return 1
+ fi
+ fi
/sbin/ip addr add ${IPADDR}/${PREFIX} brd ${BROADCAST} dev ${parent_device} label ${DEVICE}