cvs commit: src/sys/netinet tcp_syncache.c tcp_usrreq.c

Mike Silbersack silby at
Fri Oct 19 01:53:16 PDT 2007

silby       2007-10-19 08:53:15 UTC

  FreeBSD src repository

  Modified files:
    sys/netinet          tcp_syncache.c tcp_usrreq.c 
  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

More information about the cvs-src mailing list