aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_input.c
diff options
context:
space:
mode:
authorGilad Ben-Yossef <gilad@codefidence.com>2009-10-28 00:15:24 -0400
committerDavid S. Miller <davem@davemloft.net>2009-10-29 04:28:44 -0400
commit1aba721eba1d84a2defce45b950272cee1e6c72a (patch)
tree73a882e5147cd7384bea0533dea8b2a5f51ad325 /net/ipv4/tcp_input.c
parent0c3adfb8ec9f85a63556b70f11e0fcf280545951 (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.c3
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 }