@ -211,7 +211,7 @@ TftpSend (void)
pkt + = 5 /*strlen("octet")*/ + 1 ;
pkt + = 5 /*strlen("octet")*/ + 1 ;
strcpy ( ( char * ) pkt , " timeout " ) ;
strcpy ( ( char * ) pkt , " timeout " ) ;
pkt + = 7 /*strlen("timeout")*/ + 1 ;
pkt + = 7 /*strlen("timeout")*/ + 1 ;
sprintf ( ( char * ) pkt , " %lu " , TIMEOUT / 1000 ) ;
sprintf ( ( char * ) pkt , " %lu " , TftpTimeoutMSecs / 1000 ) ;
debug ( " send option \" timeout %s \" \n " , ( char * ) pkt ) ;
debug ( " send option \" timeout %s \" \n " , ( char * ) pkt ) ;
pkt + = strlen ( ( char * ) pkt ) + 1 ;
pkt + = strlen ( ( char * ) pkt ) + 1 ;
# ifdef CONFIG_TFTP_TSIZE
# ifdef CONFIG_TFTP_TSIZE
@ -413,7 +413,6 @@ TftpHandler (uchar * pkt, unsigned dest, unsigned src, unsigned len)
}
}
TftpLastBlock = TftpBlock ;
TftpLastBlock = TftpBlock ;
TftpTimeoutMSecs = TIMEOUT ;
TftpTimeoutCountMax = TIMEOUT_COUNT ;
TftpTimeoutCountMax = TIMEOUT_COUNT ;
NetSetTimeout ( TftpTimeoutMSecs , TftpTimeout ) ;
NetSetTimeout ( TftpTimeoutMSecs , TftpTimeout ) ;
@ -528,10 +527,25 @@ TftpStart (void)
{
{
char * ep ; /* Environment pointer */
char * ep ; /* Environment pointer */
/* Allow the user to choose tftpblocksize */
/*
* Allow the user to choose TFTP blocksize and timeout .
* TFTP protocol has a minimal timeout of 1 second .
*/
if ( ( ep = getenv ( " tftpblocksize " ) ) ! = NULL )
if ( ( ep = getenv ( " tftpblocksize " ) ) ! = NULL )
TftpBlkSizeOption = simple_strtol ( ep , NULL , 10 ) ;
TftpBlkSizeOption = simple_strtol ( ep , NULL , 10 ) ;
debug ( " tftp block size is %i \n " , TftpBlkSizeOption ) ;
if ( ( ep = getenv ( " tftptimeout " ) ) ! = NULL )
TftpTimeoutMSecs = simple_strtol ( ep , NULL , 10 ) ;
if ( TftpTimeoutMSecs < 1000 ) {
printf ( " TFTP timeout (%ld ms) too low, "
" set minimum = 1000 ms \n " ,
TftpTimeoutMSecs ) ;
TftpTimeoutMSecs = 1000 ;
}
debug ( " TFTP blocksize = %i, timeout = %ld ms \n " ,
TftpBlkSizeOption , TftpTimeoutMSecs ) ;
TftpServerIP = NetServerIP ;
TftpServerIP = NetServerIP ;
if ( BootFile [ 0 ] = = ' \0 ' ) {
if ( BootFile [ 0 ] = = ' \0 ' ) {
@ -588,7 +602,6 @@ TftpStart (void)
puts ( " Loading: * \b " ) ;
puts ( " Loading: * \b " ) ;
TftpTimeoutMSecs = TftpRRQTimeoutMSecs ;
TftpTimeoutCountMax = TftpRRQTimeoutCountMax ;
TftpTimeoutCountMax = TftpRRQTimeoutCountMax ;
NetSetTimeout ( TftpTimeoutMSecs , TftpTimeout ) ;
NetSetTimeout ( TftpTimeoutMSecs , TftpTimeout ) ;