diff options
author | Wolfgang Denk <wd@denx.de> | 2007-11-02 15:09:22 +0100 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2007-11-02 15:09:22 +0100 |
commit | e60adeac2d8fa30258e1706bb342a3363526e8d7 (patch) | |
tree | 4be3ed35fbd50b56ac0cebecac2899d6527edbf0 /net | |
parent | d78791ae914d4e7c5edca1cdad73b3dc81a4eb82 (diff) | |
parent | f0516920f6e048425b005c049378e80d600bd268 (diff) |
Merge branch 'master' of /home/wd/git/u-boot/work
Diffstat (limited to 'net')
-rw-r--r-- | net/bootp.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/net/bootp.c b/net/bootp.c index 749d3e5e0c..cfe6f8dd6b 100644 --- a/net/bootp.c +++ b/net/bootp.c @@ -850,9 +850,9 @@ static void DhcpSendRequestPkt(Bootp_t *bp_offer) bp->bp_hlen = HWL_ETHER; bp->bp_hops = 0; bp->bp_secs = htons(get_timer(0) / CFG_HZ); - 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); + /* Do not set the client IP, your IP, or server IP yet, since it hasn't been ACK'ed by + * the server yet */ + /* * RFC3046 requires Relay Agents to discard packets with * nonzero and offered giaddr @@ -870,7 +870,9 @@ static void DhcpSendRequestPkt(Bootp_t *bp_offer) /* * Copy options from OFFER packet if present */ - NetCopyIP(&OfferedIP, &bp->bp_yiaddr); + + /* Copy offered IP into the parameters request list */ + NetCopyIP(&OfferedIP, &bp_offer->bp_yiaddr); extlen = DhcpExtended((u8 *)bp->bp_vend, DHCP_REQUEST, NetDHCPServerIP, OfferedIP); pktlen = BOOTP_SIZE - sizeof(bp->bp_vend) + extlen; @@ -980,3 +982,4 @@ void DhcpRequest(void) #endif #endif + |