diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/bootp.c | 7 |
1 files changed, 6 insertions, 1 deletions
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 @@ 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); /* |