summaryrefslogtreecommitdiffstats
path: root/include/linux/tcp.h
diff options
context:
space:
mode:
authorAdam Langley2008-07-19 09:07:02 +0200
committerDavid S. Miller2008-07-19 09:07:02 +0200
commit4389dded7767d24290463f2a8302ba3253ebdd56 (patch)
treeed34a2084c47c6c707e0ce6b4eab8d442f20c4c3 /include/linux/tcp.h
parenttcp: options clean up (diff)
downloadkernel-qcow2-linux-4389dded7767d24290463f2a8302ba3253ebdd56.tar.gz
kernel-qcow2-linux-4389dded7767d24290463f2a8302ba3253ebdd56.tar.xz
kernel-qcow2-linux-4389dded7767d24290463f2a8302ba3253ebdd56.zip
tcp: Remove redundant checks when setting eff_sacks
Remove redundant checks when setting eff_sacks and make the number of SACKs a compile time constant. Now that the options code knows how many SACK blocks can fit in the header, we don't need to have the SACK code guessing at it. Signed-off-by: Adam Langley <agl@imperialviolet.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/tcp.h')
-rw-r--r--include/linux/tcp.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/tcp.h b/include/linux/tcp.h
index 07e79bdb9cdf..2e2557388e36 100644
--- a/include/linux/tcp.h
+++ b/include/linux/tcp.h
@@ -224,6 +224,12 @@ struct tcp_options_received {
u16 mss_clamp; /* Maximal mss, negotiated at connection setup */
};
+/* This is the max number of SACKS that we'll generate and process. It's safe
+ * to increse this, although since:
+ * size = TCPOLEN_SACK_BASE_ALIGNED (4) + n * TCPOLEN_SACK_PERBLOCK (8)
+ * only four options will fit in a standard TCP header */
+#define TCP_NUM_SACKS 4
+
struct tcp_request_sock {
struct inet_request_sock req;
#ifdef CONFIG_TCP_MD5SIG