
-----Original Message----- From: u-boot-bounces@lists.denx.de [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Mike Frysinger Sent: Thursday, August 13, 2009 10:47 AM To: u-boot@lists.denx.de Cc: Ashish Karkare; Prabhanjan Sarnaik; Ben Warren Subject: Re: [U-Boot] [PATCH] net: kirkwood: updates: used eth_setenv_enetaddr api
On Friday 07 August 2009 17:37:51 Ben Warren wrote:
Jean-Christophe PLAGNIOL-VILLARD wrote:
On 22:17 Fri 07 Aug , Prafulla Wadaskar wrote:
eth_setenv_enetaddr is avaible by upper layer using this
saves 204
bytes on total image size
Signed-off-by: Prafulla Wadaskar prafulla@marvell.com
drivers/net/kirkwood_egiga.c | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/net/kirkwood_egiga.c b/drivers/net/kirkwood_egiga.c index 3d908f8..1a208f2 100644 --- a/drivers/net/kirkwood_egiga.c +++ b/drivers/net/kirkwood_egiga.c @@ -606,7 +606,7 @@ int kirkwood_egiga_initialize(bd_t * bis) struct kwgbe_device *dkwgbe; struct eth_device *dev; int devnum;
- char *s, buf[NAMESIZE * 2];
- char *s; u8 used_ports[MAX_KWGBE_DEVS] =
CONFIG_KIRKWOOD_EGIGA_PORTS;
for (devnum = 0; devnum < MAX_KWGBE_DEVS;
devnum++) { @@ -665,10
+665,13 @@ int kirkwood_egiga_initialize(bd_t * bis)
while (!eth_getenv_enetaddr(s, dev->enetaddr)) { /* Generate Ramdom MAC
addresses if not set */
sprintf(buf, "00:50:43:%02x:%02x:%02x",
get_random_hex(),
get_random_hex(),
get_random_hex());
setenv(s, buf);
dev->enetaddr[0] = 0x00;
dev->enetaddr[1] = 0x50;
dev->enetaddr[2] = 0x43;
dev->enetaddr[3] = get_random_hex();
dev->enetaddr[4] = get_random_hex();
dev->enetaddr[5] = get_random_hex();
eth_setenv_enetaddr(s, dev->enetaddr);
it will be also good to use a private mac address dev->enetaddr[0] = 0x02;
Full ACK. If you're generating something random, it MUST have the private bit. Unless Marvell owns this block and is giving
it away and
is keeping track of all used numbers and ...
really we should add a new common eth function that generates a random local mac address ... and have each arch implement a random function. you can see the one i use for Blackfin systems in asm-blackfin/net.h ...
Good Idea, I hope each arch will have support to generate random values :-)
Regards.. Prafulla . .
-mike