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 */
6enum 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
21enum 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#ifdef __KERNEL__
29#include <linux/netfilter/nf_conntrack_tuple_common.h>
30
31struct nf_ct_dccp {
32 u_int8_t role[IP_CT_DIR_MAX];
33 u_int8_t state;
34 u_int8_t last_pkt;
35 u_int8_t last_dir;
36 u_int64_t handshake_seq;
37};
38
39#endif /* __KERNEL__ */
40
41#endif /* _NF_CONNTRACK_DCCP_H */
42