[U-Boot] [PATCH 2/9] mvgbe: Support preserving the existing MAC address

Michael Spang mspang at csclub.uwaterloo.ca
Tue Apr 26 06:20:41 CEST 2011


On Sun, Apr 24, 2011 at 7:50 PM, Wolfgang Denk <wd at denx.de> wrote:
> Dear Michael Spang,
>
> In message <1300391223-11879-3-git-send-email-mspang at csclub.uwaterloo.ca> you wrote:
>> The MVGBE driver either gets the MAC from the environment, or invents
>> one. This allows the driver to leave the existing address alone in
>> case it is initialized before U-Boot starts.
>
> Who or what would be doing that?

The manufacturer's bootloader runs first, and cannot easily be
replaced. So U-Boot is loaded second, after the MAC is already set.

>
>>               while (!eth_getenv_enetaddr(s, dev->enetaddr)) {
>> +#if defined(CONFIG_PRESERVE_LOCAL_MAC)
>> +                     port_uc_addr_get(dmvgbe->regs, dmvgbe->dev.enetaddr);
>> +#else
>
> For consistency, should this not be
>
>        port_uc_addr_get(dmvgbe->regs, dev->enetaddr);
>
> ?

Yes.

>
>
>>                       /* Generate Private MAC addr if not set */
>>                       dev->enetaddr[0] = 0x02;
>>                       dev->enetaddr[1] = 0x50;
>> @@ -734,6 +753,7 @@ error1:
>>                       dev->enetaddr[4] = get_random_hex();
>>                       dev->enetaddr[5] = get_random_hex();
>>  #endif
>> +#endif
>>                       eth_setenv_enetaddr(s, dev->enetaddr);
>>               }
>
> And please add documentation for the new CONFIG_PRESERVE_LOCAL_MAC to
> the README.

Ok I'll add:

               CONFIG_PRESERVE_LOCAL_MAC

               If no MAC address is set in the environment, then
               preserve the ethernet interface's current MAC address.
               Used if the MAC is configured before U-Boot is loaded.

Thanks,
Michael


More information about the U-Boot mailing list