]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - net/eth.c
Minor Coding Style cleanup
[karo-tx-uboot.git] / net / eth.c
index d9a643073d8a0eecd305f07e3605d97a39e71c4b..d526264fa659309c1a568b4c9d8c555974452983 100644 (file)
--- a/net/eth.c
+++ b/net/eth.c
@@ -70,6 +70,28 @@ static int eth_mac_skip(int index)
        return ((skip_state = getenv(enetvar)) != NULL);
 }
 
+#ifdef CONFIG_RANDOM_MACADDR
+void eth_random_enetaddr(uchar *enetaddr)
+{
+       uint32_t rval;
+
+       srand(get_timer(0));
+
+       rval = rand();
+       enetaddr[0] = rval & 0xff;
+       enetaddr[1] = (rval >> 8) & 0xff;
+       enetaddr[2] = (rval >> 16) & 0xff;
+
+       rval = rand();
+       enetaddr[3] = rval & 0xff;
+       enetaddr[4] = (rval >> 8) & 0xff;
+       enetaddr[5] = (rval >> 16) & 0xff;
+
+       /* make sure it's local and unicast */
+       enetaddr[0] = (enetaddr[0] | 0x02) & ~0x01;
+}
+#endif
+
 /*
  * CPU and board-specific Ethernet initializations.  Aliased function
  * signals caller to move on