Change TCP_MIN_WINSHIFT from 6 to 5 to accomodate broken firewalls.
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 22 Aug 2009 21:07:29 +0000 (14:07 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sat, 22 Aug 2009 21:07:29 +0000 (14:07 -0700)
* The warning was documented in the FreeBSD syncache code.  Larger window
  scalings will be negotiated if the receive buffer is larger then 2MB.

sys/netinet/tcp.h

index fe8c04d..b493388 100644 (file)
@@ -142,17 +142,16 @@ struct tcphdr {
  * but 1024 is probably more convenient. (xxx kazu in doubt)
  * This should be defined as MIN(1024, IP6_MSS - sizeof (struct tcpip6hdr))
  *
- * NOTE: TCP_DYNAMIC_SCALE is used to calculate the maximum factor
- *      automatic receive buffer scaling can scale a buffer to deal
- *      with the network bandwidth x delay product.  Any scaling beyond
- *      that will have no effect on the TCP window.
+ * NOTE: TCP_MIN_WINSHIFT is used when negotiating window scaling.  Larger
+ *      values are possible but apparently some firewires blows up if
+ *      values larger then 5 are used, so use 5.
  */
 #define        TCP6_MSS        1024
 
 #define        TCP_MAXWIN              65535   /* max value for (unscaled) window */
 #define        TTCP_CLIENT_SND_WND     4096    /* dflt send window for T/TCP client */
 
-#define TCP_MIN_WINSHIFT       6       /* requested minimum (x64) */
+#define TCP_MIN_WINSHIFT       5       /* requested minimum (x32) */
 #define TCP_MAX_WINSHIFT       14      /* maximum window shift */
 
 #define TCP_MAXBURST           4       /* maximum segments in a burst */