aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Coddington <bcodding@uvm.edu>2012-04-23 11:19:43 -0400
committerLukas Nykryn <lnykryn@redhat.com>2012-08-07 14:42:45 +0200
commit06cdd94e805e1c6d0faf3e9ece0dc71f301831ef (patch)
tree25563e60fd4126a9838781d5553bbe40db7d785e
parenteb8425399e577b6d0a7521dd09dfafab975932d2 (diff)
downloadinitscripts-06cdd94e805e1c6d0faf3e9ece0dc71f301831ef.tar
initscripts-06cdd94e805e1c6d0faf3e9ece0dc71f301831ef.tar.gz
initscripts-06cdd94e805e1c6d0faf3e9ece0dc71f301831ef.tar.bz2
initscripts-06cdd94e805e1c6d0faf3e9ece0dc71f301831ef.tar.xz
initscripts-06cdd94e805e1c6d0faf3e9ece0dc71f301831ef.zip
Allow duplicate address dectection to be disabled
-rwxr-xr-xsysconfig/network-scripts/ifup-eth2
-rw-r--r--sysconfig/network-scripts/network-functions7
2 files changed, 8 insertions, 1 deletions
diff --git a/sysconfig/network-scripts/ifup-eth b/sysconfig/network-scripts/ifup-eth
index 8c8b588a..4692f63e 100755
--- a/sysconfig/network-scripts/ifup-eth
+++ b/sysconfig/network-scripts/ifup-eth
@@ -243,7 +243,7 @@ else
fi
if ! LC_ALL=C ip addr ls ${REALDEVICE} | LC_ALL=C grep -q "${ipaddr[$idx]}/${prefix[$idx]}" ; then
- [ "${REALDEVICE}" != "lo" ] && \
+ [ "${REALDEVICE}" != "lo" ] && [ "${arpcheck[$idx]}" != "no" ] && \
if ! /sbin/arping -q -c 2 -w 3 -D -I ${REALDEVICE} ${ipaddr[$idx]} ; then
net_log $"Error, some other host already uses address ${ipaddr[$idx]}."
exit 1
diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions
index 81e47a20..5b2f30ac 100644
--- a/sysconfig/network-scripts/network-functions
+++ b/sysconfig/network-scripts/network-functions
@@ -201,6 +201,7 @@ expand_config ()
prefix[$i]=$(eval echo '$'PREFIX$idx)
netmask[$i]=$(eval echo '$'NETMASK$idx)
broadcast[$i]=$(eval echo '$'BROADCAST$idx)
+ arpcheck[$i]=$(eval echo '$'ARPCHECK$idx)
if [ "${prefix[$i]}x" != "x" ]; then
val=$(/bin/ipcalc --netmask "${ipaddr[$i]}/${prefix[$i]}")
@@ -221,6 +222,12 @@ expand_config ()
val=$(/bin/ipcalc --broadcast ${ipaddr[$i]} ${netmask[$i]})
broadcast[$i]=${val##BROADCAST=}
fi
+
+ if [ "${arpcheck[$i]}x" != "x" ]; then
+ arpcheck[$i]=${arpcheck[$i]##ARPCHECK=}
+ arpcheck[$i]=${arpcheck[$i],,*}
+ fi
+
i=$((i+1))
done