Date: Fri, 19 Oct 2007 08:53:15 +0000 (UTC) From: Mike Silbersack <silby@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/netinet tcp_syncache.c tcp_usrreq.c Message-ID: <200710190853.l9J8rFRc095905@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
silby 2007-10-19 08:53:15 UTC
FreeBSD src repository
Modified files:
sys/netinet tcp_syncache.c tcp_usrreq.c
Log:
Pick the smallest possible TCP window scaling factor that will still allow
us to scale up to sb_max, aka kern.ipc.maxsockbuf.
We do this because there are broken firewalls that will corrupt the window
scale option, leading to the other endpoint believing that our advertised
window is unscaled. At scale factors larger than 5 the unscaled window will
drop below 1500 bytes, leading to serious problems when traversing these
broken firewalls.
With the default maxsockbuf of 256K, a scale factor of 3 will be chosen by
this algorithm. Those who choose a larger maxsockbuf should watch out
for the compatiblity problems mentioned above.
Reviewed by: andre
Revision Changes Path
1.131 +17 -6 src/sys/netinet/tcp_syncache.c
1.164 +1 -2 src/sys/netinet/tcp_usrreq.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710190853.l9J8rFRc095905>
