net: tftpsrv: Get correct client MAC address
authorAndrew Ruder <andrew.ruder@elecsyscorp.com>
Wed, 23 Oct 2013 00:10:28 +0000 (19:10 -0500)
committerJoe Hershberger <joe.hershberger@ni.com>
Fri, 22 Nov 2013 23:03:18 +0000 (17:03 -0600)
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>
net/tftp.c

index 2e06808d16db42cf8c1fd42bce5109d10e39ec8d..966d1cfba360ce7e7505dd5f806ce13543b0654c 100644 (file)
@@ -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 */