Make bootp implementation RFC3046 compliant
Patch by Joakim Larsson, 27 Jun 2006
diff --git a/net/bootp.c b/net/bootp.c
index 669d74a..8f1382e 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -851,7 +851,12 @@
 	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);
 
 	/*