SV: Automatic TCP send socker buffer sizing

Andre Oppermann andre at
Thu Nov 16 22:49:04 UTC 2006

Morgan wrote:
>> This is a patch adding automatic TCP send socket buffer 
>> sizing.
> <snip>
>> The patch is available here:
>> Any testers, especially with busy FTP servers, are very welcome.
> Very nice indeed! I've actually been looking for something like this :-) I
> would very much like to try it out but I need to know if I can benefit from
> it with my setup. My network knowledge on this deep level is very limited so
> I need to ask a few questions that probably sounds stupid... but here we go:
> Would this patch only benefit traffic generated from or destined to the
> FreeBSD box itself or would it also benefit traffic generated behind it on a
> LAN if the FreeBSD box was configured as:
> a) a router with NAT
> b) a router without NAT
> c) a bridge only
> Add to this the extra complexity of pf with synproxy and modulate state. I
> simply don't know how (if at all) FreeBSD interacts with or manipulates
> packets going through it under any of these circumstances, so I have to ask
> to learn :-)

It helps only if the FreeBSD box is the sender of data on a TCP connection.
In all the cases you've listed there it doesn't (and can't) help.  It would
help though if you were running a full http proxy on it.

> The patch didn't apply cleanly to my 6.1-RELEASE. Since this patch was
> cross-posted to -current I guess it wasn't meant for me. Any chance you can
> provide a patch for 6.1-RELEASE? This is the output:

I'll do a backport to RELENG_6 tomorrow when I'm back in the office.

> # patch <tcp_auto_sndbuf-20061116.diff
> Hmm...  Looks like a unified diff to me...
> The text leading up to this was:
> --------------------------
> |Index: tcp_output.c
> |===================================================================
> |RCS file: /home/ncvs/src/sys/netinet/tcp_output.c,v
> |retrieving revision 1.121
> |diff -u -p -r1.121 tcp_output.c
> |--- tcp_output.c       22 Oct 2006 11:52:16 -0000      1.121
> |+++ tcp_output.c       16 Nov 2006 18:35:43 -0000
> --------------------------
> File to patch: /usr/src/sys/netinet/tcp_output.c
> Patching file /usr/src/sys/netinet/tcp_output.c using Plan A...
> Hunk #1 succeeded at 49 (offset 1 line).
> Hunk #2 failed at 105.
> Hunk #3 failed at 395.
> 2 out of 3 hunks failed--saving rejects to
> /usr/src/sys/netinet/tcp_output.c.rej
> Done
> Lastly, is it enough to rebuild only the kernel after applying this patch?


> Once again, sorry for these stupid questions but this is the only way for me
> to learn and I really would like to have this patch running on my system.

No problem.  Your effort is appreciated.


More information about the freebsd-net mailing list