slow start size threshhold:

include/net/sock.h: 319: __u32 snd_ssthresh; /* Slow start size threshold */
        it is initilized in : /usr/src/linux/net/ipv4/tcp.c:2023:
        tp->snd_ssthresh = 0x7fffffff;

Sending congestion window :

include/net/sock.h: 320: __u32 snd_cwnd; /* Sending congestion window */
it is initialized in : tcp_ipv4.c:1900: tp->snd_cwnd = 2;
tcp.c:2020: tp->snd_cwnd = 2;


tcp_window_scaling is on( 1 ): Enable window scaling as defined in RFC1323.

tcp_sack is on ( 1 ): Enable select acknowledgments after RFC2018.

tcp_timestamps is on ( 1 ):Enable timestamps as defined in RFC1323.



/* The following are from /usr/src/linux/include/net/tcp.h */

#define MAX_TCP_HEADER (128 + MAX_HEADER)

/*
* Never offer a window over 32767 without using window scaling. Some
* poor stacks do signed 16bit maths!

*/
#define MAX_TCP_WINDOW 32767

/* Minimal accepted MSS. It is (60+60+8) - (20+20). */
#define TCP_MIN_MSS 88

/* Minimal RCV_MSS. */
#define TCP_MIN_RCVMSS 536

/* After receiving this amount of duplicate ACKs fast retransmit starts. */
#define TCP_FASTRETRANS_THRESH 3

/* Maximal reordering. */
#define TCP_MAX_REORDERING 127

/* Maximal number of ACKs sent quickly to accelerate slow-start. */
#define TCP_MAX_QUICKACKS 16

/* urg_data states */
#define TCP_URG_VALID 0x0100
#define TCP_URG_NOTYET 0x0200
#define TCP_URG_READ 0x0400

#define TCP_RETR1 3

/** This is how many retries it does before it tries to figure out if the gateway is down. Minimal RFC value is 3; it corresponds to ~3sec-8min depending on RTO.*/

#define TCP_RETR2 15
 /* This should take at least 90 minutes to time out. RFC1122 says that the limit is 100 sec. 15 is ~13-30min depending on RTO.*/

#define TCP_SYN_RETRIES 5 /* number of times to retry active opening a connection: ~180sec is RFC minumum */

#define TCP_SYNACK_RETRIES 5 /* number of times to retry passive opening a connection: ~180sec is RFC minumum */


#define TCP_ORPHAN_RETRIES 7 /* number of times to retry on an orphaned socket. 7 is ~50sec-16min.*/


#define TCP_TIMEWAIT_LEN (60*HZ) /* how long to wait to destroy TIME-WAIT state, about 60 seconds */
#define TCP_FIN_TIMEOUT TCP_TIMEWAIT_LEN
/* BSD style FIN_WAIT2 deadlock breaker.
* It used to be 3min, new value is 60sec,
* to combine FIN-WAIT-2 timeout with
* TIME-WAIT timer.
*/

#define TCP_DELACK_MAX (HZ/5) /* maximal time to delay before sending an ACK */
#if HZ >= 100
#define TCP_DELACK_MIN (HZ/25) /* minimal time to delay before sending an ACK */
#define TCP_ATO_MIN (HZ/25)
#else
#define TCP_DELACK_MIN 4
#define TCP_ATO_MIN 4
#endif
#define TCP_RTO_MAX (120*HZ)
#define TCP_RTO_MIN (HZ/5)
#define TCP_TIMEOUT_INIT (3*HZ) /* RFC 1122 initial RTO value */

#define TCP_RESOURCE_PROBE_INTERVAL (HZ/2) /* Maximal interval between probes for local resources.*/

#define TCP_KEEPALIVE_TIME (120*60*HZ) /* two hours */
#define TCP_KEEPALIVE_PROBES 9 /* Max of 9 keepalive probes */
#define TCP_KEEPALIVE_INTVL (75*HZ)

#define MAX_TCP_KEEPIDLE 32767
#define MAX_TCP_KEEPINTVL 32767
#define MAX_TCP_KEEPCNT 127
#define MAX_TCP_SYNCNT 127

/* TIME_WAIT reaping mechanism. */
#define TCP_TWKILL_SLOTS 8 /* Please keep this a power of 2. */
#define TCP_TWKILL_PERIOD (TCP_TIMEWAIT_LEN/TCP_TWKILL_SLOTS)

#define TCP_SYNQ_INTERVAL (HZ/5) /* Period of SYNACK timer */
#define TCP_SYNQ_HSIZE 512 /* Size of SYNACK hash table */

#define TCP_PAWS_24DAYS (60 * 60 * 24 * 24)
#define TCP_PAWS_MSL 60 /* Per-host timestamps are invalidated
* after this time. It should be equal
* (or greater than) TCP_TIMEWAIT_LEN
* to provide reliability equal to one
* provided by timewait state.
*/
#define TCP_PAWS_WINDOW 1 /* Replay window for per-host
* timestamps. It must be less than
* minimal timewait lifetime.
*/

#define TCP_TW_RECYCLE_SLOTS_LOG 5
#define TCP_TW_RECYCLE_SLOTS (1<<TCP_TW_RECYCLE_SLOTS_LOG)

/* If time > 4sec, it is "slow" path, no recycling is required,
so that we select tick to get range about 4 seconds.
*/

#if HZ <= 16 || HZ > 4096
# error Unsupported: HZ <= 16 or HZ > 4096
#elif HZ <= 32
# define TCP_TW_RECYCLE_TICK (5+2-TCP_TW_RECYCLE_SLOTS_LOG)
#elif HZ <= 64
# define TCP_TW_RECYCLE_TICK (6+2-TCP_TW_RECYCLE_SLOTS_LOG)
#elif HZ <= 128
# define TCP_TW_RECYCLE_TICK (7+2-TCP_TW_RECYCLE_SLOTS_LOG)
#elif HZ <= 256
# define TCP_TW_RECYCLE_TICK (8+2-TCP_TW_RECYCLE_SLOTS_LOG)
#elif HZ <= 512
# define TCP_TW_RECYCLE_TICK (9+2-TCP_TW_RECYCLE_SLOTS_LOG)
#elif HZ <= 1024
# define TCP_TW_RECYCLE_TICK (10+2-TCP_TW_RECYCLE_SLOTS_LOG)
#elif HZ <= 2048
# define TCP_TW_RECYCLE_TICK (11+2-TCP_TW_RECYCLE_SLOTS_LOG)
#else
# define TCP_TW_RECYCLE_TICK (12+2-TCP_TW_RECYCLE_SLOTS_LOG)
#endif

/*
* TCP option
*/

#define TCPOPT_NOP 1 /* Padding */
#define TCPOPT_EOL 0 /* End of options */
#define TCPOPT_MSS 2 /* Segment size negotiating */
#define TCPOPT_WINDOW 3 /* Window scaling */
#define TCPOPT_SACK_PERM 4 /* SACK Permitted */
#define TCPOPT_SACK 5 /* SACK Block */
#define TCPOPT_TIMESTAMP 8 /* Better RTT estimations/PAWS */

/*
* TCP option lengths
*/

#define TCPOLEN_MSS 4
#define TCPOLEN_WINDOW 3
#define TCPOLEN_SACK_PERM 2
#define TCPOLEN_TIMESTAMP 10

/* But this is what stacks really send out. */
#define TCPOLEN_TSTAMP_ALIGNED 12
#define TCPOLEN_WSCALE_ALIGNED 4
#define TCPOLEN_SACKPERM_ALIGNED 4
#define TCPOLEN_SACK_BASE 2
#define TCPOLEN_SACK_BASE_ALIGNED 4
#define TCPOLEN_SACK_PERBLOCK 8

#define TCP_TIME_RETRANS 1 /* Retransmit timer */
#define TCP_TIME_DACK 2 /* Delayed ack timer */
#define TCP_TIME_PROBE0 3 /* Zero window probe timer */
#define TCP_TIME_KEEPOPEN 4 /* Keepalive timer */