1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef __LINUX_PKT_CLS_H 8*8d67ca89SAndroid Build Coastguard Worker #define __LINUX_PKT_CLS_H 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #include <linux/pkt_sched.h> 11*8d67ca89SAndroid Build Coastguard Worker #define TC_COOKIE_MAX_SIZE 16 12*8d67ca89SAndroid Build Coastguard Worker enum { 13*8d67ca89SAndroid Build Coastguard Worker TCA_ACT_UNSPEC, 14*8d67ca89SAndroid Build Coastguard Worker TCA_ACT_KIND, 15*8d67ca89SAndroid Build Coastguard Worker TCA_ACT_OPTIONS, 16*8d67ca89SAndroid Build Coastguard Worker TCA_ACT_INDEX, 17*8d67ca89SAndroid Build Coastguard Worker TCA_ACT_STATS, 18*8d67ca89SAndroid Build Coastguard Worker TCA_ACT_PAD, 19*8d67ca89SAndroid Build Coastguard Worker TCA_ACT_COOKIE, 20*8d67ca89SAndroid Build Coastguard Worker TCA_ACT_FLAGS, 21*8d67ca89SAndroid Build Coastguard Worker TCA_ACT_HW_STATS, 22*8d67ca89SAndroid Build Coastguard Worker TCA_ACT_USED_HW_STATS, 23*8d67ca89SAndroid Build Coastguard Worker TCA_ACT_IN_HW_COUNT, 24*8d67ca89SAndroid Build Coastguard Worker __TCA_ACT_MAX 25*8d67ca89SAndroid Build Coastguard Worker }; 26*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_FLAGS_NO_PERCPU_STATS (1 << 0) 27*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_FLAGS_SKIP_HW (1 << 1) 28*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_FLAGS_SKIP_SW (1 << 2) 29*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_HW_STATS_IMMEDIATE (1 << 0) 30*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_HW_STATS_DELAYED (1 << 1) 31*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_MAX __TCA_ACT_MAX 32*8d67ca89SAndroid Build Coastguard Worker #define TCA_OLD_COMPAT (TCA_ACT_MAX + 1) 33*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_MAX_PRIO 32 34*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_BIND 1 35*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_NOBIND 0 36*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_UNBIND 1 37*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_NOUNBIND 0 38*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_REPLACE 1 39*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_NOREPLACE 0 40*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_UNSPEC (- 1) 41*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_OK 0 42*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_RECLASSIFY 1 43*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_SHOT 2 44*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_PIPE 3 45*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_STOLEN 4 46*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_QUEUED 5 47*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_REPEAT 6 48*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_REDIRECT 7 49*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_TRAP 8 50*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_VALUE_MAX TC_ACT_TRAP 51*8d67ca89SAndroid Build Coastguard Worker #define __TC_ACT_EXT_SHIFT 28 52*8d67ca89SAndroid Build Coastguard Worker #define __TC_ACT_EXT(local) ((local) << __TC_ACT_EXT_SHIFT) 53*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_EXT_VAL_MASK ((1 << __TC_ACT_EXT_SHIFT) - 1) 54*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_EXT_OPCODE(combined) ((combined) & (~TC_ACT_EXT_VAL_MASK)) 55*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_EXT_CMP(combined,opcode) (TC_ACT_EXT_OPCODE(combined) == opcode) 56*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_JUMP __TC_ACT_EXT(1) 57*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_GOTO_CHAIN __TC_ACT_EXT(2) 58*8d67ca89SAndroid Build Coastguard Worker #define TC_ACT_EXT_OPCODE_MAX TC_ACT_GOTO_CHAIN 59*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_GACT 5 60*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_IPT 6 61*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_PEDIT 7 62*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_MIRRED 8 63*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_NAT 9 64*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_XT 10 65*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_SKBEDIT 11 66*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_VLAN 12 67*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_BPF 13 68*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_CONNMARK 14 69*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_SKBMOD 15 70*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_CSUM 16 71*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_TUNNEL_KEY 17 72*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_SIMP 22 73*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_IFE 25 74*8d67ca89SAndroid Build Coastguard Worker #define TCA_ACT_SAMPLE 26 75*8d67ca89SAndroid Build Coastguard Worker enum tca_id { 76*8d67ca89SAndroid Build Coastguard Worker TCA_ID_UNSPEC = 0, 77*8d67ca89SAndroid Build Coastguard Worker TCA_ID_POLICE = 1, 78*8d67ca89SAndroid Build Coastguard Worker TCA_ID_GACT = TCA_ACT_GACT, 79*8d67ca89SAndroid Build Coastguard Worker TCA_ID_IPT = TCA_ACT_IPT, 80*8d67ca89SAndroid Build Coastguard Worker TCA_ID_PEDIT = TCA_ACT_PEDIT, 81*8d67ca89SAndroid Build Coastguard Worker TCA_ID_MIRRED = TCA_ACT_MIRRED, 82*8d67ca89SAndroid Build Coastguard Worker TCA_ID_NAT = TCA_ACT_NAT, 83*8d67ca89SAndroid Build Coastguard Worker TCA_ID_XT = TCA_ACT_XT, 84*8d67ca89SAndroid Build Coastguard Worker TCA_ID_SKBEDIT = TCA_ACT_SKBEDIT, 85*8d67ca89SAndroid Build Coastguard Worker TCA_ID_VLAN = TCA_ACT_VLAN, 86*8d67ca89SAndroid Build Coastguard Worker TCA_ID_BPF = TCA_ACT_BPF, 87*8d67ca89SAndroid Build Coastguard Worker TCA_ID_CONNMARK = TCA_ACT_CONNMARK, 88*8d67ca89SAndroid Build Coastguard Worker TCA_ID_SKBMOD = TCA_ACT_SKBMOD, 89*8d67ca89SAndroid Build Coastguard Worker TCA_ID_CSUM = TCA_ACT_CSUM, 90*8d67ca89SAndroid Build Coastguard Worker TCA_ID_TUNNEL_KEY = TCA_ACT_TUNNEL_KEY, 91*8d67ca89SAndroid Build Coastguard Worker TCA_ID_SIMP = TCA_ACT_SIMP, 92*8d67ca89SAndroid Build Coastguard Worker TCA_ID_IFE = TCA_ACT_IFE, 93*8d67ca89SAndroid Build Coastguard Worker TCA_ID_SAMPLE = TCA_ACT_SAMPLE, 94*8d67ca89SAndroid Build Coastguard Worker TCA_ID_CTINFO, 95*8d67ca89SAndroid Build Coastguard Worker TCA_ID_MPLS, 96*8d67ca89SAndroid Build Coastguard Worker TCA_ID_CT, 97*8d67ca89SAndroid Build Coastguard Worker TCA_ID_GATE, 98*8d67ca89SAndroid Build Coastguard Worker __TCA_ID_MAX = 255 99*8d67ca89SAndroid Build Coastguard Worker }; 100*8d67ca89SAndroid Build Coastguard Worker #define TCA_ID_MAX __TCA_ID_MAX 101*8d67ca89SAndroid Build Coastguard Worker struct tc_police { 102*8d67ca89SAndroid Build Coastguard Worker __u32 index; 103*8d67ca89SAndroid Build Coastguard Worker int action; 104*8d67ca89SAndroid Build Coastguard Worker #define TC_POLICE_UNSPEC TC_ACT_UNSPEC 105*8d67ca89SAndroid Build Coastguard Worker #define TC_POLICE_OK TC_ACT_OK 106*8d67ca89SAndroid Build Coastguard Worker #define TC_POLICE_RECLASSIFY TC_ACT_RECLASSIFY 107*8d67ca89SAndroid Build Coastguard Worker #define TC_POLICE_SHOT TC_ACT_SHOT 108*8d67ca89SAndroid Build Coastguard Worker #define TC_POLICE_PIPE TC_ACT_PIPE 109*8d67ca89SAndroid Build Coastguard Worker __u32 limit; 110*8d67ca89SAndroid Build Coastguard Worker __u32 burst; 111*8d67ca89SAndroid Build Coastguard Worker __u32 mtu; 112*8d67ca89SAndroid Build Coastguard Worker struct tc_ratespec rate; 113*8d67ca89SAndroid Build Coastguard Worker struct tc_ratespec peakrate; 114*8d67ca89SAndroid Build Coastguard Worker int refcnt; 115*8d67ca89SAndroid Build Coastguard Worker int bindcnt; 116*8d67ca89SAndroid Build Coastguard Worker __u32 capab; 117*8d67ca89SAndroid Build Coastguard Worker }; 118*8d67ca89SAndroid Build Coastguard Worker struct tcf_t { 119*8d67ca89SAndroid Build Coastguard Worker __u64 install; 120*8d67ca89SAndroid Build Coastguard Worker __u64 lastuse; 121*8d67ca89SAndroid Build Coastguard Worker __u64 expires; 122*8d67ca89SAndroid Build Coastguard Worker __u64 firstuse; 123*8d67ca89SAndroid Build Coastguard Worker }; 124*8d67ca89SAndroid Build Coastguard Worker struct tc_cnt { 125*8d67ca89SAndroid Build Coastguard Worker int refcnt; 126*8d67ca89SAndroid Build Coastguard Worker int bindcnt; 127*8d67ca89SAndroid Build Coastguard Worker }; 128*8d67ca89SAndroid Build Coastguard Worker #define tc_gen __u32 index; __u32 capab; int action; int refcnt; int bindcnt 129*8d67ca89SAndroid Build Coastguard Worker enum { 130*8d67ca89SAndroid Build Coastguard Worker TCA_POLICE_UNSPEC, 131*8d67ca89SAndroid Build Coastguard Worker TCA_POLICE_TBF, 132*8d67ca89SAndroid Build Coastguard Worker TCA_POLICE_RATE, 133*8d67ca89SAndroid Build Coastguard Worker TCA_POLICE_PEAKRATE, 134*8d67ca89SAndroid Build Coastguard Worker TCA_POLICE_AVRATE, 135*8d67ca89SAndroid Build Coastguard Worker TCA_POLICE_RESULT, 136*8d67ca89SAndroid Build Coastguard Worker TCA_POLICE_TM, 137*8d67ca89SAndroid Build Coastguard Worker TCA_POLICE_PAD, 138*8d67ca89SAndroid Build Coastguard Worker TCA_POLICE_RATE64, 139*8d67ca89SAndroid Build Coastguard Worker TCA_POLICE_PEAKRATE64, 140*8d67ca89SAndroid Build Coastguard Worker TCA_POLICE_PKTRATE64, 141*8d67ca89SAndroid Build Coastguard Worker TCA_POLICE_PKTBURST64, 142*8d67ca89SAndroid Build Coastguard Worker __TCA_POLICE_MAX 143*8d67ca89SAndroid Build Coastguard Worker #define TCA_POLICE_RESULT TCA_POLICE_RESULT 144*8d67ca89SAndroid Build Coastguard Worker }; 145*8d67ca89SAndroid Build Coastguard Worker #define TCA_POLICE_MAX (__TCA_POLICE_MAX - 1) 146*8d67ca89SAndroid Build Coastguard Worker #define TCA_CLS_FLAGS_SKIP_HW (1 << 0) 147*8d67ca89SAndroid Build Coastguard Worker #define TCA_CLS_FLAGS_SKIP_SW (1 << 1) 148*8d67ca89SAndroid Build Coastguard Worker #define TCA_CLS_FLAGS_IN_HW (1 << 2) 149*8d67ca89SAndroid Build Coastguard Worker #define TCA_CLS_FLAGS_NOT_IN_HW (1 << 3) 150*8d67ca89SAndroid Build Coastguard Worker #define TCA_CLS_FLAGS_VERBOSE (1 << 4) 151*8d67ca89SAndroid Build Coastguard Worker #define TC_U32_HTID(h) ((h) & 0xFFF00000) 152*8d67ca89SAndroid Build Coastguard Worker #define TC_U32_USERHTID(h) (TC_U32_HTID(h) >> 20) 153*8d67ca89SAndroid Build Coastguard Worker #define TC_U32_HASH(h) (((h) >> 12) & 0xFF) 154*8d67ca89SAndroid Build Coastguard Worker #define TC_U32_NODE(h) ((h) & 0xFFF) 155*8d67ca89SAndroid Build Coastguard Worker #define TC_U32_KEY(h) ((h) & 0xFFFFF) 156*8d67ca89SAndroid Build Coastguard Worker #define TC_U32_UNSPEC 0 157*8d67ca89SAndroid Build Coastguard Worker #define TC_U32_ROOT (0xFFF00000) 158*8d67ca89SAndroid Build Coastguard Worker enum { 159*8d67ca89SAndroid Build Coastguard Worker TCA_U32_UNSPEC, 160*8d67ca89SAndroid Build Coastguard Worker TCA_U32_CLASSID, 161*8d67ca89SAndroid Build Coastguard Worker TCA_U32_HASH, 162*8d67ca89SAndroid Build Coastguard Worker TCA_U32_LINK, 163*8d67ca89SAndroid Build Coastguard Worker TCA_U32_DIVISOR, 164*8d67ca89SAndroid Build Coastguard Worker TCA_U32_SEL, 165*8d67ca89SAndroid Build Coastguard Worker TCA_U32_POLICE, 166*8d67ca89SAndroid Build Coastguard Worker TCA_U32_ACT, 167*8d67ca89SAndroid Build Coastguard Worker TCA_U32_INDEV, 168*8d67ca89SAndroid Build Coastguard Worker TCA_U32_PCNT, 169*8d67ca89SAndroid Build Coastguard Worker TCA_U32_MARK, 170*8d67ca89SAndroid Build Coastguard Worker TCA_U32_FLAGS, 171*8d67ca89SAndroid Build Coastguard Worker TCA_U32_PAD, 172*8d67ca89SAndroid Build Coastguard Worker __TCA_U32_MAX 173*8d67ca89SAndroid Build Coastguard Worker }; 174*8d67ca89SAndroid Build Coastguard Worker #define TCA_U32_MAX (__TCA_U32_MAX - 1) 175*8d67ca89SAndroid Build Coastguard Worker struct tc_u32_key { 176*8d67ca89SAndroid Build Coastguard Worker __be32 mask; 177*8d67ca89SAndroid Build Coastguard Worker __be32 val; 178*8d67ca89SAndroid Build Coastguard Worker int off; 179*8d67ca89SAndroid Build Coastguard Worker int offmask; 180*8d67ca89SAndroid Build Coastguard Worker }; 181*8d67ca89SAndroid Build Coastguard Worker struct tc_u32_sel { 182*8d67ca89SAndroid Build Coastguard Worker unsigned char flags; 183*8d67ca89SAndroid Build Coastguard Worker unsigned char offshift; 184*8d67ca89SAndroid Build Coastguard Worker unsigned char nkeys; 185*8d67ca89SAndroid Build Coastguard Worker __be16 offmask; 186*8d67ca89SAndroid Build Coastguard Worker __u16 off; 187*8d67ca89SAndroid Build Coastguard Worker short offoff; 188*8d67ca89SAndroid Build Coastguard Worker short hoff; 189*8d67ca89SAndroid Build Coastguard Worker __be32 hmask; 190*8d67ca89SAndroid Build Coastguard Worker struct tc_u32_key keys[]; 191*8d67ca89SAndroid Build Coastguard Worker }; 192*8d67ca89SAndroid Build Coastguard Worker struct tc_u32_mark { 193*8d67ca89SAndroid Build Coastguard Worker __u32 val; 194*8d67ca89SAndroid Build Coastguard Worker __u32 mask; 195*8d67ca89SAndroid Build Coastguard Worker __u32 success; 196*8d67ca89SAndroid Build Coastguard Worker }; 197*8d67ca89SAndroid Build Coastguard Worker struct tc_u32_pcnt { 198*8d67ca89SAndroid Build Coastguard Worker __u64 rcnt; 199*8d67ca89SAndroid Build Coastguard Worker __u64 rhit; 200*8d67ca89SAndroid Build Coastguard Worker __u64 kcnts[]; 201*8d67ca89SAndroid Build Coastguard Worker }; 202*8d67ca89SAndroid Build Coastguard Worker #define TC_U32_TERMINAL 1 203*8d67ca89SAndroid Build Coastguard Worker #define TC_U32_OFFSET 2 204*8d67ca89SAndroid Build Coastguard Worker #define TC_U32_VAROFFSET 4 205*8d67ca89SAndroid Build Coastguard Worker #define TC_U32_EAT 8 206*8d67ca89SAndroid Build Coastguard Worker #define TC_U32_MAXDEPTH 8 207*8d67ca89SAndroid Build Coastguard Worker enum { 208*8d67ca89SAndroid Build Coastguard Worker TCA_ROUTE4_UNSPEC, 209*8d67ca89SAndroid Build Coastguard Worker TCA_ROUTE4_CLASSID, 210*8d67ca89SAndroid Build Coastguard Worker TCA_ROUTE4_TO, 211*8d67ca89SAndroid Build Coastguard Worker TCA_ROUTE4_FROM, 212*8d67ca89SAndroid Build Coastguard Worker TCA_ROUTE4_IIF, 213*8d67ca89SAndroid Build Coastguard Worker TCA_ROUTE4_POLICE, 214*8d67ca89SAndroid Build Coastguard Worker TCA_ROUTE4_ACT, 215*8d67ca89SAndroid Build Coastguard Worker __TCA_ROUTE4_MAX 216*8d67ca89SAndroid Build Coastguard Worker }; 217*8d67ca89SAndroid Build Coastguard Worker #define TCA_ROUTE4_MAX (__TCA_ROUTE4_MAX - 1) 218*8d67ca89SAndroid Build Coastguard Worker enum { 219*8d67ca89SAndroid Build Coastguard Worker TCA_FW_UNSPEC, 220*8d67ca89SAndroid Build Coastguard Worker TCA_FW_CLASSID, 221*8d67ca89SAndroid Build Coastguard Worker TCA_FW_POLICE, 222*8d67ca89SAndroid Build Coastguard Worker TCA_FW_INDEV, 223*8d67ca89SAndroid Build Coastguard Worker TCA_FW_ACT, 224*8d67ca89SAndroid Build Coastguard Worker TCA_FW_MASK, 225*8d67ca89SAndroid Build Coastguard Worker __TCA_FW_MAX 226*8d67ca89SAndroid Build Coastguard Worker }; 227*8d67ca89SAndroid Build Coastguard Worker #define TCA_FW_MAX (__TCA_FW_MAX - 1) 228*8d67ca89SAndroid Build Coastguard Worker enum { 229*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_SRC, 230*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_DST, 231*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_PROTO, 232*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_PROTO_SRC, 233*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_PROTO_DST, 234*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_IIF, 235*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_PRIORITY, 236*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_MARK, 237*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_NFCT, 238*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_NFCT_SRC, 239*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_NFCT_DST, 240*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_NFCT_PROTO_SRC, 241*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_NFCT_PROTO_DST, 242*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_RTCLASSID, 243*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_SKUID, 244*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_SKGID, 245*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_VLAN_TAG, 246*8d67ca89SAndroid Build Coastguard Worker FLOW_KEY_RXHASH, 247*8d67ca89SAndroid Build Coastguard Worker __FLOW_KEY_MAX, 248*8d67ca89SAndroid Build Coastguard Worker }; 249*8d67ca89SAndroid Build Coastguard Worker #define FLOW_KEY_MAX (__FLOW_KEY_MAX - 1) 250*8d67ca89SAndroid Build Coastguard Worker enum { 251*8d67ca89SAndroid Build Coastguard Worker FLOW_MODE_MAP, 252*8d67ca89SAndroid Build Coastguard Worker FLOW_MODE_HASH, 253*8d67ca89SAndroid Build Coastguard Worker }; 254*8d67ca89SAndroid Build Coastguard Worker enum { 255*8d67ca89SAndroid Build Coastguard Worker TCA_FLOW_UNSPEC, 256*8d67ca89SAndroid Build Coastguard Worker TCA_FLOW_KEYS, 257*8d67ca89SAndroid Build Coastguard Worker TCA_FLOW_MODE, 258*8d67ca89SAndroid Build Coastguard Worker TCA_FLOW_BASECLASS, 259*8d67ca89SAndroid Build Coastguard Worker TCA_FLOW_RSHIFT, 260*8d67ca89SAndroid Build Coastguard Worker TCA_FLOW_ADDEND, 261*8d67ca89SAndroid Build Coastguard Worker TCA_FLOW_MASK, 262*8d67ca89SAndroid Build Coastguard Worker TCA_FLOW_XOR, 263*8d67ca89SAndroid Build Coastguard Worker TCA_FLOW_DIVISOR, 264*8d67ca89SAndroid Build Coastguard Worker TCA_FLOW_ACT, 265*8d67ca89SAndroid Build Coastguard Worker TCA_FLOW_POLICE, 266*8d67ca89SAndroid Build Coastguard Worker TCA_FLOW_EMATCHES, 267*8d67ca89SAndroid Build Coastguard Worker TCA_FLOW_PERTURB, 268*8d67ca89SAndroid Build Coastguard Worker __TCA_FLOW_MAX 269*8d67ca89SAndroid Build Coastguard Worker }; 270*8d67ca89SAndroid Build Coastguard Worker #define TCA_FLOW_MAX (__TCA_FLOW_MAX - 1) 271*8d67ca89SAndroid Build Coastguard Worker struct tc_basic_pcnt { 272*8d67ca89SAndroid Build Coastguard Worker __u64 rcnt; 273*8d67ca89SAndroid Build Coastguard Worker __u64 rhit; 274*8d67ca89SAndroid Build Coastguard Worker }; 275*8d67ca89SAndroid Build Coastguard Worker enum { 276*8d67ca89SAndroid Build Coastguard Worker TCA_BASIC_UNSPEC, 277*8d67ca89SAndroid Build Coastguard Worker TCA_BASIC_CLASSID, 278*8d67ca89SAndroid Build Coastguard Worker TCA_BASIC_EMATCHES, 279*8d67ca89SAndroid Build Coastguard Worker TCA_BASIC_ACT, 280*8d67ca89SAndroid Build Coastguard Worker TCA_BASIC_POLICE, 281*8d67ca89SAndroid Build Coastguard Worker TCA_BASIC_PCNT, 282*8d67ca89SAndroid Build Coastguard Worker TCA_BASIC_PAD, 283*8d67ca89SAndroid Build Coastguard Worker __TCA_BASIC_MAX 284*8d67ca89SAndroid Build Coastguard Worker }; 285*8d67ca89SAndroid Build Coastguard Worker #define TCA_BASIC_MAX (__TCA_BASIC_MAX - 1) 286*8d67ca89SAndroid Build Coastguard Worker enum { 287*8d67ca89SAndroid Build Coastguard Worker TCA_CGROUP_UNSPEC, 288*8d67ca89SAndroid Build Coastguard Worker TCA_CGROUP_ACT, 289*8d67ca89SAndroid Build Coastguard Worker TCA_CGROUP_POLICE, 290*8d67ca89SAndroid Build Coastguard Worker TCA_CGROUP_EMATCHES, 291*8d67ca89SAndroid Build Coastguard Worker __TCA_CGROUP_MAX, 292*8d67ca89SAndroid Build Coastguard Worker }; 293*8d67ca89SAndroid Build Coastguard Worker #define TCA_CGROUP_MAX (__TCA_CGROUP_MAX - 1) 294*8d67ca89SAndroid Build Coastguard Worker #define TCA_BPF_FLAG_ACT_DIRECT (1 << 0) 295*8d67ca89SAndroid Build Coastguard Worker enum { 296*8d67ca89SAndroid Build Coastguard Worker TCA_BPF_UNSPEC, 297*8d67ca89SAndroid Build Coastguard Worker TCA_BPF_ACT, 298*8d67ca89SAndroid Build Coastguard Worker TCA_BPF_POLICE, 299*8d67ca89SAndroid Build Coastguard Worker TCA_BPF_CLASSID, 300*8d67ca89SAndroid Build Coastguard Worker TCA_BPF_OPS_LEN, 301*8d67ca89SAndroid Build Coastguard Worker TCA_BPF_OPS, 302*8d67ca89SAndroid Build Coastguard Worker TCA_BPF_FD, 303*8d67ca89SAndroid Build Coastguard Worker TCA_BPF_NAME, 304*8d67ca89SAndroid Build Coastguard Worker TCA_BPF_FLAGS, 305*8d67ca89SAndroid Build Coastguard Worker TCA_BPF_FLAGS_GEN, 306*8d67ca89SAndroid Build Coastguard Worker TCA_BPF_TAG, 307*8d67ca89SAndroid Build Coastguard Worker TCA_BPF_ID, 308*8d67ca89SAndroid Build Coastguard Worker __TCA_BPF_MAX, 309*8d67ca89SAndroid Build Coastguard Worker }; 310*8d67ca89SAndroid Build Coastguard Worker #define TCA_BPF_MAX (__TCA_BPF_MAX - 1) 311*8d67ca89SAndroid Build Coastguard Worker enum { 312*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_UNSPEC, 313*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_CLASSID, 314*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_INDEV, 315*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_ACT, 316*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ETH_DST, 317*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ETH_DST_MASK, 318*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ETH_SRC, 319*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ETH_SRC_MASK, 320*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ETH_TYPE, 321*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_IP_PROTO, 322*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_IPV4_SRC, 323*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_IPV4_SRC_MASK, 324*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_IPV4_DST, 325*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_IPV4_DST_MASK, 326*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_IPV6_SRC, 327*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_IPV6_SRC_MASK, 328*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_IPV6_DST, 329*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_IPV6_DST_MASK, 330*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_TCP_SRC, 331*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_TCP_DST, 332*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_UDP_SRC, 333*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_UDP_DST, 334*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_FLAGS, 335*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_VLAN_ID, 336*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_VLAN_PRIO, 337*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_VLAN_ETH_TYPE, 338*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_KEY_ID, 339*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_IPV4_SRC, 340*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_IPV4_SRC_MASK, 341*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_IPV4_DST, 342*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_IPV4_DST_MASK, 343*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_IPV6_SRC, 344*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_IPV6_SRC_MASK, 345*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_IPV6_DST, 346*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_IPV6_DST_MASK, 347*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_TCP_SRC_MASK, 348*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_TCP_DST_MASK, 349*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_UDP_SRC_MASK, 350*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_UDP_DST_MASK, 351*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_SCTP_SRC_MASK, 352*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_SCTP_DST_MASK, 353*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_SCTP_SRC, 354*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_SCTP_DST, 355*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_UDP_SRC_PORT, 356*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_UDP_SRC_PORT_MASK, 357*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_UDP_DST_PORT, 358*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK, 359*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_FLAGS, 360*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_FLAGS_MASK, 361*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ICMPV4_CODE, 362*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ICMPV4_CODE_MASK, 363*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ICMPV4_TYPE, 364*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ICMPV4_TYPE_MASK, 365*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ICMPV6_CODE, 366*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ICMPV6_CODE_MASK, 367*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ICMPV6_TYPE, 368*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ICMPV6_TYPE_MASK, 369*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ARP_SIP, 370*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ARP_SIP_MASK, 371*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ARP_TIP, 372*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ARP_TIP_MASK, 373*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ARP_OP, 374*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ARP_OP_MASK, 375*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ARP_SHA, 376*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ARP_SHA_MASK, 377*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ARP_THA, 378*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ARP_THA_MASK, 379*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_MPLS_TTL, 380*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_MPLS_BOS, 381*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_MPLS_TC, 382*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_MPLS_LABEL, 383*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_TCP_FLAGS, 384*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_TCP_FLAGS_MASK, 385*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_IP_TOS, 386*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_IP_TOS_MASK, 387*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_IP_TTL, 388*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_IP_TTL_MASK, 389*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CVLAN_ID, 390*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CVLAN_PRIO, 391*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CVLAN_ETH_TYPE, 392*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_IP_TOS, 393*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_IP_TOS_MASK, 394*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_IP_TTL, 395*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_IP_TTL_MASK, 396*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPTS, 397*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPTS_MASK, 398*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_IN_HW_COUNT, 399*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_PORT_SRC_MIN, 400*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_PORT_SRC_MAX, 401*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_PORT_DST_MIN, 402*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_PORT_DST_MAX, 403*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_STATE, 404*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_STATE_MASK, 405*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_ZONE, 406*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_ZONE_MASK, 407*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_MARK, 408*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_MARK_MASK, 409*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_LABELS, 410*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_LABELS_MASK, 411*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_MPLS_OPTS, 412*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_HASH, 413*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_HASH_MASK, 414*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_NUM_OF_VLANS, 415*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_PPPOE_SID, 416*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_PPP_PROTO, 417*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_L2TPV3_SID, 418*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_L2_MISS, 419*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CFM, 420*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_SPI, 421*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_SPI_MASK, 422*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_FLAGS, 423*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_FLAGS_MASK, 424*8d67ca89SAndroid Build Coastguard Worker __TCA_FLOWER_MAX, 425*8d67ca89SAndroid Build Coastguard Worker }; 426*8d67ca89SAndroid Build Coastguard Worker #define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1) 427*8d67ca89SAndroid Build Coastguard Worker enum { 428*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_FLAGS_NEW = 1 << 0, 429*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_FLAGS_ESTABLISHED = 1 << 1, 430*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_FLAGS_RELATED = 1 << 2, 431*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_FLAGS_TRACKED = 1 << 3, 432*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_FLAGS_INVALID = 1 << 4, 433*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CT_FLAGS_REPLY = 1 << 5, 434*8d67ca89SAndroid Build Coastguard Worker __TCA_FLOWER_KEY_CT_FLAGS_MAX, 435*8d67ca89SAndroid Build Coastguard Worker }; 436*8d67ca89SAndroid Build Coastguard Worker enum { 437*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPTS_UNSPEC, 438*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPTS_GENEVE, 439*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPTS_VXLAN, 440*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPTS_ERSPAN, 441*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPTS_GTP, 442*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPTS_PFCP, 443*8d67ca89SAndroid Build Coastguard Worker __TCA_FLOWER_KEY_ENC_OPTS_MAX, 444*8d67ca89SAndroid Build Coastguard Worker }; 445*8d67ca89SAndroid Build Coastguard Worker #define TCA_FLOWER_KEY_ENC_OPTS_MAX (__TCA_FLOWER_KEY_ENC_OPTS_MAX - 1) 446*8d67ca89SAndroid Build Coastguard Worker enum { 447*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_GENEVE_UNSPEC, 448*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_GENEVE_CLASS, 449*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_GENEVE_TYPE, 450*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA, 451*8d67ca89SAndroid Build Coastguard Worker __TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX, 452*8d67ca89SAndroid Build Coastguard Worker }; 453*8d67ca89SAndroid Build Coastguard Worker #define TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX (__TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX - 1) 454*8d67ca89SAndroid Build Coastguard Worker enum { 455*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_VXLAN_UNSPEC, 456*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_VXLAN_GBP, 457*8d67ca89SAndroid Build Coastguard Worker __TCA_FLOWER_KEY_ENC_OPT_VXLAN_MAX, 458*8d67ca89SAndroid Build Coastguard Worker }; 459*8d67ca89SAndroid Build Coastguard Worker #define TCA_FLOWER_KEY_ENC_OPT_VXLAN_MAX (__TCA_FLOWER_KEY_ENC_OPT_VXLAN_MAX - 1) 460*8d67ca89SAndroid Build Coastguard Worker enum { 461*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_ERSPAN_UNSPEC, 462*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_ERSPAN_VER, 463*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_ERSPAN_INDEX, 464*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_ERSPAN_DIR, 465*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_ERSPAN_HWID, 466*8d67ca89SAndroid Build Coastguard Worker __TCA_FLOWER_KEY_ENC_OPT_ERSPAN_MAX, 467*8d67ca89SAndroid Build Coastguard Worker }; 468*8d67ca89SAndroid Build Coastguard Worker #define TCA_FLOWER_KEY_ENC_OPT_ERSPAN_MAX (__TCA_FLOWER_KEY_ENC_OPT_ERSPAN_MAX - 1) 469*8d67ca89SAndroid Build Coastguard Worker enum { 470*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_GTP_UNSPEC, 471*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_GTP_PDU_TYPE, 472*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_GTP_QFI, 473*8d67ca89SAndroid Build Coastguard Worker __TCA_FLOWER_KEY_ENC_OPT_GTP_MAX, 474*8d67ca89SAndroid Build Coastguard Worker }; 475*8d67ca89SAndroid Build Coastguard Worker #define TCA_FLOWER_KEY_ENC_OPT_GTP_MAX (__TCA_FLOWER_KEY_ENC_OPT_GTP_MAX - 1) 476*8d67ca89SAndroid Build Coastguard Worker enum { 477*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_PFCP_UNSPEC, 478*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_PFCP_TYPE, 479*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_ENC_OPT_PFCP_SEID, 480*8d67ca89SAndroid Build Coastguard Worker __TCA_FLOWER_KEY_ENC_OPT_PFCP_MAX, 481*8d67ca89SAndroid Build Coastguard Worker }; 482*8d67ca89SAndroid Build Coastguard Worker #define TCA_FLOWER_KEY_ENC_OPT_PFCP_MAX (__TCA_FLOWER_KEY_ENC_OPT_PFCP_MAX - 1) 483*8d67ca89SAndroid Build Coastguard Worker enum { 484*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_MPLS_OPTS_UNSPEC, 485*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_MPLS_OPTS_LSE, 486*8d67ca89SAndroid Build Coastguard Worker __TCA_FLOWER_KEY_MPLS_OPTS_MAX, 487*8d67ca89SAndroid Build Coastguard Worker }; 488*8d67ca89SAndroid Build Coastguard Worker #define TCA_FLOWER_KEY_MPLS_OPTS_MAX (__TCA_FLOWER_KEY_MPLS_OPTS_MAX - 1) 489*8d67ca89SAndroid Build Coastguard Worker enum { 490*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_MPLS_OPT_LSE_UNSPEC, 491*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_MPLS_OPT_LSE_DEPTH, 492*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_MPLS_OPT_LSE_TTL, 493*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_MPLS_OPT_LSE_BOS, 494*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_MPLS_OPT_LSE_TC, 495*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_MPLS_OPT_LSE_LABEL, 496*8d67ca89SAndroid Build Coastguard Worker __TCA_FLOWER_KEY_MPLS_OPT_LSE_MAX, 497*8d67ca89SAndroid Build Coastguard Worker }; 498*8d67ca89SAndroid Build Coastguard Worker #define TCA_FLOWER_KEY_MPLS_OPT_LSE_MAX (__TCA_FLOWER_KEY_MPLS_OPT_LSE_MAX - 1) 499*8d67ca89SAndroid Build Coastguard Worker enum { 500*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = (1 << 0), 501*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = (1 << 1), 502*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_FLAGS_TUNNEL_CSUM = (1 << 2), 503*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_FLAGS_TUNNEL_DONT_FRAGMENT = (1 << 3), 504*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_FLAGS_TUNNEL_OAM = (1 << 4), 505*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_FLAGS_TUNNEL_CRIT_OPT = (1 << 5), 506*8d67ca89SAndroid Build Coastguard Worker __TCA_FLOWER_KEY_FLAGS_MAX, 507*8d67ca89SAndroid Build Coastguard Worker }; 508*8d67ca89SAndroid Build Coastguard Worker #define TCA_FLOWER_KEY_FLAGS_MAX (__TCA_FLOWER_KEY_FLAGS_MAX - 1) 509*8d67ca89SAndroid Build Coastguard Worker enum { 510*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CFM_OPT_UNSPEC, 511*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CFM_MD_LEVEL, 512*8d67ca89SAndroid Build Coastguard Worker TCA_FLOWER_KEY_CFM_OPCODE, 513*8d67ca89SAndroid Build Coastguard Worker __TCA_FLOWER_KEY_CFM_OPT_MAX, 514*8d67ca89SAndroid Build Coastguard Worker }; 515*8d67ca89SAndroid Build Coastguard Worker #define TCA_FLOWER_KEY_CFM_OPT_MAX (__TCA_FLOWER_KEY_CFM_OPT_MAX - 1) 516*8d67ca89SAndroid Build Coastguard Worker #define TCA_FLOWER_MASK_FLAGS_RANGE (1 << 0) 517*8d67ca89SAndroid Build Coastguard Worker struct tc_matchall_pcnt { 518*8d67ca89SAndroid Build Coastguard Worker __u64 rhit; 519*8d67ca89SAndroid Build Coastguard Worker }; 520*8d67ca89SAndroid Build Coastguard Worker enum { 521*8d67ca89SAndroid Build Coastguard Worker TCA_MATCHALL_UNSPEC, 522*8d67ca89SAndroid Build Coastguard Worker TCA_MATCHALL_CLASSID, 523*8d67ca89SAndroid Build Coastguard Worker TCA_MATCHALL_ACT, 524*8d67ca89SAndroid Build Coastguard Worker TCA_MATCHALL_FLAGS, 525*8d67ca89SAndroid Build Coastguard Worker TCA_MATCHALL_PCNT, 526*8d67ca89SAndroid Build Coastguard Worker TCA_MATCHALL_PAD, 527*8d67ca89SAndroid Build Coastguard Worker __TCA_MATCHALL_MAX, 528*8d67ca89SAndroid Build Coastguard Worker }; 529*8d67ca89SAndroid Build Coastguard Worker #define TCA_MATCHALL_MAX (__TCA_MATCHALL_MAX - 1) 530*8d67ca89SAndroid Build Coastguard Worker struct tcf_ematch_tree_hdr { 531*8d67ca89SAndroid Build Coastguard Worker __u16 nmatches; 532*8d67ca89SAndroid Build Coastguard Worker __u16 progid; 533*8d67ca89SAndroid Build Coastguard Worker }; 534*8d67ca89SAndroid Build Coastguard Worker enum { 535*8d67ca89SAndroid Build Coastguard Worker TCA_EMATCH_TREE_UNSPEC, 536*8d67ca89SAndroid Build Coastguard Worker TCA_EMATCH_TREE_HDR, 537*8d67ca89SAndroid Build Coastguard Worker TCA_EMATCH_TREE_LIST, 538*8d67ca89SAndroid Build Coastguard Worker __TCA_EMATCH_TREE_MAX 539*8d67ca89SAndroid Build Coastguard Worker }; 540*8d67ca89SAndroid Build Coastguard Worker #define TCA_EMATCH_TREE_MAX (__TCA_EMATCH_TREE_MAX - 1) 541*8d67ca89SAndroid Build Coastguard Worker struct tcf_ematch_hdr { 542*8d67ca89SAndroid Build Coastguard Worker __u16 matchid; 543*8d67ca89SAndroid Build Coastguard Worker __u16 kind; 544*8d67ca89SAndroid Build Coastguard Worker __u16 flags; 545*8d67ca89SAndroid Build Coastguard Worker __u16 pad; 546*8d67ca89SAndroid Build Coastguard Worker }; 547*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_REL_END 0 548*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_REL_AND (1 << 0) 549*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_REL_OR (1 << 1) 550*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_INVERT (1 << 2) 551*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_SIMPLE (1 << 3) 552*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_REL_MASK 3 553*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_REL_VALID(v) (((v) & TCF_EM_REL_MASK) != TCF_EM_REL_MASK) 554*8d67ca89SAndroid Build Coastguard Worker enum { 555*8d67ca89SAndroid Build Coastguard Worker TCF_LAYER_LINK, 556*8d67ca89SAndroid Build Coastguard Worker TCF_LAYER_NETWORK, 557*8d67ca89SAndroid Build Coastguard Worker TCF_LAYER_TRANSPORT, 558*8d67ca89SAndroid Build Coastguard Worker __TCF_LAYER_MAX 559*8d67ca89SAndroid Build Coastguard Worker }; 560*8d67ca89SAndroid Build Coastguard Worker #define TCF_LAYER_MAX (__TCF_LAYER_MAX - 1) 561*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_CONTAINER 0 562*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_CMP 1 563*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_NBYTE 2 564*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_U32 3 565*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_META 4 566*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_TEXT 5 567*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_VLAN 6 568*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_CANID 7 569*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_IPSET 8 570*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_IPT 9 571*8d67ca89SAndroid Build Coastguard Worker #define TCF_EM_MAX 9 572*8d67ca89SAndroid Build Coastguard Worker enum { 573*8d67ca89SAndroid Build Coastguard Worker TCF_EM_PROG_TC 574*8d67ca89SAndroid Build Coastguard Worker }; 575*8d67ca89SAndroid Build Coastguard Worker enum { 576*8d67ca89SAndroid Build Coastguard Worker TCF_EM_OPND_EQ, 577*8d67ca89SAndroid Build Coastguard Worker TCF_EM_OPND_GT, 578*8d67ca89SAndroid Build Coastguard Worker TCF_EM_OPND_LT 579*8d67ca89SAndroid Build Coastguard Worker }; 580*8d67ca89SAndroid Build Coastguard Worker #endif 581