]>
Commit | Line | Data |
---|---|---|
1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | |
2 | #ifndef _NF_CONNTRACK_TUPLE_COMMON_H | |
3 | #define _NF_CONNTRACK_TUPLE_COMMON_H | |
4 | ||
5 | #include <linux/types.h> | |
6 | #ifndef __KERNEL__ | |
7 | #include <linux/netfilter.h> | |
8 | #endif | |
9 | #include <linux/netfilter/nf_conntrack_common.h> /* IP_CT_IS_REPLY */ | |
10 | ||
11 | enum ip_conntrack_dir { | |
12 | IP_CT_DIR_ORIGINAL, | |
13 | IP_CT_DIR_REPLY, | |
14 | IP_CT_DIR_MAX | |
15 | }; | |
16 | ||
17 | /* The protocol-specific manipulable parts of the tuple: always in | |
18 | * network order | |
19 | */ | |
20 | union nf_conntrack_man_proto { | |
21 | /* Add other protocols here. */ | |
22 | __be16 all; | |
23 | ||
24 | struct { | |
25 | __be16 port; | |
26 | } tcp; | |
27 | struct { | |
28 | __be16 port; | |
29 | } udp; | |
30 | struct { | |
31 | __be16 id; | |
32 | } icmp; | |
33 | struct { | |
34 | __be16 port; | |
35 | } dccp; | |
36 | struct { | |
37 | __be16 port; | |
38 | } sctp; | |
39 | struct { | |
40 | __be16 key; /* GRE key is 32bit, PPtP only uses 16bit */ | |
41 | } gre; | |
42 | }; | |
43 | ||
44 | #define CTINFO2DIR(ctinfo) ((ctinfo) >= IP_CT_IS_REPLY ? IP_CT_DIR_REPLY : IP_CT_DIR_ORIGINAL) | |
45 | ||
46 | #endif /* _NF_CONNTRACK_TUPLE_COMMON_H */ |