This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problems when aborting tftp transfers


On Mon, 2004-08-02 at 16:02, Andrew Lunn wrote:
> On Mon, Aug 02, 2004 at 03:45:01PM +0200, ?yvind Harboe wrote:
> > On Mon, 2004-08-02 at 15:01, Andrew Lunn wrote:
> > > On Wed, Jul 21, 2004 at 12:47:53PM +0200, ?yvind Harboe wrote:
> > > > I'm seing problems when aborting tftp transfers:
> > > > 
> > > > - With CYGSEM_NET_TFTPD_MULTITHREADED == 0, a subsequent tftp transfer
> > > > after an aborted tftp transfer can get "stuck" since the main tftp
> > > > server loop is receiving stale packets and hence e.g. _write_file() is
> > > > invoked for the terminated tftp transfer session(there can be as many as
> > > > a dozen outstanding stale packets, hence tftp can take a *really* long
> > > > time to return to normal operation). Q: Is
> > > > CYGSEM_NET_TFTPD_MULTITHREADED == 0 working as intended for aborted tftp
> > > > transfers?
> > > > 
> > > > - I'm not sure this is a problem or just the way tftp works. When I set
> > > > CYGSEM_NET_TFTPD_MULTITHREADED==1, tftp works even if I abort transfers,
> > > > but the current tftp transfer session on the eCos end does not return to
> > > > the main tftp server loop until the current transfer session has
> > > > exhausted its retries. 
> > > 
> > > I don't follow what you are taking about here. Could you give some
> > > more details, describe how you produce the problems, what goes wrong
> > > and how you would expect it to act.
> > 
> > here is what I did:
> > 
> > - with CYGSEM_NET_TFTPD_MULTITHREADED=0.
> > - started a tftp transfer from Windows machine
> > - aborted it on the Windows end
> 
> Does the M$ end send an error packet to terminate the transfer or
> simply stop sending data packets?

I don't know what ctrl-c does(I haven't got the equipment wired up so I
can't test right now), but surely terminating the process would cause an
error packet not to be transferred?


> > - at this point the tftp server goes back to the main loop and sees
> > multiple tftp transfer initiation requests from the aborted transfer
> > session. 
> 
> Initiation requests? You mean WRQ packets from the tftp client you
> have just killed? 

Yes.

I really don't speak PPP, TCP/IP, Windows and tftp well enough to pick
this apart without more study.

Perhaps this is something that was lingering in the PPP channel or
tcp/ip stack... 

> That would be strange.

Setting CYGSEM_NET_TFTPD_MULTITHREADED=1 fixes the problem because the
original port is closed + reopened.

>         
>         Andrew
-- 
Øyvind Harboe
http://www.zylin.com



--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]