
Dear Enzo,
in message 000e01c47541$604e1330$4a50848a@settimo.italtel.it you wrote:
I'm using u-boot 1.1.0 and I need to boot Linux using DHCP; in my board there is more than one eth line available.
OK. Ummm... which type of board is this?
Until now I have been using TFTP with CONFIG_NET_MULTI defined and all was good, but looking the dhcp code for this step I see that dhcp doesn't support more than one eth line (get mac address only from the first).
You write "looking the dhcp code" -- did you actually try it out?
The assignment of the current MAC address when switching to a new network interface happens in "net.c":
... 289 restart: 290 #ifdef CONFIG_NET_MULTI 291 memcpy (NetOurEther, eth_get_dev()->enetaddr, 6); 292 #else 293 memcpy (NetOurEther, bd->bi_enetaddr, 6); 294 #endif ...
The BOOTP/DHCP code just uses the value stored in the "NetOurEther" variable. To me this looks OK.
Is there any reason for this or is a bug ?
I'm not sure I understand what you mean. Are you perhaps confusing this with the random delay code (CONFIG_BOOTP_RANDOM_DELAY) where the computation of the initial random delay is based on the "ethaddr" value? This is definitely not a problem...
Best regards,
Wolfgang Denk