summaryrefslogtreecommitdiff
path: root/net/tftp.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tftp.c')
-rw-r--r--net/tftp.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/net/tftp.c b/net/tftp.c
index 0ad244f..5598be3 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -142,10 +142,7 @@ TftpSend (void)
break;
}
- NetSetEther (NetTxPacket, NetServerEther, PROT_IP);
- NetSetIP (NetTxPacket + ETHER_HDR_SIZE, NetServerIP,
- TftpServerPort, TftpOurPort, len);
- NetSendPacket (NetTxPacket, ETHER_HDR_SIZE + IP_HDR_SIZE + len);
+ NetSendUDPPacket(NetServerEther, NetServerIP, TftpServerPort, TftpOurPort, len);
}
@@ -257,17 +254,6 @@ TftpTimeout (void)
void
TftpStart (void)
{
-#ifdef ET_DEBUG
- printf ("\nServer ethernet address %02x:%02x:%02x:%02x:%02x:%02x\n",
- NetServerEther[0],
- NetServerEther[1],
- NetServerEther[2],
- NetServerEther[3],
- NetServerEther[4],
- NetServerEther[5]
- );
-#endif /* DEBUG */
-
if (BootFile[0] == '\0') {
IPaddr_t OurIP = ntohl(NetOurIP);
@@ -320,6 +306,9 @@ TftpStart (void)
TftpState = STATE_RRQ;
TftpOurPort = 1024 + (get_timer(0) % 3072);
+ /* zero out server ether in case the server ip has changed */
+ memset(NetServerEther, 0, 6);
+
TftpSend ();
}