aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sysconfig.txt4
-rwxr-xr-xsysconfig/network-scripts/ifup-aliases5
2 files changed, 8 insertions, 1 deletions
diff --git a/sysconfig.txt b/sysconfig.txt
index 82a21ceb..e59216ef 100644
--- a/sysconfig.txt
+++ b/sysconfig.txt
@@ -582,6 +582,10 @@ Files in /etc/sysconfig/network-scripts/
NM_CONTROLLED=yes|no
If set to 'no', NetworkManager will ignore this connection/device.
Defaults to 'yes'.
+ ARPCHECKn=yes|no
+ If set to 'no', ifup will not try to determine, if requested ip address
+ is used by other machine in network.
+ Defaults to 'yes'.
If BOOTPROTO is not "none", then the only other item that
must be set is the DEVICE item; all the rest will be determined
diff --git a/sysconfig/network-scripts/ifup-aliases b/sysconfig/network-scripts/ifup-aliases
index 6a428584..0cd9866f 100755
--- a/sysconfig/network-scripts/ifup-aliases
+++ b/sysconfig/network-scripts/ifup-aliases
@@ -139,6 +139,7 @@ function ini_env ()
GATEWAY=$default_GATEWAY
NO_ALIASROUTING=$default_NO_ALIASROUTING
ONPARENT=""
+ ARPCHECK=""
}
function is_default_gateway ()
@@ -257,7 +258,9 @@ function new_interface ()
fi
if [ "$setup_this" = "yes" ] ; then
- [ "${REALDEVICE}" != "lo" ] && \
+ [ "${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