diff options
author | Gilad Ben-Yossef <gilad@codefidence.com> | 2009-10-28 00:15:24 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-10-29 04:28:44 -0400 |
commit | 1aba721eba1d84a2defce45b950272cee1e6c72a (patch) | |
tree | 73a882e5147cd7384bea0533dea8b2a5f51ad325 /net/ipv4/tcp_input.c | |
parent | 0c3adfb8ec9f85a63556b70f11e0fcf280545951 (diff) |
Add the no SACK route option feature
Implement querying and acting upon the no sack bit in the features
field.
Signed-off-by: Gilad Ben-Yossef <gilad@codefidence.com>
Sigend-off-by: Ori Finkelman <ori@comsleep.com>
Sigend-off-by: Yony Amit <yony@comsleep.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index c7625005486d..5fb25f977451 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -3763,7 +3763,8 @@ void tcp_parse_options(struct sk_buff *skb, struct tcp_options_received *opt_rx, | |||
3763 | break; | 3763 | break; |
3764 | case TCPOPT_SACK_PERM: | 3764 | case TCPOPT_SACK_PERM: |
3765 | if (opsize == TCPOLEN_SACK_PERM && th->syn && | 3765 | if (opsize == TCPOLEN_SACK_PERM && th->syn && |
3766 | !estab && sysctl_tcp_sack) { | 3766 | !estab && sysctl_tcp_sack && |
3767 | !dst_feature(dst, RTAX_FEATURE_NO_SACK)) { | ||
3767 | opt_rx->sack_ok = 1; | 3768 | opt_rx->sack_ok = 1; |
3768 | tcp_sack_reset(opt_rx); | 3769 | tcp_sack_reset(opt_rx); |
3769 | } | 3770 | } |