]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - net/bootp.c
merged tx6dl-devel into denx master branch
[karo-tx-uboot.git] / net / bootp.c
index 4300f1c2f19a7e09b947d0bc5df9079bd9ac4db6..386e89b9d878dd6045c0501de1d8985533d88e45 100644 (file)
@@ -17,7 +17,7 @@
 #ifdef CONFIG_STATUS_LED
 #include <status_led.h>
 #endif
-#ifdef CONFIG_BOOTP_RANDOM_DELAY
+#if defined(CONFIG_BOOTP_RANDOM_DELAY) || defined(CONFIG_BOOTP_RANDOM_ID)
 #include "net_rand.h"
 #endif
 
@@ -37,7 +37,7 @@
 #define CONFIG_DHCP_MIN_EXT_LEN 64
 #endif
 
-ulong          BootpID;
+static ulong           BootpID;
 int            BootpTry;
 
 #if defined(CONFIG_CMD_DHCP)
@@ -671,12 +671,16 @@ BootpRequest(void)
         *      Bootp ID is the lower 4 bytes of our ethernet address
         *      plus the current time in ms.
         */
+#ifdef CONFIG_BOOTP_RANDOM_ID
+       BootpID = rand();
+#else
        BootpID = ((ulong)NetOurEther[2] << 24)
                | ((ulong)NetOurEther[3] << 16)
                | ((ulong)NetOurEther[4] << 8)
                | (ulong)NetOurEther[5];
        BootpID += get_timer(0);
        BootpID  = htonl(BootpID);
+#endif
        NetCopyLong(&bp->bp_id, &BootpID);
 
        /*