From a741b778fec47cec95029590e2816c639b85ec5c Mon Sep 17 00:00:00 2001
From: Denis Vlasenko <vda.linux@googlemail.com>
Date: Thu, 23 Nov 2006 15:08:37 +0000
Subject: ifupdown: ifconfig said to set iface up before it processes hw
 %hwaddress%, which then of course fails. Thus we run two separate ifconfig

---
 networking/ifupdown.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/networking/ifupdown.c b/networking/ifupdown.c
index d4e49c4c1..5d140f1da 100644
--- a/networking/ifupdown.c
+++ b/networking/ifupdown.c
@@ -417,12 +417,15 @@ static int static_up(struct interface_defn_t *ifd, execfn *exec)
 	result += execute("[[ ip route add default via %gateway% dev %iface% ]]", ifd, exec);
 	return ((result == 3) ? 3 : 0);
 #else
-	result = execute("ifconfig %iface% %address% netmask %netmask% "
-			"[[broadcast %broadcast%]] [[pointopoint %pointopoint%]] "
-			"[[media %media%]] [[mtu %mtu%]] [[hw %hwaddress%]] up",
-			ifd, exec);
-	result += execute("[[ route add default gw %gateway% %iface% ]]", ifd, exec);
-	return ((result == 2) ? 2 : 0);
+	/* ifconfig said to set iface up before it processes hw %hwaddress%,
+	 * which then of course fails. Thus we run two separate ifconfig */
+	result = execute("ifconfig %iface% [[hw %hwaddress%]] [[media %media%]] [[mtu %mtu%]] up",
+				ifd, exec);
+	result += execute("ifconfig %iface% %address% netmask %netmask% "
+				"[[broadcast %broadcast%]] [[pointopoint %pointopoint%]] ",
+				ifd, exec);
+ 	result += execute("[[ route add default gw %gateway% %iface% ]]", ifd, exec);
+	return ((result == 3) ? 3 : 0);
 #endif
 }
 
-- 
cgit v1.2.3-55-g6feb