aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsysconfig/network-scripts/ifup-eth136
1 files changed, 68 insertions, 68 deletions
diff --git a/sysconfig/network-scripts/ifup-eth b/sysconfig/network-scripts/ifup-eth
index ff7166de..9a05eab2 100755
--- a/sysconfig/network-scripts/ifup-eth
+++ b/sysconfig/network-scripts/ifup-eth
@@ -419,92 +419,92 @@ else
ethtool_set
[ -n "${LINKDELAY}" ] && /bin/sleep ${LINKDELAY}
else
-
- expand_config
-
- [ -n "${ARP}" ] && \
- ip link set dev ${REALDEVICE} $(toggle_value arp $ARP)
-
- if ! ip link set dev ${REALDEVICE} up ; then
- net_log $"Failed to bring up ${DEVICE}."
- mdv-network-event connection_failure ${DEVICE}
- exit 1
- fi
- ethtool_set
+ expand_config
- [ -n "${LINKDELAY}" ] && /bin/sleep ${LINKDELAY}
+ [ -n "${ARP}" ] && \
+ ip link set dev ${REALDEVICE} $(toggle_value arp $ARP)
- if [ "${DEVICE}" = "lo" ]; then
- SCOPE="scope host"
- else
- SCOPE=${SCOPE:-}
- fi
+ if ! ip link set dev ${REALDEVICE} up ; then
+ net_log $"Failed to bring up ${DEVICE}."
+ mdv-network-event connection_failure ${DEVICE}
+ exit 1
+ fi
- if [ -n "$SRCADDR" ]; then
- SRC="src $SRCADDR"
- else
- SRC=
- fi
+ ethtool_set
- if [ "${REALDEVICE}" != "lo" ]; then
- # set IP address(es)
- for idx in {0..256} ; do
- if [ -z "${ipaddr[$idx]}" ]; then
- break
+ [ -n "${LINKDELAY}" ] && /bin/sleep ${LINKDELAY}
+
+ if [ "${DEVICE}" = "lo" ]; then
+ SCOPE="scope host"
+ else
+ SCOPE=${SCOPE:-}
fi
+ if [ -n "$SRCADDR" ]; then
+ SRC="src $SRCADDR"
+ else
+ SRC=
+ fi
+
+ if [ "${REALDEVICE}" != "lo" ]; then
+ # set IP address(es)
+ for idx in {0..256} ; do
+ if [ -z "${ipaddr[$idx]}" ]; then
+ break
+ fi
+
+
+ if ! LC_ALL=C ip addr ls ${REALDEVICE} | LC_ALL=C grep -q "${ipaddr[$idx]}/${prefix[$idx]}" ; then
+ if [ "${REALDEVICE}" != "lo" ] && [ "${arpcheck[$idx]}" != "no" ] ; then
+ ARPING=$(/sbin/arping -c 2 -w ${ARPING_WAIT:-3} -D -I ${REALDEVICE} ${ipaddr[$idx]})
+ if [ $? = 1 ]; then
+ ARPINGMAC=$(echo $ARPING | sed -ne 's/.*\[\(.*\)\].*/\1/p')
+ net_log $"Error, some other host ($ARPINGMAC) already uses address ${ipaddr[$idx]}."
+ mdv-network-event connection_failure ${DEVICE}
+ exit 1
+ fi
+ fi
- if ! LC_ALL=C ip addr ls ${REALDEVICE} | LC_ALL=C grep -q "${ipaddr[$idx]}/${prefix[$idx]}" ; then
- if [ "${REALDEVICE}" != "lo" ] && [ "${arpcheck[$idx]}" != "no" ] ; then
- ARPING=$(/sbin/arping -c 2 -w ${ARPING_WAIT:-3} -D -I ${REALDEVICE} ${ipaddr[$idx]})
- if [ $? = 1 ]; then
- ARPINGMAC=$(echo $ARPING | sed -ne 's/.*\[\(.*\)\].*/\1/p')
- net_log $"Error, some other host ($ARPINGMAC) already uses address ${ipaddr[$idx]}."
- mdv-network-event connection_failure ${DEVICE}
- exit 1
+ if ! ip addr add ${ipaddr[$idx]}/${prefix[$idx]} \
+ brd ${broadcast[$idx]:-+} dev ${REALDEVICE} ${SCOPE} label ${DEVICE}; then
+ net_log $"Error adding address ${ipaddr[$idx]} for ${DEVICE}."
fi
fi
- if ! ip addr add ${ipaddr[$idx]}/${prefix[$idx]} \
- brd ${broadcast[$idx]:-+} dev ${REALDEVICE} ${SCOPE} label ${DEVICE}; then
- net_log $"Error adding address ${ipaddr[$idx]} for ${DEVICE}."
+ if [ -n "$SRCADDR" ]; then
+ sysctl -w "net.ipv4.conf.${SYSCTLDEVICE}.arp_filter=1" >/dev/null 2>&1
fi
- fi
- if [ -n "$SRCADDR" ]; then
- sysctl -w "net.ipv4.conf.${SYSCTLDEVICE}.arp_filter=1" >/dev/null 2>&1
- fi
+ # update ARP cache of neighboring computers
+ 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 &
+ fi
- # update ARP cache of neighboring computers
- 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 &
+ # set lifetime of address to forever
+ ip addr change ${ipaddr[$idx]}/${prefix[$idx]} dev ${REALDEVICE} valid_lft forever preferred_lft forever
+ done
fi
- # set lifetime of address to forever
- ip addr change ${ipaddr[$idx]}/${prefix[$idx]} dev ${REALDEVICE} valid_lft forever preferred_lft forever
- done
- fi
-
- # Set a default route.
- if [ "${DEFROUTE}" != "no" ] && [ -z "${GATEWAYDEV}" -o "${GATEWAYDEV}" = "${REALDEVICE}" ]; then
- # set up default gateway. replace if one already exists
- if [ -n "${GATEWAY}" ] && [ "$(ipcalc --network ${GATEWAY} ${netmask[0]} 2>/dev/null)" = "NETWORK=${NETWORK}" ]; then
- ip route replace default ${METRIC:+metric $METRIC} \
- ${EXTRA_ROUTE_OPTS} \
- via ${GATEWAY} ${WINDOW:+window $WINDOW} ${SRC} \
- ${GATEWAYDEV:+dev $GATEWAYDEV} ||
- net_log $"Error adding default gateway ${GATEWAY} for ${DEVICE}."
- elif [ "${GATEWAYDEV}" = "${DEVICE}" ]; then
- ip route replace default ${METRIC:+metric $METRIC} \
- ${EXTRA_ROUTE_OPTS} \
- ${SRC} ${WINDOW:+window $WINDOW} dev ${REALDEVICE} ||
- net_log $"Error adding default gateway for ${REALDEVICE}."
+ # Set a default route.
+ if [ "${DEFROUTE}" != "no" ] && [ -z "${GATEWAYDEV}" -o "${GATEWAYDEV}" = "${REALDEVICE}" ]; then
+ # set up default gateway. replace if one already exists
+ if [ -n "${GATEWAY}" ] && [ "$(ipcalc --network ${GATEWAY} ${netmask[0]} 2>/dev/null)" = "NETWORK=${NETWORK}" ]; then
+ ip route replace default ${METRIC:+metric $METRIC} \
+ ${EXTRA_ROUTE_OPTS} \
+ via ${GATEWAY} ${WINDOW:+window $WINDOW} ${SRC} \
+ ${GATEWAYDEV:+dev $GATEWAYDEV} ||
+ net_log $"Error adding default gateway ${GATEWAY} for ${DEVICE}."
+ elif [ "${GATEWAYDEV}" = "${DEVICE}" ]; then
+ ip route replace default ${METRIC:+metric $METRIC} \
+ ${EXTRA_ROUTE_OPTS} \
+ ${SRC} ${WINDOW:+window $WINDOW} dev ${REALDEVICE} ||
+ net_log $"Error adding default gateway for ${REALDEVICE}."
+ fi
fi
fi
- fi
fi
# Add Zeroconf route.