diff options
author | Andrew Ruder | 2013-10-22 19:10:28 -0500 |
---|---|---|
committer | Joe Hershberger | 2013-11-22 17:03:18 -0600 |
commit | 8e52533d109571915a0006533e2e1adb01face00 (patch) | |
tree | f4f0827cb283ce69d711c9edfe61abb417a1bfee /net/tftp.c | |
parent | e003ba5bfc57ff7d065967e263fa24e3ef28ea0a (diff) |
net: tftpsrv: Get correct client MAC address
NetServerEther was not being cleared in the tftp server code, so the
destination MAC address would be whatever the last destination MAC
address was.
Scenario:
U-Boot:
dhcp
tftpsrv
Host:
Send device WRQ
Device:
Responds with ACK to dhcp server mac address with
host ip address
By clearing NetServerEther, we force a lookup of the host MAC address
to go with the associated host IP.
Signed-off-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
Diffstat (limited to 'net/tftp.c')
-rw-r--r-- | net/tftp.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/tftp.c b/net/tftp.c index 2e06808d16d..966d1cfba36 100644 --- a/net/tftp.c +++ b/net/tftp.c @@ -849,6 +849,9 @@ TftpStartServer(void) TftpState = STATE_RECV_WRQ; net_set_udp_handler(TftpHandler); + + /* zero out server ether in case the server ip has changed */ + memset(NetServerEther, 0, 6); } #endif /* CONFIG_CMD_TFTPSRV */ |