/* * INET An implementation of the TCP/IP protocol suite for the LINUX * operating system. INET is implemented using the BSD Socket * interface as the means of communication with the user level. * * Definitions for the TCP module. * * Version: @(#)tcp.h 1.0.5 05/23/93 * * Authors: Ross Biro * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */#ifndef _TCP_H#define _TCP_H#define TCP_DEBUG 1#define FASTRETRANS_DEBUG 1#include<linux/list.h>#include<linux/tcp.h>#include<linux/slab.h>#include<linux/cache.h>#include<linux/percpu.h>#include<linux/skbuff.h>#include<linux/dmaengine.h>#include<linux/crypto.h>#include<linux/cryptohash.h>#include<net/inet_connection_sock.h>#include<net/inet_timewait_sock.h>#include<net/inet_hashtables.h>#include<net/checksum.h>#include<net/request_sock.h>#include<net/sock.h>#include<net/snmp.h>#include<net/ip.h>#include<net/tcp_states.h>#include<net/inet_ecn.h>#include<net/dst.h>#include<linux/seq_file.h>externstructinet_hashinfotcp_hashinfo;externstructpercpu_countertcp_orphan_count;externvoidtcp_time_wait(structsock*sk,intstate,inttimeo);#define MAX_TCP_HEADER (128 + MAX_HEADER)#define MAX_TCP_OPTION_SPACE 40/* * Never offer a window over 32767 without using window scaling. Some * poor stacks do signed 16bit maths! */#define MAX_TCP_WINDOW 32767U/* Minimal accepted MSS. It is (60+60+8) - (20+20). */#define TCP_MIN_MSS 88U/* Minimal RCV_MSS. */#define TCP_MIN_RCVMSS 536U/* The least MTU to use for probing */#define TCP_BASE_MSS 512/* 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 16U/* 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 minimum */#define TCP_SYNACK_RETRIES 5 /* number of times to retry passive opening a * connection: ~180sec is RFC minimum */#define TCP_ORPHAN_RETRIES 7 /* number of times to retry on an orphaned * socket. 7 is ~50sec-16min. */#define TCP_TIMEWAIT_LEN (60*HZ)