This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Re: RedBoot "set MAC address" API?
Grant Edwards wrote:
On 2006-11-05, Grant Edwards <grante@visi.com> wrote:
On 2006-11-05, Grant Edwards <grante@visi.com> wrote:
On 2006-11-05, Grant Edwards <grante@visi.com> wrote:
How do I call the ethernet driver's control function to set the
MAC address?
This seems to work:
__local_enet_sc->funs->control(__local_enet_sc,ETH_DRV_SET_MAC_ADDRESS,mac_address,sizeof mac_address);
I was wrong, that doesn't work. It changes the MAC address in
the MAC, but the networks stack doesn't seem to know it's been
changed, so ARP replies have the wrong MAC address in them. :(
Also setting __local_enet_addr fixed that problem.
The RedBoot stack wasn't really designed with dynamic changes like this
in mind :-), hence the
obscurity.
How is the MAC address supposed to be set initially?
AFAICT, RedBoot expects the Ethernet MAC driver to know what
MAC to use without any "application" layer help. How is the
driver supposed to know what MAC address to use?
Most drivers use 'fconfig' data for this which allows for backup
[default] values, as we as user supplied
values stored in FLASH [or EEPROM].
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss