140d54756cd8a2705e22b36f7aef03bb2c472a10bPatrick McHardy#ifndef _NF_CONNTRACK_TUPLE_COMMON_H 240d54756cd8a2705e22b36f7aef03bb2c472a10bPatrick McHardy#define _NF_CONNTRACK_TUPLE_COMMON_H 340d54756cd8a2705e22b36f7aef03bb2c472a10bPatrick McHardy 4dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardtenum ip_conntrack_dir { 540d54756cd8a2705e22b36f7aef03bb2c472a10bPatrick McHardy IP_CT_DIR_ORIGINAL, 640d54756cd8a2705e22b36f7aef03bb2c472a10bPatrick McHardy IP_CT_DIR_REPLY, 740d54756cd8a2705e22b36f7aef03bb2c472a10bPatrick McHardy IP_CT_DIR_MAX 840d54756cd8a2705e22b36f7aef03bb2c472a10bPatrick McHardy}; 940d54756cd8a2705e22b36f7aef03bb2c472a10bPatrick McHardy 10e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy/* The protocol-specific manipulable parts of the tuple: always in 11e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy * network order 12e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy */ 13e62f426c7ead7c0025d15860df97426db6509942Patrick McHardyunion nf_conntrack_man_proto { 14e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy /* Add other protocols here. */ 15e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy __be16 all; 16e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy 17e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy struct { 18e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy __be16 port; 19e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy } tcp; 20e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy struct { 21e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy __be16 port; 22e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy } udp; 23e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy struct { 24e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy __be16 id; 25e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy } icmp; 26e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy struct { 27e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy __be16 port; 28e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy } dccp; 29e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy struct { 30e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy __be16 port; 31e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy } sctp; 32e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy struct { 33e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy __be16 key; /* GRE key is 32bit, PPtP only uses 16bit */ 34e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy } gre; 35e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy}; 36e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy 3740d54756cd8a2705e22b36f7aef03bb2c472a10bPatrick McHardy#define CTINFO2DIR(ctinfo) ((ctinfo) >= IP_CT_IS_REPLY ? IP_CT_DIR_REPLY : IP_CT_DIR_ORIGINAL) 3840d54756cd8a2705e22b36f7aef03bb2c472a10bPatrick McHardy 3940d54756cd8a2705e22b36f7aef03bb2c472a10bPatrick McHardy#endif /* _NF_CONNTRACK_TUPLE_COMMON_H */ 40