diff options
author | David Kaspar [Dee'Kej] <dkaspar@redhat.com> | 2017-07-10 18:16:35 +0200 |
---|---|---|
committer | Dee'Kej <deekej@linuxmail.org> | 2017-10-16 19:06:33 +0200 |
commit | a81b5e8ec984ca2a8ee7167eb87f6fc9db737843 (patch) | |
tree | f789f584928dcf8a3593d5f0a6fd29552c2a3763 /sysconfig | |
parent | 07982db7f29ce2a9f56d5af90068dbc6a7e3f302 (diff) | |
download | initscripts-a81b5e8ec984ca2a8ee7167eb87f6fc9db737843.tar initscripts-a81b5e8ec984ca2a8ee7167eb87f6fc9db737843.tar.gz initscripts-a81b5e8ec984ca2a8ee7167eb87f6fc9db737843.tar.bz2 initscripts-a81b5e8ec984ca2a8ee7167eb87f6fc9db737843.tar.xz initscripts-a81b5e8ec984ca2a8ee7167eb87f6fc9db737843.zip |
ARPUPDATE introduced
The ARPUPDATE option has been introduced. It defaults to 'yes'.
By setting the ARPUPDATE to 'no', administrator can disable
updating neighbouring computers with ARP information about current
NIC. This is especially needed when using LVS Load Balancing with
Direct routing enabled.
Diffstat (limited to 'sysconfig')
-rwxr-xr-x | sysconfig/network-scripts/ifup-aliases | 4 | ||||
-rwxr-xr-x | sysconfig/network-scripts/ifup-eth | 2 | ||||
-rw-r--r-- | sysconfig/network-scripts/network-functions | 6 |
3 files changed, 10 insertions, 2 deletions
diff --git a/sysconfig/network-scripts/ifup-aliases b/sysconfig/network-scripts/ifup-aliases index fbc15470..52d43ea8 100755 --- a/sysconfig/network-scripts/ifup-aliases +++ b/sysconfig/network-scripts/ifup-aliases @@ -127,6 +127,7 @@ eval ` ( echo default_GATEWAY=$GATEWAY\;; echo default_NO_ALIASROUTING=$NO_ALIASROUTING\;; echo default_ARPCHECK=$ARPCHECK\;; + echo default_ARPUPDATE=$ARPUPDATE\;; ) ` [ -z "$default_GATEWAY" ] && default_GATEWAY=$network_GATEWAY @@ -142,6 +143,7 @@ function ini_env () NO_ALIASROUTING=$default_NO_ALIASROUTING ONPARENT="" ARPCHECK=$default_ARPCHECK + ARPUPDATE=$default_ARPUPDATE } function is_default_gateway () @@ -279,7 +281,7 @@ function new_interface () dev ${parent_device} label ${DEVICE} # update ARP cache of neighboring computers: - if [ "${REALDEVICE}" != "lo" ]; then + if ! is_false "${ARPUPDATE}" && [ "${REALDEVICE}" != "lo" ]; then /sbin/arping -q -A -c 1 -I ${parent_device} ${IPADDR} ( sleep 2; /sbin/arping -q -U -c 1 -I ${parent_device} ${IPADDR} ) > /dev/null 2>&1 < /dev/null & fi diff --git a/sysconfig/network-scripts/ifup-eth b/sysconfig/network-scripts/ifup-eth index 3da5c16b..5096a5d8 100755 --- a/sysconfig/network-scripts/ifup-eth +++ b/sysconfig/network-scripts/ifup-eth @@ -274,7 +274,7 @@ else fi # update ARP cache of neighboring computers - if [ "${REALDEVICE}" != "lo" ]; then + if ! is_false "${arpupdate[$idx]}" && [ "${REALDEVICE}" != "lo" ]; then /sbin/arping -q -A -c 1 -I ${REALDEVICE} ${ipaddr[$idx]} ( sleep 2; /sbin/arping -q -U -c 1 -I ${REALDEVICE} ${ipaddr[$idx]} ) > /dev/null 2>&1 < /dev/null & diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions index 1867c38a..7f5dfb0a 100644 --- a/sysconfig/network-scripts/network-functions +++ b/sysconfig/network-scripts/network-functions @@ -222,6 +222,7 @@ expand_config () netmask[$i]=$(eval echo '$'NETMASK$idx) broadcast[$i]=$(eval echo '$'BROADCAST$idx) arpcheck[$i]=$(eval echo '$'ARPCHECK$idx) + arpupdate[$i]=$(eval echo '$'ARPUPDATE$idx) if [ "${prefix[$i]}x" != "x" ]; then val=$(/bin/ipcalc --netmask "${ipaddr[$i]}/${prefix[$i]}") @@ -248,6 +249,11 @@ expand_config () arpcheck[$i]=${arpcheck[$i],,*} fi + if [ "${arpupdate[$i]}x" != "x" ]; then + arpupdate[$i]=${arpupdate[$i]##ARPUPDATE=} + arpupdate[$i]=${arpupdate[$i],,*} + fi + i=$((i+1)) done |