[U-Boot] [PATCH] - save the server's mac address...

Ben Warren biggerbadderben at gmail.com
Thu Jul 23 08:05:09 CEST 2009


Robin,

Please keep in mind that the exact subject text becomes the changelog title:

" - save the server's mac address..."

looks pretty dumb.  I took the liberty of cleaning it up.
Robin Getz wrote:
> On Tue 21 Jul 2009 02:37, Ben Warren pondered:
>   
>> Can you please re-submit using git tools?
>>     
>
> From: Robin Getz <rgetz at blackfin.uclinux.org>
>
> Linux's netconsole works much better when you can pass it the MAC address of
> the server. (otherwise it just uses broadcast, which everyone else on my
> network complains about :)
>  
> This sets the env var "serveraddr" (to match ethaddr), so that you can pass
> it to linux with whatever bootargs you want to....
>  
> addnetconsole=set bootargs $(bootargs) netconsole=@$(ipaddr)/eth0,@$(serverip)/$(serveraddr)
>
> Signed-of-by: Robin Getz <rgetz at blackfin.uclinux.org>
>
> -----
>
>   
Please create the patch using git tools, 'git format-patch' in 
particular.  It takes care of generating nice lines with three hyphens.  
This one that you've created messes things up.

> diff --git a/README b/README
> index 4c74cb7..9071472 100644
> --- a/README
> +++ b/README
> @@ -1184,6 +1184,11 @@ The following options need to be configured:
>  		Defines a default value for the IP address of a TFTP
>  		server to contact when using the "tftboot" command.
>  
> +		CONFIG_KEEP_SERVERADDR
> +
> +		Keeps the server's MAC address, in the env 'serveraddr'
> +		for passing to bootargs (like Linux's netconsole option)
> +
>  - Multicast TFTP Mode:
>  		CONFIG_MCAST_TFTP
>  
> diff --git a/net/net.c b/net/net.c
> index 7ce947d..641c37c 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -1287,6 +1287,15 @@ NetReceive(volatile uchar * inpkt, int len)
>  			/* are we waiting for a reply */
>  			if (!NetArpWaitPacketIP || !NetArpWaitPacketMAC)
>  				break;
> +
> +#ifdef CONFIG_KEEP_SERVERADDR
> +			if (NetServerIP == NetArpWaitPacketIP) {
> +				char buf[20];
> +				sprintf(buf, "%pM", arp->ar_data);
> +				setenv("serveraddr", buf);
> +			}
> +#endif
> +
>  #ifdef ET_DEBUG
>  			printf("Got ARP REPLY, set server/gtwy eth addr (%pM)\n",
>  				arp->ar_data);
>   
 Anti-climatically...

applied to net repo.

thanks,
Ben


More information about the U-Boot mailing list