From: Wolfgang Denk <wd@atlas.denx.de>
Date: Sun, 8 Oct 2006 23:26:14 +0000 (+0200)
Subject: Make bootp implementation RFC3046 compliant
X-Git-Tag: v2025.01-rc5-pxa1908~22945^2~3
X-Git-Url: http://git.dujemihanovic.xyz/posts?a=commitdiff_plain;h=d82718fed0085b713d223b878c2378aeccc9a3e2;p=u-boot.git

Make bootp implementation RFC3046 compliant
Patch by Joakim Larsson, 27 Jun 2006
---

diff --git a/CHANGELOG b/CHANGELOG
index cc966ea975..b6ba66d09c 100644
--- 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
diff --git a/net/bootp.c b/net/bootp.c
index 669d74a6a5..8f1382e945 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -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);
 
 	/*