[ipxe-devel] HTTP Transfer does not timeout when transfer interrupted..

Kevin Landreth crackerjackmack at gmail.com
Mon Oct 13 22:04:04 BST 2014


On Mon, Oct 13, 2014 at 7:51 AM, Christian Hesse <list at eworm.de> wrote:

> Michael Brown <mcb30 at ipxe.org> on Mon, 2014/10/13 13:30:
> > On 06/10/14 05:12, Post, Donald L UTAS wrote:
> > > In the following case it seems that an HTTP transfer does not time out
> > > and basically hangs forever (well a really long time).
> > >
> > > ·iPXE client is set up to perform for an HTTP of a Linux system.
> > >
> > > ·The root file system is fairly large and thus takes a bit to down load
> > > (say 15 seconds).
> > >
> > > ·If there is a loss of link during the transfer, the transfer does not
> > > timeout but seems to hang
> > >
> > > ·Even if the cable is reconnected (after a period of time long enough
> > > for the TCP connection to have timed out) the transfer does not
> continue.
> > >
> > > My questions are:
> > >
> > > 1.Is this the expected behavior?
> > >
> > > 2.If not, is there a setting I need to set to enable the timeout and
> > > restart of the connection?
> >
> > The underlying problem is that the TCP connection is stable in this
> > situation.  The client has nothing to send, so will not be retrying
> > anything and will patiently wait forever until the server sends more
> data.
> >
> > There is an overall --timeout option to all of the image-fetching
> > commands ("imgfetch", "chain", etc) which allows you to specify a
> > timeout for the complete download operation (including DNS lookup, etc).
> >   The timeout is an inactivity timeout: if the download fails to make
> > forward progress (as defined by a call to job_progress()) within the
> > specified time then the download job will be aborted.
> >
> > For backwards compatiblity, if no timeout is specified then iPXE will
> > wait indefinitely.  We could potentially change this: what do people
> think?
>
> I would vote for a default timeout.
>
> Additionally... Is it possible to set a value that effects following fetch
> commands? So instead of
>
> imgfetch --timeout 5000 http://...
>
> use something like
>
> set timeout 5000
> imgfetch http://...
> --
> main(a){char*c=/*    Schoene Gruesse                         */"B?IJj;MEH"
> "CX:;",b;for(a/*    Chris           get my mail address:    */=0;b=c[a++];)
> putchar(b-1/(/*               gcc -o sig sig.c && ./sig
> */b/42*2-3)*42);}
>
> _______________________________________________
> ipxe-devel mailing list
> ipxe-devel at lists.ipxe.org
> https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel
>
>
I too concur that there should be default timeout.  I would assume
something reasonable (10 seconds?) would tell us that the connection/server
is too unstable to actually boot from.  I personally would rather get an
early failure than a 4 hour boot iPXE imgfetch.

- Kevin Landreth
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20141013/cd39f6fb/attachment-0001.html>


More information about the ipxe-devel mailing list