[PATCH net-pu] tftp: fix get

Baruch Siach baruch at tkos.co.il
Sun Jun 27 01:14:46 EDT 2010

Hi Sascha,

On Thu, Jun 24, 2010 at 05:59:07PM +0200, Sascha Hauer wrote:
> On Thu, Jun 24, 2010 at 04:26:16PM +0300, Baruch Siach wrote:
> > With this patch tftp start requesting block 0 instead of 1. This fixes
> > tftp get on i.MX25 based board with tftpd-hpa server.
> This is strange. In case of tftp get this variable is not used for
> sending packets. We do not request blocks with a certain number, we only
> request a file and ack incoming packets. If you look at 'case TFTP_DATA'
> in tftp_handler(), you'll see tftp_block getting overwritten by the
> block number of the incoming packet.

The code that sends the first acknowledgement (in my case, i.e. tftpd-hpa) is 
at 'case STATE_OACK', in response to the "Option Acknowledgement" of the 
'timeout=5' option. This code does not initialize tftp_block.

> The initialization of tftp_block is only used for tftp push. For tftp
> push RFC1350 says that the first packet we send has to have block number
> one (not zero). 

I'll send a patch fixing push along the same line (for me) shortly.

> > tftp push isn't working though. I get:
> > 
> > error frame: 0x83705178 0x00000882
> > 
> > from the fec driver. I'll investigate this if I have time.
> I also see this message sometimes, but usually this is not a problem.
> The transfer continues once the timeout handler triggers and the packet
> is resent.

I see. Thanks for the info.


                                                     ~. .~   Tk Open Systems
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

More information about the barebox mailing list