diff options
Diffstat (limited to 'net/tftp.c')
| -rw-r--r-- | net/tftp.c | 19 | 
1 files changed, 4 insertions, 15 deletions
| diff --git a/net/tftp.c b/net/tftp.c index 0ad244fd9..5598be32f 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 ();  } |