From fdd2a0f3182840df094878b08b7760cbdea8c08c Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 6 Aug 2003 09:23:44 +0000 Subject: Eric Spakman writes: The attached patch adds "mtu" and "hwaddress" to the inet6 method and "mtu", "hwaddr" and "pointopoint" to the inet4 method (just like in the ifupdown part). Note: "hwaddress" can't be used with the busybox ip applet (this function isn't implemented in bb ip yet), but it can be of use with an external "full blown" ip package. The patch also removes "label" from the loopback configuration, labels (subinterfaces) aren't used with loopback interfaces. It further solves a problem in the bootp method, "ifconfig down %interface%" should be "ifconfig %interface% down" and it's now also possible to use ip with bootp. The patch is fully tested with both busybox ip and "stand-alone" ip and I didn't saw any problems. --- networking/ifupdown.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/networking/ifupdown.c b/networking/ifupdown.c index bae9f4ea4..afeec363a 100644 --- a/networking/ifupdown.c +++ b/networking/ifupdown.c @@ -388,7 +388,7 @@ static int loopback_up6(struct interface_defn_t *ifd, execfn *exec) { #ifdef CONFIG_FEATURE_IFUPDOWN_IP int result; - result =execute("ip addr add ::1 dev %iface% label %label%", ifd, exec); + result =execute("ip addr add ::1 dev %iface%", ifd, exec); result += execute("ip link set %iface% up", ifd, exec); return( result); #else @@ -409,8 +409,8 @@ static int static_up6(struct interface_defn_t *ifd, execfn *exec) { int result; #ifdef CONFIG_FEATURE_IFUPDOWN_IP - result = execute("ip addr add %address%/%netmask% dev %iface% label %label%", ifd, exec); - result += execute("ip link set %iface% up", ifd, exec); + result = execute("ip addr add %address%/%netmask% dev %iface% [[label %label%]]", ifd, exec); + result += execute("ip link set [[mtu %mtu%]] [[address %hwaddress%]] %iface% up", ifd, exec); result += execute("[[ ip route add ::/0 via %gateway% ]]", ifd, exec); #else result = execute("ifconfig %iface% [[media %media%]] [[hw %hwaddress%]] [[mtu %mtu%]] up", ifd, exec); @@ -467,7 +467,7 @@ static int loopback_up(struct interface_defn_t *ifd, execfn *exec) { #ifdef CONFIG_FEATURE_IFUPDOWN_IP int result; - result = execute("ip addr add 127.0.0.1/8 dev %iface% label %label%", ifd, exec); + result = execute("ip addr add 127.0.0.1/8 dev %iface%", ifd, exec); result += execute("ip link set %iface% up", ifd, exec); return(result); #else @@ -492,8 +492,8 @@ static int static_up(struct interface_defn_t *ifd, execfn *exec) int result; #ifdef CONFIG_FEATURE_IFUPDOWN_IP result = execute("ip addr add %address%/%bnmask% [[broadcast %broadcast%]] " - "dev %iface% label %label%", ifd, exec); - result += execute("ip link set %iface% up", ifd, exec); + "dev %iface% [[peer %pointopoint%]] [[label %label%]]", ifd, exec); + result += execute("ip link set [[mtu %mtu%]] [[address %hwaddress%]] %iface% up", ifd, exec); result += execute("[[ ip route add default via %gateway% dev %iface% ]]", ifd, exec); #else result = execute("ifconfig %iface% %address% netmask %netmask% " @@ -569,7 +569,11 @@ static int bootp_up(struct interface_defn_t *ifd, execfn *exec) static int bootp_down(struct interface_defn_t *ifd, execfn *exec) { - return( execute("ifconfig down %iface%", ifd, exec)); +#ifdef CONFIG_FEATURE_IFUPDOWN_IP + return(execute("ip link set %iface% down", ifd, exec)); +#else + return(execute("ifconfig %iface% down", ifd, exec)); +#endif } static int ppp_up(struct interface_defn_t *ifd, execfn *exec) -- cgit v1.2.3