dracut/0137-network-ifup-do-DHCP-f...

41 lines
1.2 KiB
Diff

From 6cfdb5aa1f7aba5715f6d670e3b8b4c93d0d64a0 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 1 Sep 2015 19:05:37 +0200
Subject: [PATCH] network/ifup: do DHCP for BOOTDEV
(cherry picked from commit 7316d68353cfd6e08f007d10ea3e32fa4d083487)
---
modules.d/40network/ifup.sh | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index 9246da7..366744f 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -407,11 +407,20 @@ fi
# no ip option directed at our interface?
if [ ! -e /tmp/net.${netif}.up ]; then
- if getargs 'ip=dhcp6'; then
- load_ipv6
- do_dhcp -6
- elif getargs 'ip=dhcp'; then
- do_dhcp -4
+ if [ -e /tmp/net.bootdev ]; then
+ BOOTDEV=$(cat /tmp/net.bootdev)
+ if [ "$netif" = "$BOOTDEV" ] || [ "$BOOTDEV" = "$(cat /sys/class/net/${netif}/address)" ]; then
+ load_ipv6
+ do_dhcp
+ fi
+ else
+ if getargs 'ip=dhcp6'; then
+ load_ipv6
+ do_dhcp -6
+ fi
+ if getargs 'ip=dhcp'; then
+ do_dhcp -4
+ fi
fi
fi