From: Denis Vlasenko Date: Thu, 23 Nov 2006 15:08:37 +0000 (-0000) Subject: ifupdown: X-Git-Tag: 1_4_0~344 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a741b778fec47cec95029590e2816c639b85ec5c;p=oweals%2Fbusybox.git ifupdown: ifconfig said to set iface up before it processes hw %hwaddress%, which then of course fails. Thus we run two separate ifconfig --- 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 }