
hpa at zytor
Jun 6, 2007, 4:15 PM
Post #6 of 11
(1781 views)
Permalink
|
omri wrote: > On 6/6/07, H. Peter Anvin <hpa [at] zytor> wrote: >> This is a frequently suggested feature, but it's technologically tricky. > > Can you explain some more? I was thinking about writing a simple tftpd > to do this. Why is this tricky? > Because the TFTP protocol doesn't guarantee that you can distingush between an incoming request and a retransmission of an old request. There is no way to tell the other end to wait (I have sketched on a protocol extension to do that.) The end result is that you can get a load storm on the server, especially since a lot of TFTP clients don't properly implement backoff. Additionally, some TFTP clients -- including virtually all PXE clients -- do multiple transfers and get unhappy if they get different results (plus the additional server load.) One suggestion on this mailing list was to restrict the generator in such a way that each query has to be idempotent (same input -> same output.) That would allow the query results to be cached, and therefore avoid the load storm problem (you would not spawn a second generator for the same contents, but just hold the request.) I have somewhere on my list to implement that, but tftp-hpa is a bad codebase for it, so I'm planning to do it as a ground-up rewrite using modern Unix features, unlike tftp-hpa which is intended to run on anything vaguely Unix in order to increase the least common denominator. -hpa _______________________________________________ SYSLINUX mailing list Submissions to SYSLINUX [at] zytor Unsubscribe or set options at: http://www.zytor.com/mailman/listinfo/syslinux Please do not send private replies to mailing list traffic.
|