Make bootp implementation RFC3046 compliant
authorWolfgang Denk <wd@atlas.denx.de>
Sun, 8 Oct 2006 23:26:14 +0000 (01:26 +0200)
committerWolfgang Denk <wd@atlas.denx.de>
Sun, 8 Oct 2006 23:26:14 +0000 (01:26 +0200)
Patch by Joakim Larsson, 27 Jun 2006

CHANGELOG
net/bootp.c

index cc966ea975e05c667eb32ff969fa3da81db859f6..b6ba66d09cec2b55e84d055d3a982b7e860d298b 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,9 @@
 Changes since U-Boot 1.1.4:
 ======================================================================
 
+* Make bootp implementation RFC3046 compliant
+  Patch by Joakim Larsson, 27 Jun 2006
+
 * TQM5200: perform POST memory test only on STK52xx carrier board.
   (and then only if PSC6_3 is read as "1" when booting).
   Patch by Martin Krause, 21 Jun 2006
index 669d74a6a50ae0f9f1a8ecba05101bb8ada04624..8f1382e9457b70348080a1b669cc64ba32eda391 100644 (file)
@@ -851,7 +851,12 @@ static void DhcpSendRequestPkt(Bootp_t *bp_offer)
        NetCopyIP(&bp->bp_ciaddr, &bp_offer->bp_ciaddr); /* both in network byte order */
        NetCopyIP(&bp->bp_yiaddr, &bp_offer->bp_yiaddr);
        NetCopyIP(&bp->bp_siaddr, &bp_offer->bp_siaddr);
-       NetCopyIP(&bp->bp_giaddr, &bp_offer->bp_giaddr);
+       /* 
+        * RFC3046 requires Relay Agents to discard packets with
+        * nonzero and offered giaddr
+        */
+       NetWriteIP(&bp->bp_giaddr, 0);
+
        memcpy (bp->bp_chaddr, NetOurEther, 6);
 
        /*