]> code.ossystems Code Review - openembedded-core.git/commitdiff
BusyBox: Fixing broadcast address is not fed and rightly initialized
authoryadi.hu@windriver.com <yadi.hu@windriver.com>
Fri, 24 Oct 2014 00:33:27 +0000 (08:33 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 4 Nov 2014 10:19:55 +0000 (10:19 +0000)
When using udhcpc along with ip command(/sbin/ip), broadcast address is not
assigned. Broadcast address is successfully assigned when using udhcpc without
ip command existence.

with ip command:
    $ifconfig eth0|grep Bcast
          inet addr:128.224.162.141  Bcast:0.0.0.0  Mask:255.255.254.0
    $
without ip command:
    $ifconfig eth0|grep Bcast
          inet addr:128.224.162.141  Bcast:128.224.163.255  Mask:255.255.254.0
    $

/etc/udhcp.d/50default[simple.script] is called to set ip address by dhcp
client, In case of ifconfig, it doesn't care of it's existence because it
will automatically calculate broadcast address then assign it if there is
no broadcast option. However in case of ip command, it requires broadcast
address statically.

Signed-off-by: Hu <yadi.hu@windriver.com>
Signed-off-by: Roy Li <rongqing.li@windriver.com>
meta/recipes-core/busybox/files/simple.script

index 78ac4242a885a5a1b2414d8d165967a381e7c85b..757e487b979405889167d2c6a81427ddfef39736 100644 (file)
@@ -5,7 +5,6 @@
 [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
 
 RESOLV_CONF="/etc/resolv.conf"
-[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
 [ -n "$subnet" ] && NETMASK="netmask $subnet"
 
 # return 0 if root is mounted on a network filesystem
@@ -17,8 +16,11 @@ root_is_nfs() {
 have_bin_ip=0
 if [ -x /sbin/ip ]; then
   have_bin_ip=1
+  BROADCAST="broadcast +"
 fi
 
+[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
+
 case "$1" in
        deconfig)
                if [ -x /sbin/resolvconf ]; then