1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef _NF_CONNTRACK_DCCP_H |
3 | #define _NF_CONNTRACK_DCCP_H |
4 | |
5 | /* Exposed to userspace over nfnetlink */ |
6 | enum ct_dccp_states { |
7 | CT_DCCP_NONE, |
8 | CT_DCCP_REQUEST, |
9 | CT_DCCP_RESPOND, |
10 | CT_DCCP_PARTOPEN, |
11 | CT_DCCP_OPEN, |
12 | CT_DCCP_CLOSEREQ, |
13 | CT_DCCP_CLOSING, |
14 | CT_DCCP_TIMEWAIT, |
15 | CT_DCCP_IGNORE, |
16 | CT_DCCP_INVALID, |
17 | __CT_DCCP_MAX |
18 | }; |
19 | #define CT_DCCP_MAX (__CT_DCCP_MAX - 1) |
20 | |
21 | enum ct_dccp_roles { |
22 | CT_DCCP_ROLE_CLIENT, |
23 | CT_DCCP_ROLE_SERVER, |
24 | __CT_DCCP_ROLE_MAX |
25 | }; |
26 | #define CT_DCCP_ROLE_MAX (__CT_DCCP_ROLE_MAX - 1) |
27 | |
28 | #include <linux/netfilter/nf_conntrack_tuple_common.h> |
29 | |
30 | struct nf_ct_dccp { |
31 | u_int8_t role[IP_CT_DIR_MAX]; |
32 | u_int8_t state; |
33 | u_int8_t last_pkt; |
34 | u_int8_t last_dir; |
35 | u_int64_t handshake_seq; |
36 | }; |
37 | |
38 | #endif /* _NF_CONNTRACK_DCCP_H */ |
39 | |