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 7 struct 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 18 struct 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 26 enum { 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