summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMike Silbersack <silby@FreeBSD.org>2008-03-11 06:34:28 +0000
committerMike Silbersack <silby@FreeBSD.org>2008-03-11 06:34:28 +0000
commit7d3a42ffabaede845e3318b39633db8fa94ccdc6 (patch)
tree4ae5378da0d9604adc79b01e194a822081938757 /sys
parent07efae2402efdb9fb69f50fac101e9389f24ec6c (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/netinet/tcp_var.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h
index 099904366a91..89a89cfb63c9 100644
--- a/sys/netinet/tcp_var.h
+++ b/sys/netinet/tcp_var.h
@@ -235,14 +235,17 @@ struct tcpcb {
* to tcp_dooptions and tcp_addoptions.
* The binary order of the to_flags is relevant for packing of the
* options in tcp_addoptions.
+ * SACK should be kept after TS; some broken cable modem / router
+ * devices were found in the field that ignore SYN-ACKs with
+ * SACK before TS.
*/
struct tcpopt {
u_long to_flags; /* which options are present */
#define TOF_MSS 0x0001 /* maximum segment size */
#define TOF_SCALE 0x0002 /* window scaling */
-#define TOF_SACKPERM 0x0004 /* SACK permitted */
#define TOF_TS 0x0010 /* timestamp */
-#define TOF_SIGNATURE 0x0040 /* TCP-MD5 signature option (RFC2385) */
+#define TOF_SIGNATURE 0x0020 /* TCP-MD5 signature option (RFC2385) */
+#define TOF_SACKPERM 0x0040 /* SACK permitted */
#define TOF_SACK 0x0080 /* Peer sent SACK option */
#define TOF_MAXOPT 0x0100
u_int32_t to_tsval; /* new timestamp */