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