From 8b88dc7f7152618d155f73628ad36fb6474e2960 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Tue, 29 May 2012 17:38:18 +0200 Subject: [PATCH] network: do not arping with qeth layer3 interfaces https://bugzilla.redhat.com/show_bug.cgi?id=825783 --- modules.d/40network/dhclient-script.sh | 13 ++++++++++--- modules.d/40network/net-lib.sh | 10 +++++++++- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh index dd893c1..470444e 100755 --- a/modules.d/40network/dhclient-script.sh +++ b/modules.d/40network/dhclient-script.sh @@ -66,10 +66,17 @@ case $reason in ;; BOUND) echo "dhcp: BOND setting $netif" - if ! arping -q -D -c 2 -I $netif $new_ip_address ; then - warn "Duplicate address detected for $new_ip_address while doing dhcp. retrying" - exit 1 + unset layer2 + if [ -f /sys/class/net/$netif/device/layer2 ]; then + read layer2 < /sys/class/net/$netif/device/layer2 fi + if [ "$layer2" != "0" ]; then + if ! arping -q -D -c 2 -I $netif $new_ip_address ; then + warn "Duplicate address detected for $new_ip_address while doing dhcp. retrying" + exit 1 + fi + fi + unset layer2 setup_interface set | while read line; do [ "${line#new_}" = "$line" ] && continue diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh index 75ad5e3..7157cd5 100644 --- a/modules.d/40network/net-lib.sh +++ b/modules.d/40network/net-lib.sh @@ -95,9 +95,17 @@ setup_net() { else dest="$gw_ip" fi - if [ -n "$dest" ] && ! arping -q -f -w 60 -I $netif $dest ; then + + unset layer2 + if [ -f /sys/class/net/$netif/device/layer2 ]; then + read layer2 < /sys/class/net/$netif/device/layer2 + fi + + if [ "$layer2" != "0" ] && [ -n "$dest" ] && ! arping -q -f -w 60 -I $netif $dest ; then info "Resolving $dest via ARP on $netif failed" fi + unset layer2 + > /tmp/net.$netif.did-setup } -- 2.7.4