diff options
Diffstat (limited to 'net/tftp.c')
-rw-r--r-- | net/tftp.c | 19 |
1 files changed, 4 insertions, 15 deletions
@@ -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 (); } |