You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
153 lines
5.9 KiB
153 lines
5.9 KiB
6 years ago
|
From 853897808af835b23edacbd815087df3543d835f Mon Sep 17 00:00:00 2001
|
||
|
From: Harald Hoyer <harald@redhat.com>
|
||
|
Date: Fri, 28 Feb 2014 10:36:12 +0100
|
||
|
Subject: [PATCH] network: merge setup_net_$netif.ok and net.$netif.did-setup
|
||
|
|
||
|
one marker per interface is enough
|
||
|
---
|
||
|
modules.d/40network/dhclient-script.sh | 8 ++------
|
||
|
modules.d/40network/ifup.sh | 9 ++++++---
|
||
|
modules.d/40network/net-genrules.sh | 2 +-
|
||
|
modules.d/40network/net-lib.sh | 6 ++++++
|
||
|
modules.d/45ifcfg/write-ifcfg.sh | 4 +++-
|
||
|
5 files changed, 18 insertions(+), 11 deletions(-)
|
||
|
|
||
|
diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh
|
||
|
index a9c25238..822cce95 100755
|
||
|
--- a/modules.d/40network/dhclient-script.sh
|
||
|
+++ b/modules.d/40network/dhclient-script.sh
|
||
|
@@ -116,12 +116,10 @@ case $reason in
|
||
|
echo "setup_net $netif"
|
||
|
echo "source_hook initqueue/online $netif"
|
||
|
[ -e /tmp/net.$netif.manualup ] || echo "/sbin/netroot $netif"
|
||
|
- echo "> /tmp/setup_net_$netif.ok"
|
||
|
- echo "> /tmp/setup_net_\$(cat /sys/class/net/$netif/address).ok"
|
||
|
echo "rm -f -- $hookdir/initqueue/setup_net_$netif.sh"
|
||
|
} > $hookdir/initqueue/setup_net_$netif.sh
|
||
|
|
||
|
- echo "[ -f /tmp/setup_net_$netif.ok ]" > $hookdir/initqueue/finished/dhclient-$netif.sh
|
||
|
+ echo "[ -f /tmp/net.$netif.did-setup ]" > $hookdir/initqueue/finished/dhclient-$netif.sh
|
||
|
>/tmp/net.$netif.up
|
||
|
;;
|
||
|
|
||
|
@@ -139,12 +137,10 @@ case $reason in
|
||
|
echo "setup_net $netif"
|
||
|
echo "source_hook initqueue/online $netif"
|
||
|
[ -e /tmp/net.$netif.manualup ] || echo "/sbin/netroot $netif"
|
||
|
- echo "> /tmp/setup_net_$netif.ok"
|
||
|
- echo "> /tmp/setup_net_\$(cat /sys/class/net/$netif/address).ok"
|
||
|
echo "rm -f -- $hookdir/initqueue/setup_net_$netif.sh"
|
||
|
} > $hookdir/initqueue/setup_net_$netif.sh
|
||
|
|
||
|
- echo "[ -f /tmp/setup_net_$netif.ok ]" > $hookdir/initqueue/finished/dhclient-$netif.sh
|
||
|
+ echo "[ -f /tmp/net.$netif.did-setup ]" > $hookdir/initqueue/finished/dhclient-$netif.sh
|
||
|
>/tmp/net.$netif.up
|
||
|
;;
|
||
|
*) echo "dhcp: $reason";;
|
||
|
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
|
||
|
index e4391068..02dfc947 100755
|
||
|
--- a/modules.d/40network/ifup.sh
|
||
|
+++ b/modules.d/40network/ifup.sh
|
||
|
@@ -83,7 +83,9 @@ fi
|
||
|
if [ -n "$manualup" ]; then
|
||
|
>/tmp/net.$netif.manualup
|
||
|
else
|
||
|
- [ -f /tmp/net.${iface}.did-setup ] && exit 0
|
||
|
+ [ -e /tmp/net.${netif}.did-setup ] && exit 0
|
||
|
+ [ -e /sys/class/net/$netif/address ] && \
|
||
|
+ [ -e /tmp/net.$(cat /sys/class/net/$netif/address).did-setup ] && exit 0
|
||
|
fi
|
||
|
|
||
|
# Run dhclient
|
||
|
@@ -145,7 +147,6 @@ do_static() {
|
||
|
[ -n "$gw" ] && echo ip route add default via $gw dev $netif > /tmp/net.$netif.gw
|
||
|
[ -n "$hostname" ] && echo "echo $hostname > /proc/sys/kernel/hostname" > /tmp/net.$netif.hostname
|
||
|
|
||
|
- > /tmp/setup_net_${netif}.ok
|
||
|
return 0
|
||
|
}
|
||
|
|
||
|
@@ -334,6 +335,8 @@ for p in $(getargs ip=); do
|
||
|
do_static ;;
|
||
|
esac
|
||
|
|
||
|
+ > /tmp/net.${netif}.up
|
||
|
+
|
||
|
case $autoconf in
|
||
|
dhcp|on|any|dhcp6)
|
||
|
;;
|
||
|
@@ -359,7 +362,7 @@ if [ -n "$DO_BOND_SETUP" -o -n "$DO_TEAM_SETUP" -o -n "$DO_VLAN_SETUP" ]; then
|
||
|
fi
|
||
|
|
||
|
# no ip option directed at our interface?
|
||
|
-if [ ! -e /tmp/setup_net_${netif}.ok ]; then
|
||
|
+if [ ! -e /tmp/net.${netif}.up ]; then
|
||
|
do_dhcp -4
|
||
|
fi
|
||
|
|
||
|
diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
|
||
|
index c4def61b..af2f09c1 100755
|
||
|
--- a/modules.d/40network/net-genrules.sh
|
||
|
+++ b/modules.d/40network/net-genrules.sh
|
||
|
@@ -89,7 +89,7 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh
|
||
|
|
||
|
for iface in $wait_ifaces; do
|
||
|
if [ "$bootdev" = "$iface" ] || [ "$NEEDNET" = "1" ]; then
|
||
|
- echo "[ -f /tmp/setup_net_${iface}.ok ]" >$hookdir/initqueue/finished/wait-$iface.sh
|
||
|
+ echo "[ -f /tmp/net.${iface}.did-setup ]" >$hookdir/initqueue/finished/wait-$iface.sh
|
||
|
fi
|
||
|
done
|
||
|
# Default: We don't know the interface to use, handle all
|
||
|
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
|
||
|
index a5867118..7430e4ce 100755
|
||
|
--- a/modules.d/40network/net-lib.sh
|
||
|
+++ b/modules.d/40network/net-lib.sh
|
||
|
@@ -82,12 +82,16 @@ ifdown() {
|
||
|
ip addr flush dev $netif
|
||
|
echo "#empty" > /etc/resolv.conf
|
||
|
rm -f -- /tmp/net.$netif.did-setup
|
||
|
+ [ -e /sys/class/net/$netif/address ] && \
|
||
|
+ rm -f -- /tmp/net.$(cat /sys/class/net/$netif/address).did-setup
|
||
|
# TODO: send "offline" uevent?
|
||
|
}
|
||
|
|
||
|
setup_net() {
|
||
|
local netif="$1" f="" gw_ip="" netroot_ip="" iface="" IFACES=""
|
||
|
[ -e /tmp/net.$netif.did-setup ] && return
|
||
|
+ [ -e /sys/class/net/$netif/address ] && \
|
||
|
+ [ -e /tmp/net.$(cat /sys/class/net/$netif/address).did-setup ] && return
|
||
|
[ -e "/tmp/net.ifaces" ] && read IFACES < /tmp/net.ifaces
|
||
|
[ -z "$IFACES" ] && IFACES="$netif"
|
||
|
# run the scripts written by ifup
|
||
|
@@ -129,6 +133,8 @@ setup_net() {
|
||
|
unset layer2
|
||
|
|
||
|
> /tmp/net.$netif.did-setup
|
||
|
+ [ -e /sys/class/net/$netif/address ] && \
|
||
|
+ > /tmp/net.$(cat /sys/class/net/$netif/address).did-setup
|
||
|
}
|
||
|
|
||
|
save_netinfo() {
|
||
|
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
|
||
|
index d9e9f3af..e2fa4850 100755
|
||
|
--- a/modules.d/45ifcfg/write-ifcfg.sh
|
||
|
+++ b/modules.d/45ifcfg/write-ifcfg.sh
|
||
|
@@ -85,6 +85,7 @@ for netup in /tmp/net.*.did-setup ; do
|
||
|
|
||
|
netif=${netup%%.did-setup}
|
||
|
netif=${netif##*/net.}
|
||
|
+ strstr "$netif" ":*:*:*:*:" && continue
|
||
|
[ -e /tmp/ifcfg/ifcfg-$netif ] && continue
|
||
|
unset bridge
|
||
|
unset bond
|
||
|
@@ -111,7 +112,8 @@ for netup in /tmp/net.*.did-setup ; do
|
||
|
if [ "$netif" = "$vlanname" ]; then
|
||
|
vlan=yes
|
||
|
fi
|
||
|
- cat /sys/class/net/$netif/address > /tmp/net.$netif.hwaddr
|
||
|
+ [ -e /sys/class/net/$netif/address ] && \
|
||
|
+ cat /sys/class/net/$netif/address > /tmp/net.$netif.hwaddr
|
||
|
{
|
||
|
echo "# Generated by dracut initrd"
|
||
|
echo "DEVICE=\"$netif\""
|