aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Macku <jamacku@redhat.com>2021-02-12 10:15:21 +0100
committerJan Macku <jamacku@redhat.com>2021-02-15 15:48:14 +0100
commitf60352b3b4dcc8d1e3c038de53a3e5c0641ced1b (patch)
tree1b9216833ca8324cbdf047e55f2d05b8c1cfb2d8
parentc461aa4e1a057eb00610ae7fe16a9e037bd18c98 (diff)
downloadinitscripts-f60352b3b4dcc8d1e3c038de53a3e5c0641ced1b.tar
initscripts-f60352b3b4dcc8d1e3c038de53a3e5c0641ced1b.tar.gz
initscripts-f60352b3b4dcc8d1e3c038de53a3e5c0641ced1b.tar.bz2
initscripts-f60352b3b4dcc8d1e3c038de53a3e5c0641ced1b.tar.xz
initscripts-f60352b3b4dcc8d1e3c038de53a3e5c0641ced1b.zip
network scripts: Avoid infinite loop of arping
Introduced in the bonding driver (commit ae46f184bc1f) Driver now reports transmission failures. Before that, it silently dropped the packet and replied with success error code. The arping of iputils retries endlessly when a transmission error occurs. This patch fix this behavior. Resolves: #1928098 (cherry picked from commit afbd6b5a0aa0873a606cbc99ee418b4de8c3d2dc)
-rwxr-xr-xnetwork-scripts/ifup-aliases5
-rwxr-xr-xnetwork-scripts/ifup-eth4
2 files changed, 5 insertions, 4 deletions
diff --git a/network-scripts/ifup-aliases b/network-scripts/ifup-aliases
index 8a943c1b..5ee04d29 100755
--- a/network-scripts/ifup-aliases
+++ b/network-scripts/ifup-aliases
@@ -280,8 +280,9 @@ function new_interface ()
# update ARP cache of neighboring computers:
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 &
+ /sbin/arping -q -A -c 1 -w ${ARPING_UPDATE_WAIT:-3} -I ${parent_device} ${IPADDR}
+ ( sleep 2;
+ /sbin/arping -q -U -c 1 -w ${ARPING_UPDATE_WAIT:-3} -I ${parent_device} ${IPADDR} ) > /dev/null 2>&1 < /dev/null &
fi
! is_false "$IPV6INIT" && \
diff --git a/network-scripts/ifup-eth b/network-scripts/ifup-eth
index a3776e84..592bfb80 100755
--- a/network-scripts/ifup-eth
+++ b/network-scripts/ifup-eth
@@ -302,9 +302,9 @@ else
# update ARP cache of neighboring computers
if ! is_false "${arpupdate[$idx]}" && [ "${REALDEVICE}" != "lo" ]; then
- /sbin/arping -q -A -c 1 -I ${REALDEVICE} ${ipaddr[$idx]}
+ /sbin/arping -q -A -c 1 -w ${ARPING_UPDATE_WAIT:-3} -I ${REALDEVICE} ${ipaddr[$idx]}
( sleep 2;
- /sbin/arping -q -U -c 1 -I ${REALDEVICE} ${ipaddr[$idx]} ) > /dev/null 2>&1 < /dev/null &
+ /sbin/arping -q -U -c 1 -w ${ARPING_UPDATE_WAIT:-3} -I ${REALDEVICE} ${ipaddr[$idx]} ) > /dev/null 2>&1 < /dev/null &
fi
# set lifetime of address to forever