[U-Boot] [PATCH] net: tftpsrv: Get correct client MAC address

Andrew Ruder andrew.ruder at elecsyscorp.com
Wed Oct 23 02:10:28 CEST 2013


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 at elecsyscorp.com>
---
 net/tftp.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/net/tftp.c b/net/tftp.c
index 6d333d5..002052a 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 */
 
-- 
1.8.4.rc3



More information about the U-Boot mailing list