aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ruder2013-10-22 19:10:28 -0500
committerJoe Hershberger2013-11-22 17:03:18 -0600
commit8e52533d109571915a0006533e2e1adb01face00 (patch)
treef4f0827cb283ce69d711c9edfe61abb417a1bfee
parente003ba5bfc57ff7d065967e263fa24e3ef28ea0a (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>
-rw-r--r--net/tftp.c3
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 */