Home | History | Annotate | Download | only in netfilter
      1 #ifndef _UAPI_NF_CONNTRACK_TCP_H
      2 #define _UAPI_NF_CONNTRACK_TCP_H
      3 /* TCP tracking. */
      4 
      5 #include <linux/types.h>
      6 
      7 /* This is exposed to userspace (ctnetlink) */
      8 enum tcp_conntrack {
      9 	TCP_CONNTRACK_NONE,
     10 	TCP_CONNTRACK_SYN_SENT,
     11 	TCP_CONNTRACK_SYN_RECV,
     12 	TCP_CONNTRACK_ESTABLISHED,
     13 	TCP_CONNTRACK_FIN_WAIT,
     14 	TCP_CONNTRACK_CLOSE_WAIT,
     15 	TCP_CONNTRACK_LAST_ACK,
     16 	TCP_CONNTRACK_TIME_WAIT,
     17 	TCP_CONNTRACK_CLOSE,
     18 	TCP_CONNTRACK_LISTEN,	/* obsolete */
     19 #define TCP_CONNTRACK_SYN_SENT2	TCP_CONNTRACK_LISTEN
     20 	TCP_CONNTRACK_MAX,
     21 	TCP_CONNTRACK_IGNORE,
     22 	TCP_CONNTRACK_RETRANS,
     23 	TCP_CONNTRACK_UNACK,
     24 	TCP_CONNTRACK_TIMEOUT_MAX
     25 };
     26 
     27 /* Window scaling is advertised by the sender */
     28 #define IP_CT_TCP_FLAG_WINDOW_SCALE		0x01
     29 
     30 /* SACK is permitted by the sender */
     31 #define IP_CT_TCP_FLAG_SACK_PERM		0x02
     32 
     33 /* This sender sent FIN first */
     34 #define IP_CT_TCP_FLAG_CLOSE_INIT		0x04
     35 
     36 /* Be liberal in window checking */
     37 #define IP_CT_TCP_FLAG_BE_LIBERAL		0x08
     38 
     39 /* Has unacknowledged data */
     40 #define IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED	0x10
     41 
     42 /* The field td_maxack has been set */
     43 #define IP_CT_TCP_FLAG_MAXACK_SET		0x20
     44 
     45 /* Marks possibility for expected RFC5961 challenge ACK */
     46 #define IP_CT_EXP_CHALLENGE_ACK 		0x40
     47 
     48 struct nf_ct_tcp_flags {
     49 	__u8 flags;
     50 	__u8 mask;
     51 };
     52 
     53 
     54 #endif /* _UAPI_NF_CONNTRACK_TCP_H */
     55