1 #ifndef _NF_CONNTRACK_TUPLE_COMMON_H 2 #define _NF_CONNTRACK_TUPLE_COMMON_H 3 4 enum ip_conntrack_dir { 5 IP_CT_DIR_ORIGINAL, 6 IP_CT_DIR_REPLY, 7 IP_CT_DIR_MAX 8 }; 9 10 /* The protocol-specific manipulable parts of the tuple: always in 11 * network order 12 */ 13 union nf_conntrack_man_proto { 14 /* Add other protocols here. */ 15 __be16 all; 16 17 struct { 18 __be16 port; 19 } tcp; 20 struct { 21 __be16 port; 22 } udp; 23 struct { 24 __be16 id; 25 } icmp; 26 struct { 27 __be16 port; 28 } dccp; 29 struct { 30 __be16 port; 31 } sctp; 32 struct { 33 __be16 key; /* GRE key is 32bit, PPtP only uses 16bit */ 34 } gre; 35 }; 36 37 #define CTINFO2DIR(ctinfo) ((ctinfo) >= IP_CT_IS_REPLY ? IP_CT_DIR_REPLY : IP_CT_DIR_ORIGINAL) 38 39 #endif /* _NF_CONNTRACK_TUPLE_COMMON_H */ 40