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_MAX
26 };
27 
28 #define TCA_CT_MAX (__TCA_CT_MAX - 1)
29 
30 #define TCA_CT_ACT_COMMIT	(1 << 0)
31 #define TCA_CT_ACT_FORCE	(1 << 1)
32 #define TCA_CT_ACT_CLEAR	(1 << 2)
33 #define TCA_CT_ACT_NAT		(1 << 3)
34 #define TCA_CT_ACT_NAT_SRC	(1 << 4)
35 #define TCA_CT_ACT_NAT_DST	(1 << 5)
36 
37 struct tc_ct {
38 	tc_gen;
39 };
40 
41 #endif /* __UAPI_TC_CT_H */
42