1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __NET_TC_CTINFO_H
3#define __NET_TC_CTINFO_H
4
5#include <net/act_api.h>
6
7struct tcf_ctinfo_params {
8	struct rcu_head rcu;
9	struct net *net;
10	u32 dscpmask;
11	u32 dscpstatemask;
12	u32 cpmarkmask;
13	u16 zone;
14	u8 mode;
15	u8 dscpmaskshift;
16};
17
18struct tcf_ctinfo {
19	struct tc_action common;
20	struct tcf_ctinfo_params __rcu *params;
21	u64 stats_dscp_set;
22	u64 stats_dscp_error;
23	u64 stats_cpmark_set;
24};
25
26enum {
27	CTINFO_MODE_DSCP	= BIT(0),
28	CTINFO_MODE_CPMARK	= BIT(1)
29};
30
31#define to_ctinfo(a) ((struct tcf_ctinfo *)a)
32
33#endif /* __NET_TC_CTINFO_H */
34