ifupdown:
authorDenis Vlasenko <vda.linux@googlemail.com>
Thu, 23 Nov 2006 15:08:37 +0000 (15:08 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Thu, 23 Nov 2006 15:08:37 +0000 (15:08 -0000)
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

index d4e49c4c176274b0c3a400e4fde4001adad408c7..5d140f1dae1848fa81b1e0e996fb326f917f18bc 100644 (file)
@@ -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
 }