1951a39d68df598db08dfced8b4707755864a0492Ying Wang/**************************************************************************** 2951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 3951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 4951a39d68df598db08dfced8b4707755864a0492Ying Wang *** This header was automatically generated from a Linux kernel header 5951a39d68df598db08dfced8b4707755864a0492Ying Wang *** of the same name, to make information necessary for userspace to 6951a39d68df598db08dfced8b4707755864a0492Ying Wang *** call into the kernel available to libc. It contains only constants, 7951a39d68df598db08dfced8b4707755864a0492Ying Wang *** structures, and macros generated from the original header, and thus, 8951a39d68df598db08dfced8b4707755864a0492Ying Wang *** contains no copyrightable information. 9951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 10951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/ 12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef __LINUX_PKT_CLS_H 13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define __LINUX_PKT_CLS_H 14951a39d68df598db08dfced8b4707755864a0492Ying Wang 15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/pkt_sched.h> 16951a39d68df598db08dfced8b4707755864a0492Ying Wang 17951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _TC_MAKE32(x) ((x)) 18951a39d68df598db08dfced8b4707755864a0492Ying Wang 19951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _TC_MAKEMASK1(n) (_TC_MAKE32(1) << _TC_MAKE32(n)) 20951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _TC_MAKEMASK(v,n) (_TC_MAKE32((_TC_MAKE32(1)<<(v))-1) << _TC_MAKE32(n)) 21951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _TC_MAKEVALUE(v,n) (_TC_MAKE32(v) << _TC_MAKE32(n)) 22951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _TC_GETVALUE(v,n,m) ((_TC_MAKE32(v) & _TC_MAKE32(m)) >> _TC_MAKE32(n)) 23951a39d68df598db08dfced8b4707755864a0492Ying Wang 24951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_MUNGED _TC_MAKEMASK1(0) 25951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SET_TC_MUNGED(v) ( TC_MUNGED | (v & ~TC_MUNGED)) 26951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CLR_TC_MUNGED(v) ( v & ~TC_MUNGED) 27951a39d68df598db08dfced8b4707755864a0492Ying Wang 28951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_OK2MUNGE _TC_MAKEMASK1(1) 29951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SET_TC_OK2MUNGE(v) ( TC_OK2MUNGE | (v & ~TC_OK2MUNGE)) 30951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CLR_TC_OK2MUNGE(v) ( v & ~TC_OK2MUNGE) 31951a39d68df598db08dfced8b4707755864a0492Ying Wang 32951a39d68df598db08dfced8b4707755864a0492Ying Wang#define S_TC_VERD _TC_MAKE32(2) 33951a39d68df598db08dfced8b4707755864a0492Ying Wang#define M_TC_VERD _TC_MAKEMASK(4,S_TC_VERD) 34951a39d68df598db08dfced8b4707755864a0492Ying Wang#define G_TC_VERD(x) _TC_GETVALUE(x,S_TC_VERD,M_TC_VERD) 35951a39d68df598db08dfced8b4707755864a0492Ying Wang#define V_TC_VERD(x) _TC_MAKEVALUE(x,S_TC_VERD) 36951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SET_TC_VERD(v,n) ((V_TC_VERD(n)) | (v & ~M_TC_VERD)) 37951a39d68df598db08dfced8b4707755864a0492Ying Wang 38951a39d68df598db08dfced8b4707755864a0492Ying Wang#define S_TC_FROM _TC_MAKE32(6) 39951a39d68df598db08dfced8b4707755864a0492Ying Wang#define M_TC_FROM _TC_MAKEMASK(2,S_TC_FROM) 40951a39d68df598db08dfced8b4707755864a0492Ying Wang#define G_TC_FROM(x) _TC_GETVALUE(x,S_TC_FROM,M_TC_FROM) 41951a39d68df598db08dfced8b4707755864a0492Ying Wang#define V_TC_FROM(x) _TC_MAKEVALUE(x,S_TC_FROM) 42951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SET_TC_FROM(v,n) ((V_TC_FROM(n)) | (v & ~M_TC_FROM)) 43951a39d68df598db08dfced8b4707755864a0492Ying Wang#define AT_STACK 0x0 44951a39d68df598db08dfced8b4707755864a0492Ying Wang#define AT_INGRESS 0x1 45951a39d68df598db08dfced8b4707755864a0492Ying Wang#define AT_EGRESS 0x2 46951a39d68df598db08dfced8b4707755864a0492Ying Wang 47951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_NCLS _TC_MAKEMASK1(8) 48951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SET_TC_NCLS(v) ( TC_NCLS | (v & ~TC_NCLS)) 49951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CLR_TC_NCLS(v) ( v & ~TC_NCLS) 50951a39d68df598db08dfced8b4707755864a0492Ying Wang 51951a39d68df598db08dfced8b4707755864a0492Ying Wang#define S_TC_RTTL _TC_MAKE32(9) 52951a39d68df598db08dfced8b4707755864a0492Ying Wang#define M_TC_RTTL _TC_MAKEMASK(3,S_TC_RTTL) 53951a39d68df598db08dfced8b4707755864a0492Ying Wang#define G_TC_RTTL(x) _TC_GETVALUE(x,S_TC_RTTL,M_TC_RTTL) 54951a39d68df598db08dfced8b4707755864a0492Ying Wang#define V_TC_RTTL(x) _TC_MAKEVALUE(x,S_TC_RTTL) 55951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SET_TC_RTTL(v,n) ((V_TC_RTTL(n)) | (v & ~M_TC_RTTL)) 56951a39d68df598db08dfced8b4707755864a0492Ying Wang 57951a39d68df598db08dfced8b4707755864a0492Ying Wang#define S_TC_AT _TC_MAKE32(12) 58951a39d68df598db08dfced8b4707755864a0492Ying Wang#define M_TC_AT _TC_MAKEMASK(2,S_TC_AT) 59951a39d68df598db08dfced8b4707755864a0492Ying Wang#define G_TC_AT(x) _TC_GETVALUE(x,S_TC_AT,M_TC_AT) 60951a39d68df598db08dfced8b4707755864a0492Ying Wang#define V_TC_AT(x) _TC_MAKEVALUE(x,S_TC_AT) 61951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SET_TC_AT(v,n) ((V_TC_AT(n)) | (v & ~M_TC_AT)) 62951a39d68df598db08dfced8b4707755864a0492Ying Wang 63951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 64951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 65951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ACT_UNSPEC, 66951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ACT_KIND, 67951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ACT_OPTIONS, 68951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ACT_INDEX, 69951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ACT_STATS, 70951a39d68df598db08dfced8b4707755864a0492Ying Wang __TCA_ACT_MAX 71951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 72951a39d68df598db08dfced8b4707755864a0492Ying Wang 73951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_ACT_MAX __TCA_ACT_MAX 74951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_OLD_COMPAT (TCA_ACT_MAX+1) 75951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_ACT_MAX_PRIO 32 76951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_ACT_BIND 1 77951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_ACT_NOBIND 0 78951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_ACT_UNBIND 1 79951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_ACT_NOUNBIND 0 80951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_ACT_REPLACE 1 81951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_ACT_NOREPLACE 0 82951a39d68df598db08dfced8b4707755864a0492Ying Wang#define MAX_REC_LOOP 4 83951a39d68df598db08dfced8b4707755864a0492Ying Wang#define MAX_RED_LOOP 4 84951a39d68df598db08dfced8b4707755864a0492Ying Wang 85951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_ACT_UNSPEC (-1) 86951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_ACT_OK 0 87951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_ACT_RECLASSIFY 1 88951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_ACT_SHOT 2 89951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_ACT_PIPE 3 90951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_ACT_STOLEN 4 91951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_ACT_QUEUED 5 92951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_ACT_REPEAT 6 93951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_ACT_JUMP 0x10000000 94951a39d68df598db08dfced8b4707755864a0492Ying Wang 95951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 96951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 97951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ID_UNSPEC=0, 98951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ID_POLICE=1, 99951a39d68df598db08dfced8b4707755864a0492Ying Wang 100951a39d68df598db08dfced8b4707755864a0492Ying Wang __TCA_ID_MAX=255 101951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 102951a39d68df598db08dfced8b4707755864a0492Ying Wang 103951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_ID_MAX __TCA_ID_MAX 104951a39d68df598db08dfced8b4707755864a0492Ying Wang 105951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct tc_police 106951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 107951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 index; 108951a39d68df598db08dfced8b4707755864a0492Ying Wang int action; 109951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_POLICE_UNSPEC TC_ACT_UNSPEC 110951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_POLICE_OK TC_ACT_OK 111951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_POLICE_RECLASSIFY TC_ACT_RECLASSIFY 112951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_POLICE_SHOT TC_ACT_SHOT 113951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_POLICE_PIPE TC_ACT_PIPE 114951a39d68df598db08dfced8b4707755864a0492Ying Wang 115951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 limit; 116951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 burst; 117951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 mtu; 118951a39d68df598db08dfced8b4707755864a0492Ying Wang struct tc_ratespec rate; 119951a39d68df598db08dfced8b4707755864a0492Ying Wang struct tc_ratespec peakrate; 120951a39d68df598db08dfced8b4707755864a0492Ying Wang int refcnt; 121951a39d68df598db08dfced8b4707755864a0492Ying Wang int bindcnt; 122951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 capab; 123951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 124951a39d68df598db08dfced8b4707755864a0492Ying Wang 125951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct tcf_t 126951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 127951a39d68df598db08dfced8b4707755864a0492Ying Wang __u64 install; 128951a39d68df598db08dfced8b4707755864a0492Ying Wang __u64 lastuse; 129951a39d68df598db08dfced8b4707755864a0492Ying Wang __u64 expires; 130951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 131951a39d68df598db08dfced8b4707755864a0492Ying Wang 132951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct tc_cnt 133951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 134951a39d68df598db08dfced8b4707755864a0492Ying Wang int refcnt; 135951a39d68df598db08dfced8b4707755864a0492Ying Wang int bindcnt; 136951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 137951a39d68df598db08dfced8b4707755864a0492Ying Wang 138951a39d68df598db08dfced8b4707755864a0492Ying Wang#define tc_gen __u32 index; __u32 capab; int action; int refcnt; int bindcnt 139951a39d68df598db08dfced8b4707755864a0492Ying Wang 140951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 141951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 142951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_POLICE_UNSPEC, 143951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_POLICE_TBF, 144951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_POLICE_RATE, 145951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_POLICE_PEAKRATE, 146951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_POLICE_AVRATE, 147951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_POLICE_RESULT, 148951a39d68df598db08dfced8b4707755864a0492Ying Wang __TCA_POLICE_MAX 149951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_POLICE_RESULT TCA_POLICE_RESULT 150951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 151951a39d68df598db08dfced8b4707755864a0492Ying Wang 152951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_POLICE_MAX (__TCA_POLICE_MAX - 1) 153951a39d68df598db08dfced8b4707755864a0492Ying Wang 154951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_U32_HTID(h) ((h)&0xFFF00000) 155951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_U32_USERHTID(h) (TC_U32_HTID(h)>>20) 156951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_U32_HASH(h) (((h)>>12)&0xFF) 157951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_U32_NODE(h) ((h)&0xFFF) 158951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_U32_KEY(h) ((h)&0xFFFFF) 159951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_U32_UNSPEC 0 160951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_U32_ROOT (0xFFF00000) 161951a39d68df598db08dfced8b4707755864a0492Ying Wang 162951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 163951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 164951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_U32_UNSPEC, 165951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_U32_CLASSID, 166951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_U32_HASH, 167951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_U32_LINK, 168951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_U32_DIVISOR, 169951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_U32_SEL, 170951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_U32_POLICE, 171951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_U32_ACT, 172951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_U32_INDEV, 173951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_U32_PCNT, 174951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_U32_MARK, 175951a39d68df598db08dfced8b4707755864a0492Ying Wang __TCA_U32_MAX 176951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 177951a39d68df598db08dfced8b4707755864a0492Ying Wang 178951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_U32_MAX (__TCA_U32_MAX - 1) 179951a39d68df598db08dfced8b4707755864a0492Ying Wang 180951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct tc_u32_key 181951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 182951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 mask; 183951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 val; 184951a39d68df598db08dfced8b4707755864a0492Ying Wang int off; 185951a39d68df598db08dfced8b4707755864a0492Ying Wang int offmask; 186951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 187951a39d68df598db08dfced8b4707755864a0492Ying Wang 188951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct tc_u32_sel 189951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 190951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char flags; 191951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char offshift; 192951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char nkeys; 193951a39d68df598db08dfced8b4707755864a0492Ying Wang 194951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 offmask; 195951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 off; 196951a39d68df598db08dfced8b4707755864a0492Ying Wang short offoff; 197951a39d68df598db08dfced8b4707755864a0492Ying Wang 198951a39d68df598db08dfced8b4707755864a0492Ying Wang short hoff; 199951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 hmask; 200951a39d68df598db08dfced8b4707755864a0492Ying Wang struct tc_u32_key keys[0]; 201951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 202951a39d68df598db08dfced8b4707755864a0492Ying Wang 203951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct tc_u32_mark 204951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 205951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 val; 206951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 mask; 207951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 success; 208951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 209951a39d68df598db08dfced8b4707755864a0492Ying Wang 210951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct tc_u32_pcnt 211951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 212951a39d68df598db08dfced8b4707755864a0492Ying Wang __u64 rcnt; 213951a39d68df598db08dfced8b4707755864a0492Ying Wang __u64 rhit; 214951a39d68df598db08dfced8b4707755864a0492Ying Wang __u64 kcnts[0]; 215951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 216951a39d68df598db08dfced8b4707755864a0492Ying Wang 217951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_U32_TERMINAL 1 218951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_U32_OFFSET 2 219951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_U32_VAROFFSET 4 220951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_U32_EAT 8 221951a39d68df598db08dfced8b4707755864a0492Ying Wang 222951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TC_U32_MAXDEPTH 8 223951a39d68df598db08dfced8b4707755864a0492Ying Wang 224951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 225951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 226951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_RSVP_UNSPEC, 227951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_RSVP_CLASSID, 228951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_RSVP_DST, 229951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_RSVP_SRC, 230951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_RSVP_PINFO, 231951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_RSVP_POLICE, 232951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_RSVP_ACT, 233951a39d68df598db08dfced8b4707755864a0492Ying Wang __TCA_RSVP_MAX 234951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 235951a39d68df598db08dfced8b4707755864a0492Ying Wang 236951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_RSVP_MAX (__TCA_RSVP_MAX - 1 ) 237951a39d68df598db08dfced8b4707755864a0492Ying Wang 238951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct tc_rsvp_gpi 239951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 240951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 key; 241951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 mask; 242951a39d68df598db08dfced8b4707755864a0492Ying Wang int offset; 243951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 244951a39d68df598db08dfced8b4707755864a0492Ying Wang 245951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct tc_rsvp_pinfo 246951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 247951a39d68df598db08dfced8b4707755864a0492Ying Wang struct tc_rsvp_gpi dpi; 248951a39d68df598db08dfced8b4707755864a0492Ying Wang struct tc_rsvp_gpi spi; 249951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 protocol; 250951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 tunnelid; 251951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 tunnelhdr; 252951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 pad; 253951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 254951a39d68df598db08dfced8b4707755864a0492Ying Wang 255951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 256951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 257951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ROUTE4_UNSPEC, 258951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ROUTE4_CLASSID, 259951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ROUTE4_TO, 260951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ROUTE4_FROM, 261951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ROUTE4_IIF, 262951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ROUTE4_POLICE, 263951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_ROUTE4_ACT, 264951a39d68df598db08dfced8b4707755864a0492Ying Wang __TCA_ROUTE4_MAX 265951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 266951a39d68df598db08dfced8b4707755864a0492Ying Wang 267951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_ROUTE4_MAX (__TCA_ROUTE4_MAX - 1) 268951a39d68df598db08dfced8b4707755864a0492Ying Wang 269951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 270951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 271951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_FW_UNSPEC, 272951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_FW_CLASSID, 273951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_FW_POLICE, 274951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_FW_INDEV, 275951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_FW_ACT, 276951a39d68df598db08dfced8b4707755864a0492Ying Wang __TCA_FW_MAX 277951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 278951a39d68df598db08dfced8b4707755864a0492Ying Wang 279951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_FW_MAX (__TCA_FW_MAX - 1) 280951a39d68df598db08dfced8b4707755864a0492Ying Wang 281951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 282951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 283951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_TCINDEX_UNSPEC, 284951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_TCINDEX_HASH, 285951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_TCINDEX_MASK, 286951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_TCINDEX_SHIFT, 287951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_TCINDEX_FALL_THROUGH, 288951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_TCINDEX_CLASSID, 289951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_TCINDEX_POLICE, 290951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_TCINDEX_ACT, 291951a39d68df598db08dfced8b4707755864a0492Ying Wang __TCA_TCINDEX_MAX 292951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 293951a39d68df598db08dfced8b4707755864a0492Ying Wang 294951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_TCINDEX_MAX (__TCA_TCINDEX_MAX - 1) 295951a39d68df598db08dfced8b4707755864a0492Ying Wang 296951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 297951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 298951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_BASIC_UNSPEC, 299951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_BASIC_CLASSID, 300951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_BASIC_EMATCHES, 301951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_BASIC_ACT, 302951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_BASIC_POLICE, 303951a39d68df598db08dfced8b4707755864a0492Ying Wang __TCA_BASIC_MAX 304951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 305951a39d68df598db08dfced8b4707755864a0492Ying Wang 306951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_BASIC_MAX (__TCA_BASIC_MAX - 1) 307951a39d68df598db08dfced8b4707755864a0492Ying Wang 308951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct tcf_ematch_tree_hdr 309951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 310951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 nmatches; 311951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 progid; 312951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 313951a39d68df598db08dfced8b4707755864a0492Ying Wang 314951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 315951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 316951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_EMATCH_TREE_UNSPEC, 317951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_EMATCH_TREE_HDR, 318951a39d68df598db08dfced8b4707755864a0492Ying Wang TCA_EMATCH_TREE_LIST, 319951a39d68df598db08dfced8b4707755864a0492Ying Wang __TCA_EMATCH_TREE_MAX 320951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 321951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCA_EMATCH_TREE_MAX (__TCA_EMATCH_TREE_MAX - 1) 322951a39d68df598db08dfced8b4707755864a0492Ying Wang 323951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct tcf_ematch_hdr 324951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 325951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 matchid; 326951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 kind; 327951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 flags; 328951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 pad; 329951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 330951a39d68df598db08dfced8b4707755864a0492Ying Wang 331951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCF_EM_REL_END 0 332951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCF_EM_REL_AND (1<<0) 333951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCF_EM_REL_OR (1<<1) 334951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCF_EM_INVERT (1<<2) 335951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCF_EM_SIMPLE (1<<3) 336951a39d68df598db08dfced8b4707755864a0492Ying Wang 337951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCF_EM_REL_MASK 3 338951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCF_EM_REL_VALID(v) (((v) & TCF_EM_REL_MASK) != TCF_EM_REL_MASK) 339951a39d68df598db08dfced8b4707755864a0492Ying Wang 340951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 341951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 342951a39d68df598db08dfced8b4707755864a0492Ying Wang TCF_LAYER_LINK, 343951a39d68df598db08dfced8b4707755864a0492Ying Wang TCF_LAYER_NETWORK, 344951a39d68df598db08dfced8b4707755864a0492Ying Wang TCF_LAYER_TRANSPORT, 345951a39d68df598db08dfced8b4707755864a0492Ying Wang __TCF_LAYER_MAX 346951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 347951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TCF_LAYER_MAX (__TCF_LAYER_MAX - 1) 348951a39d68df598db08dfced8b4707755864a0492Ying Wang 349951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 350951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 351951a39d68df598db08dfced8b4707755864a0492Ying Wang TCF_EM_CONTAINER, 352951a39d68df598db08dfced8b4707755864a0492Ying Wang TCF_EM_CMP, 353951a39d68df598db08dfced8b4707755864a0492Ying Wang TCF_EM_NBYTE, 354951a39d68df598db08dfced8b4707755864a0492Ying Wang TCF_EM_U32, 355951a39d68df598db08dfced8b4707755864a0492Ying Wang TCF_EM_META, 356951a39d68df598db08dfced8b4707755864a0492Ying Wang TCF_EM_TEXT, 357951a39d68df598db08dfced8b4707755864a0492Ying Wang __TCF_EM_MAX 358951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 359951a39d68df598db08dfced8b4707755864a0492Ying Wang 360951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 361951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 362951a39d68df598db08dfced8b4707755864a0492Ying Wang TCF_EM_PROG_TC 363951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 364951a39d68df598db08dfced8b4707755864a0492Ying Wang 365951a39d68df598db08dfced8b4707755864a0492Ying Wangenum 366951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 367951a39d68df598db08dfced8b4707755864a0492Ying Wang TCF_EM_OPND_EQ, 368951a39d68df598db08dfced8b4707755864a0492Ying Wang TCF_EM_OPND_GT, 369951a39d68df598db08dfced8b4707755864a0492Ying Wang TCF_EM_OPND_LT 370951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 371951a39d68df598db08dfced8b4707755864a0492Ying Wang 372951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif 373