* [U-Boot] [PATCH] net: kirkwood: updates: used eth_setenv_enetaddr api
@ 2009-08-07 16:47 Prafulla Wadaskar
2009-08-07 21:07 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 5+ messages in thread
From: Prafulla Wadaskar @ 2009-08-07 16:47 UTC (permalink / raw)
To: u-boot
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);
}
dev->init = (void *)kwgbe_init;
--
1.5.3.3
^ permalink raw reply related [flat|nested] 5+ messages in thread* [U-Boot] [PATCH] net: kirkwood: updates: used eth_setenv_enetaddr api
2009-08-07 16:47 [U-Boot] [PATCH] net: kirkwood: updates: used eth_setenv_enetaddr api Prafulla Wadaskar
@ 2009-08-07 21:07 ` Jean-Christophe PLAGNIOL-VILLARD
2009-08-07 21:37 ` Ben Warren
0 siblings, 1 reply; 5+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-08-07 21:07 UTC (permalink / raw)
To: u-boot
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;
Best Regards,
J.
^ permalink raw reply [flat|nested] 5+ messages in thread* [U-Boot] [PATCH] net: kirkwood: updates: used eth_setenv_enetaddr api
2009-08-07 21:07 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-08-07 21:37 ` Ben Warren
2009-08-13 5:17 ` Mike Frysinger
0 siblings, 1 reply; 5+ messages in thread
From: Ben Warren @ 2009-08-07 21:37 UTC (permalink / raw)
To: u-boot
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 ...
regards,
Ben
^ permalink raw reply [flat|nested] 5+ messages in thread* [U-Boot] [PATCH] net: kirkwood: updates: used eth_setenv_enetaddr api
2009-08-07 21:37 ` Ben Warren
@ 2009-08-13 5:17 ` Mike Frysinger
2009-08-15 8:35 ` Prafulla Wadaskar
0 siblings, 1 reply; 5+ messages in thread
From: Mike Frysinger @ 2009-08-13 5:17 UTC (permalink / raw)
To: u-boot
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 ...
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20090813/f95b5a9e/attachment.pgp
^ permalink raw reply [flat|nested] 5+ messages in thread* [U-Boot] [PATCH] net: kirkwood: updates: used eth_setenv_enetaddr api
2009-08-13 5:17 ` Mike Frysinger
@ 2009-08-15 8:35 ` Prafulla Wadaskar
0 siblings, 0 replies; 5+ messages in thread
From: Prafulla Wadaskar @ 2009-08-15 8:35 UTC (permalink / raw)
To: u-boot
> -----Original Message-----
> From: u-boot-bounces at lists.denx.de
> [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Mike Frysinger
> Sent: Thursday, August 13, 2009 10:47 AM
> To: u-boot at 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
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-08-15 8:35 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-07 16:47 [U-Boot] [PATCH] net: kirkwood: updates: used eth_setenv_enetaddr api Prafulla Wadaskar
2009-08-07 21:07 ` Jean-Christophe PLAGNIOL-VILLARD
2009-08-07 21:37 ` Ben Warren
2009-08-13 5:17 ` Mike Frysinger
2009-08-15 8:35 ` Prafulla Wadaskar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox