SACK?

Luigi Rizzo rizzo at icir.org
Tue Oct 21 12:51:58 PDT 2003


On Tue, Oct 21, 2003 at 03:04:11PM -0400, Garrett Wollman wrote:
> <<On Tue, 21 Oct 2003 10:00:13 -0400, Mark Allman <mallman at icir.org> said:
> 
> > Are there any plans to incorporate SACK in FreeBSD?
> 
> We plan to add SACK to FreeBSD whan a compatible implementation is
> available.

in my book this reads as "we have no plans" :)

And to follow up on the topic, since i wrote one implementation
long ago -- my code was probably largely incomplete in the handling
of retransmission, also because it predates a lot of research onand
RFC's on the topic.  I know of another implementation, whose author
i forget, which Jitu Padhye tested briefly with tbit -- however
that one seemed to process SACK correctly but broke the non-sack
case.

My strong feeling is that before adding SACK one should do:
1. a bit of refactoring of the TCP code so that some indecently
   long functions are split in more manageable chunks (e.g.
   tcp_input() is ~2000 lines now) and there is less overload in
   state variables so that changes do not risk to break everything.

2. restructure the buffer management so that ack and data processing
   does not require O(window_size) time as it does now (with very large
   windows this kills you).

Once this is done, probably there is a point in adding SACK.

	cheers
	luigi


More information about the freebsd-net mailing list