Linux 6.7-rc7
[linux-modified.git] / include / uapi / linux / tc_act / tc_ct.h
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 */