1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef __UAPI_TC_CT_H
3 #define __UAPI_TC_CT_H
4 
5 #include <linux/types.h>
6 #include <linux/pkt_cls.h>
7 
8 enum {
9 	TCA_CT_UNSPEC,
10 	TCA_CT_PARMS,
11 	TCA_CT_TM,
12 	TCA_CT_ACTION,		/* u16 */
13 	TCA_CT_ZONE,		/* u16 */
14 	TCA_CT_MARK,		/* u32 */
15 	TCA_CT_MARK_MASK,	/* u32 */
16 	TCA_CT_LABELS,		/* u128 */
17 	TCA_CT_LABELS_MASK,	/* u128 */
18 	TCA_CT_NAT_IPV4_MIN,	/* be32 */
19 	TCA_CT_NAT_IPV4_MAX,	/* be32 */
20 	TCA_CT_NAT_IPV6_MIN,	/* struct in6_addr */
21 	TCA_CT_NAT_IPV6_MAX,	/* struct in6_addr */
22 	TCA_CT_NAT_PORT_MIN,	/* be16 */
23 	TCA_CT_NAT_PORT_MAX,	/* be16 */
24 	TCA_CT_PAD,
25 	TCA_CT_HELPER_NAME,	/* string */
26 	TCA_CT_HELPER_FAMILY,	/* u8 */
27 	TCA_CT_HELPER_PROTO,	/* u8 */
28 	__TCA_CT_MAX
29 };
30 
31 #define TCA_CT_MAX (__TCA_CT_MAX - 1)
32 
33 #define TCA_CT_ACT_COMMIT	(1 << 0)
34 #define TCA_CT_ACT_FORCE	(1 << 1)
35 #define TCA_CT_ACT_CLEAR	(1 << 2)
36 #define TCA_CT_ACT_NAT		(1 << 3)
37 #define TCA_CT_ACT_NAT_SRC	(1 << 4)
38 #define TCA_CT_ACT_NAT_DST	(1 << 5)
39 
40 struct tc_ct {
41 	tc_gen;
42 };
43 
44 #endif /* __UAPI_TC_CT_H */
45