This is the mail archive of the
mailing list for the eCos project.
Re: RedBoot patches regarding redboot_getc_terminate
- From: Andrew Lunn <andrew at lunn dot ch>
- To: "Doyle, Patrick" <Patrick_Doyle at dtccom dot com>
- Cc: 'Andrew Lunn' <andrew at lunn dot ch>, "'ecos-devel at sources dot redhat dot com'" <ecos-devel at sources dot redhat dot com>, 'Andrew Dyer' <adyer at righthandtech dot com>
- Date: Thu, 18 May 2006 15:54:48 +0200
- Subject: Re: RedBoot patches regarding redboot_getc_terminate
- References: <F7F756E5ED50F345959AE893AD2F15660A222D@dtcsrvr09.dtccom.com>
On Thu, May 18, 2006 at 09:39:12AM -0400, Doyle, Patrick wrote:
> > What happens to TFTP transfers with your change? Are they terminated
> > gracefully? Or do they hang around until the server times out and
> > kills them?
> > Andrew
> Unfortunately, I don't have any means to check that. Which is why I brought
> it up as a topic for discussion. Then I realized that it would be easier to
> discuss if somebody who _did_ have a means to check that checked that, which
> led to me posting the patch :-)
> IIRC, a TFTP server will keep spewing out packets until it has sent the
> whole file, and will retry and retransmit if the client stops responding.
> So, it guess it depends on what the TFTP transport stream (implemented in
> code somewhere in RedBoot) does when it gets a "terminate" call that isn't
> an abort...
> Hmmm... looking at the code, I see something that looks like:
> if (abort)
> which looks to me like TFTP folks would be getting some sort of similar
> error message for TFTP transfers.
Well, it would depend on the exact error returned to the TFTP server.
[Goes and looks at the code][Goes and looks at the RFC]
7. Premature Termination
If a request can not be granted, or some error occurs during the
transfer, then an ERROR packet (opcode 5) is sent. This is only a
courtesy since it will not be retransmitted or acknowledged, so it
may never be received. Timeouts must also be used to detect errors.
It looks like reporting an error is the only way to abort the rest of
the transfer. Depending on the TFTP server it might put a comment in
/var/log/syslog etc, but most users don't read that unless something
serious has gone wrong.
I suggest for [X-Z]modem you read the RFC or whatever and find out if
there is a graceful way of closing the connection, as opposed to a
none graceful way which it currently seems to be doing according to