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-03 10:53:39 +0200
commit7a9ef3ec3b89e47015f7a5d3e78504e12382ed5c (patch)
tree7eabda34f2ce2b60b00dd75515e49686e0fa4eb7
parent71cc8dfec746902f4b3c91d5ad4a0e2169326eac (diff)
downloadinitscripts-7a9ef3ec3b89e47015f7a5d3e78504e12382ed5c.tar
initscripts-7a9ef3ec3b89e47015f7a5d3e78504e12382ed5c.tar.gz
initscripts-7a9ef3ec3b89e47015f7a5d3e78504e12382ed5c.tar.bz2
initscripts-7a9ef3ec3b89e47015f7a5d3e78504e12382ed5c.tar.xz
initscripts-7a9ef3ec3b89e47015f7a5d3e78504e12382ed5c.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 666d1359..133fbef4 100755
--- a/sysconfig/network-scripts/ifup-eth
+++ b/sysconfig/network-scripts/ifup-eth
@@ -250,7 +250,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 22eb580b..e0d5018c 100644
--- a/sysconfig/network-scripts/network-functions
+++ b/sysconfig/network-scripts/network-functions
@@ -175,6 +175,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]}")
@@ -195,6 +196,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