tcp_input.c (eed29f17f09ad7f400bc245f209acad6a8214fac) | tcp_input.c (f930103421f6579719b8252285c94c1195f6e032) |
---|---|
1/* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * Implementation of the Transmission Control Protocol(TCP). 7 * 8 * Authors: Ross Biro --- 64 unchanged lines hidden (view full) --- 73#include <net/tcp.h> 74#include <net/inet_common.h> 75#include <linux/ipsec.h> 76#include <asm/unaligned.h> 77#include <linux/errqueue.h> 78 79int sysctl_tcp_timestamps __read_mostly = 1; 80int sysctl_tcp_window_scaling __read_mostly = 1; | 1/* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * Implementation of the Transmission Control Protocol(TCP). 7 * 8 * Authors: Ross Biro --- 64 unchanged lines hidden (view full) --- 73#include <net/tcp.h> 74#include <net/inet_common.h> 75#include <linux/ipsec.h> 76#include <asm/unaligned.h> 77#include <linux/errqueue.h> 78 79int sysctl_tcp_timestamps __read_mostly = 1; 80int sysctl_tcp_window_scaling __read_mostly = 1; |
81int sysctl_tcp_sack __read_mostly = 1; | |
82int sysctl_tcp_fack __read_mostly; 83int sysctl_tcp_max_reordering __read_mostly = 300; 84int sysctl_tcp_dsack __read_mostly = 1; 85int sysctl_tcp_app_win __read_mostly = 31; 86int sysctl_tcp_adv_win_scale __read_mostly = 1; 87EXPORT_SYMBOL(sysctl_tcp_adv_win_scale); 88 89/* rfc5961 challenge ack rate limiting */ --- 3695 unchanged lines hidden (view full) --- 3785 (!estab && sysctl_tcp_timestamps))) { 3786 opt_rx->saw_tstamp = 1; 3787 opt_rx->rcv_tsval = get_unaligned_be32(ptr); 3788 opt_rx->rcv_tsecr = get_unaligned_be32(ptr + 4); 3789 } 3790 break; 3791 case TCPOPT_SACK_PERM: 3792 if (opsize == TCPOLEN_SACK_PERM && th->syn && | 81int sysctl_tcp_fack __read_mostly; 82int sysctl_tcp_max_reordering __read_mostly = 300; 83int sysctl_tcp_dsack __read_mostly = 1; 84int sysctl_tcp_app_win __read_mostly = 31; 85int sysctl_tcp_adv_win_scale __read_mostly = 1; 86EXPORT_SYMBOL(sysctl_tcp_adv_win_scale); 87 88/* rfc5961 challenge ack rate limiting */ --- 3695 unchanged lines hidden (view full) --- 3784 (!estab && sysctl_tcp_timestamps))) { 3785 opt_rx->saw_tstamp = 1; 3786 opt_rx->rcv_tsval = get_unaligned_be32(ptr); 3787 opt_rx->rcv_tsecr = get_unaligned_be32(ptr + 4); 3788 } 3789 break; 3790 case TCPOPT_SACK_PERM: 3791 if (opsize == TCPOLEN_SACK_PERM && th->syn && |
3793 !estab && sysctl_tcp_sack) { | 3792 !estab && net->ipv4.sysctl_tcp_sack) { |
3794 opt_rx->sack_ok = TCP_SACK_SEEN; 3795 tcp_sack_reset(opt_rx); 3796 } 3797 break; 3798 3799 case TCPOPT_SACK: 3800 if ((opsize >= (TCPOLEN_SACK_BASE + TCPOLEN_SACK_PERBLOCK)) && 3801 !((opsize - TCPOLEN_SACK_BASE) % TCPOLEN_SACK_PERBLOCK) && --- 2631 unchanged lines hidden --- | 3793 opt_rx->sack_ok = TCP_SACK_SEEN; 3794 tcp_sack_reset(opt_rx); 3795 } 3796 break; 3797 3798 case TCPOPT_SACK: 3799 if ((opsize >= (TCPOLEN_SACK_BASE + TCPOLEN_SACK_PERBLOCK)) && 3800 !((opsize - TCPOLEN_SACK_BASE) % TCPOLEN_SACK_PERBLOCK) && --- 2631 unchanged lines hidden --- |