[U-Boot-Users] PATCH for U-Boot 1.3.3 DHCP fails withnetgearWGR614v6

Wolfgang Denk wd at denx.de
Sat Jul 12 16:37:51 CEST 2008


In message <200807120112.18889.rgetz at blackfin.uclinux.org> you wrote:
>
> Hmm.. The list was copied every time 

But until now none of the messages made it to the list, it seems.

> It looks like my mails take longer to get to sourceforge than it takes to go 
> somewhere specific (like Ben), but his responses hit the list before 
> mine .... weird - I'll have to check my mail logs...

This message came through without significant delay.


> I have a DHCP server (made by netgear) that does:
> 
> U-Boot ---> DHCPDISCOVER  ---> Server
>                                  \/
> U-Boot <---   DHCPOFFER   <--- Server
>   \/
> U-Boot --->  DHCPREQUEST  ---> Server
>                                   |
> U-Boot <---      ARP      <--- Server
>    |
> U-Boot --->    I'm here   ---> Server
>                                   |
> U-Boot <---    DHCPNAK    <--- Server
>   \/
> U-Boot not configured
> 
> Before U-Boot receives a DHCPACK packet, it starts using the IP number in the 
> DHCPOFFER to respond to the ARP. It should not respond to the ARP, since it 
> has not received the DHCPACK packet yet. It also uses it when it sends the 
> DHCPREQUEST packet.
> 
> I looked a few other dhcp clients, and they always leave the source IP as 
> 0.0.0.0 for the DHCPREQUEST packet, and do not listen/send that IP until they 
> receive a DHCPACK.
> 
> This is what the patch I sent to Ben does - don't set the network up during 
> the DHCPREQUEST phase.
> 
> --- net/bootp.c.new	2008-07-11 12:05:18.000000000 -0400
> +++ ./net/bootp.c	2008-07-11 18:58:15.000000000 -0400
> @@ -924,8 +924,6 @@
>  			if (NetReadLong((ulong*)&bp->bp_vend[0]) == htonl(BOOTP_VENDOR_MAGIC))
>  				DhcpOptionsProcess((u8 *)&bp->bp_vend[4], bp);
>  
> -			BootpCopyNetParams(bp); /* Store net params from reply */
> -
>  			NetSetTimeout(TIMEOUT * CFG_HZ, BootpTimeout);
>  			DhcpSendRequestPkt(bp);
>  #ifdef CFG_BOOTFILE_PREFIX

Hm... the line in question is there right from the initial version of
the file, i. e. it is not a spefic fix to any known issue.

So:

Acked-by: Wolfgang Denk <wd at denx.de>


Ben: feel free to add this fix for the current release.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
One possible reason that things aren't going  according  to  plan  is
that there never was a plan in the first place.




More information about the U-Boot mailing list