1c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner/**************************************************************************** 2c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner **************************************************************************** 3c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** 4c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** This header was automatically generated from a Linux kernel header 5c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** of the same name, to make information necessary for userspace to 6c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** call into the kernel available to libc. It contains only constants, 7c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** structures, and macros generated from the original header, and thus, 8c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** contains no copyrightable information. 9c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** 10c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner **************************************************************************** 11c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ****************************************************************************/ 12c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#ifndef __LINUX_PKT_CLS_H 13c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define __LINUX_PKT_CLS_H 14c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 15c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#include <linux/pkt_sched.h> 16c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 17c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define _TC_MAKE32(x) ((x)) 18c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 19c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define _TC_MAKEMASK1(n) (_TC_MAKE32(1) << _TC_MAKE32(n)) 20c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define _TC_MAKEMASK(v,n) (_TC_MAKE32((_TC_MAKE32(1)<<(v))-1) << _TC_MAKE32(n)) 21c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define _TC_MAKEVALUE(v,n) (_TC_MAKE32(v) << _TC_MAKE32(n)) 22c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define _TC_GETVALUE(v,n,m) ((_TC_MAKE32(v) & _TC_MAKE32(m)) >> _TC_MAKE32(n)) 23c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 24c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_MUNGED _TC_MAKEMASK1(0) 25c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define SET_TC_MUNGED(v) ( TC_MUNGED | (v & ~TC_MUNGED)) 26c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define CLR_TC_MUNGED(v) ( v & ~TC_MUNGED) 27c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 28c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_OK2MUNGE _TC_MAKEMASK1(1) 29c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define SET_TC_OK2MUNGE(v) ( TC_OK2MUNGE | (v & ~TC_OK2MUNGE)) 30c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define CLR_TC_OK2MUNGE(v) ( v & ~TC_OK2MUNGE) 31c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 32c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define S_TC_VERD _TC_MAKE32(2) 33c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define M_TC_VERD _TC_MAKEMASK(4,S_TC_VERD) 34c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define G_TC_VERD(x) _TC_GETVALUE(x,S_TC_VERD,M_TC_VERD) 35c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define V_TC_VERD(x) _TC_MAKEVALUE(x,S_TC_VERD) 36c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define SET_TC_VERD(v,n) ((V_TC_VERD(n)) | (v & ~M_TC_VERD)) 37c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 38c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define S_TC_FROM _TC_MAKE32(6) 39c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define M_TC_FROM _TC_MAKEMASK(2,S_TC_FROM) 40c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define G_TC_FROM(x) _TC_GETVALUE(x,S_TC_FROM,M_TC_FROM) 41c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define V_TC_FROM(x) _TC_MAKEVALUE(x,S_TC_FROM) 42c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define SET_TC_FROM(v,n) ((V_TC_FROM(n)) | (v & ~M_TC_FROM)) 43c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define AT_STACK 0x0 44c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define AT_INGRESS 0x1 45c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define AT_EGRESS 0x2 46c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 47c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_NCLS _TC_MAKEMASK1(8) 48c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define SET_TC_NCLS(v) ( TC_NCLS | (v & ~TC_NCLS)) 49c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define CLR_TC_NCLS(v) ( v & ~TC_NCLS) 50c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 51c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define S_TC_RTTL _TC_MAKE32(9) 52c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define M_TC_RTTL _TC_MAKEMASK(3,S_TC_RTTL) 53c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define G_TC_RTTL(x) _TC_GETVALUE(x,S_TC_RTTL,M_TC_RTTL) 54c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define V_TC_RTTL(x) _TC_MAKEVALUE(x,S_TC_RTTL) 55c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define SET_TC_RTTL(v,n) ((V_TC_RTTL(n)) | (v & ~M_TC_RTTL)) 56c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 57c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define S_TC_AT _TC_MAKE32(12) 58c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define M_TC_AT _TC_MAKEMASK(2,S_TC_AT) 59c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define G_TC_AT(x) _TC_GETVALUE(x,S_TC_AT,M_TC_AT) 60c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define V_TC_AT(x) _TC_MAKEVALUE(x,S_TC_AT) 61c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define SET_TC_AT(v,n) ((V_TC_AT(n)) | (v & ~M_TC_AT)) 62c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 63c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 64c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 65c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ACT_UNSPEC, 66c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ACT_KIND, 67c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ACT_OPTIONS, 68c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ACT_INDEX, 69c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ACT_STATS, 70c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __TCA_ACT_MAX 71c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 72c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 73c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_ACT_MAX __TCA_ACT_MAX 74c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_OLD_COMPAT (TCA_ACT_MAX+1) 75c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_ACT_MAX_PRIO 32 76c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_ACT_BIND 1 77c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_ACT_NOBIND 0 78c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_ACT_UNBIND 1 79c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_ACT_NOUNBIND 0 80c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_ACT_REPLACE 1 81c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_ACT_NOREPLACE 0 82c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define MAX_REC_LOOP 4 83c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define MAX_RED_LOOP 4 84c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 85c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_ACT_UNSPEC (-1) 86c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_ACT_OK 0 87c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_ACT_RECLASSIFY 1 88c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_ACT_SHOT 2 89c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_ACT_PIPE 3 90c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_ACT_STOLEN 4 91c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_ACT_QUEUED 5 92c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_ACT_REPEAT 6 93c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_ACT_JUMP 0x10000000 94c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 95c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 96c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 97c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ID_UNSPEC=0, 98c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ID_POLICE=1, 99c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 100c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __TCA_ID_MAX=255 101c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 102c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 103c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_ID_MAX __TCA_ID_MAX 104c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 105c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct tc_police 106c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 107c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 index; 108c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int action; 109c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_POLICE_UNSPEC TC_ACT_UNSPEC 110c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_POLICE_OK TC_ACT_OK 111c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_POLICE_RECLASSIFY TC_ACT_RECLASSIFY 112c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_POLICE_SHOT TC_ACT_SHOT 113c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_POLICE_PIPE TC_ACT_PIPE 114c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 115c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 limit; 116c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 burst; 117c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 mtu; 118c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct tc_ratespec rate; 119c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct tc_ratespec peakrate; 120c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int refcnt; 121c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int bindcnt; 122c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 capab; 123c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 124c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 125c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct tcf_t 126c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 127c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u64 install; 128c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u64 lastuse; 129c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u64 expires; 130c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 131c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 132c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct tc_cnt 133c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 134c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int refcnt; 135c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int bindcnt; 136c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 137c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 138c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define tc_gen __u32 index; __u32 capab; int action; int refcnt; int bindcnt 139c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 140c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 141c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 142c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_POLICE_UNSPEC, 143c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_POLICE_TBF, 144c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_POLICE_RATE, 145c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_POLICE_PEAKRATE, 146c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_POLICE_AVRATE, 147c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_POLICE_RESULT, 148c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __TCA_POLICE_MAX 149c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_POLICE_RESULT TCA_POLICE_RESULT 150c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 151c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 152c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_POLICE_MAX (__TCA_POLICE_MAX - 1) 153c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 154c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_U32_HTID(h) ((h)&0xFFF00000) 155c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_U32_USERHTID(h) (TC_U32_HTID(h)>>20) 156c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_U32_HASH(h) (((h)>>12)&0xFF) 157c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_U32_NODE(h) ((h)&0xFFF) 158c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_U32_KEY(h) ((h)&0xFFFFF) 159c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_U32_UNSPEC 0 160c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_U32_ROOT (0xFFF00000) 161c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 162c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 163c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 164c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_U32_UNSPEC, 165c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_U32_CLASSID, 166c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_U32_HASH, 167c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_U32_LINK, 168c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_U32_DIVISOR, 169c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_U32_SEL, 170c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_U32_POLICE, 171c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_U32_ACT, 172c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_U32_INDEV, 173c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_U32_PCNT, 174c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_U32_MARK, 175c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __TCA_U32_MAX 176c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 177c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 178c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_U32_MAX (__TCA_U32_MAX - 1) 179c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 180c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct tc_u32_key 181c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 182c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 mask; 183c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 val; 184c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int off; 185c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int offmask; 186c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 187c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 188c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct tc_u32_sel 189c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 190c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned char flags; 191c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned char offshift; 192c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned char nkeys; 193c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 194c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u16 offmask; 195c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u16 off; 196c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner short offoff; 197c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 198c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner short hoff; 199c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 hmask; 200c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct tc_u32_key keys[0]; 201c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 202c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 203c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct tc_u32_mark 204c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 205c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 val; 206c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 mask; 207c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 success; 208c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 209c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 210c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct tc_u32_pcnt 211c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 212c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u64 rcnt; 213c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u64 rhit; 214c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u64 kcnts[0]; 215c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 216c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 217c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_U32_TERMINAL 1 218c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_U32_OFFSET 2 219c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_U32_VAROFFSET 4 220c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_U32_EAT 8 221c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 222c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TC_U32_MAXDEPTH 8 223c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 224c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 225c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 226c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_RSVP_UNSPEC, 227c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_RSVP_CLASSID, 228c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_RSVP_DST, 229c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_RSVP_SRC, 230c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_RSVP_PINFO, 231c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_RSVP_POLICE, 232c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_RSVP_ACT, 233c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __TCA_RSVP_MAX 234c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 235c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 236c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_RSVP_MAX (__TCA_RSVP_MAX - 1 ) 237c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 238c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct tc_rsvp_gpi 239c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 240c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 key; 241c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 mask; 242c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int offset; 243c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 244c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 245c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct tc_rsvp_pinfo 246c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 247c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct tc_rsvp_gpi dpi; 248c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct tc_rsvp_gpi spi; 249c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 protocol; 250c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 tunnelid; 251c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 tunnelhdr; 252c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 pad; 253c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 254c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 255c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 256c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 257c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ROUTE4_UNSPEC, 258c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ROUTE4_CLASSID, 259c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ROUTE4_TO, 260c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ROUTE4_FROM, 261c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ROUTE4_IIF, 262c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ROUTE4_POLICE, 263c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_ROUTE4_ACT, 264c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __TCA_ROUTE4_MAX 265c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 266c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 267c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_ROUTE4_MAX (__TCA_ROUTE4_MAX - 1) 268c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 269c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 270c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 271c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_FW_UNSPEC, 272c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_FW_CLASSID, 273c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_FW_POLICE, 274c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_FW_INDEV, 275c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_FW_ACT, 276c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __TCA_FW_MAX 277c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 278c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 279c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_FW_MAX (__TCA_FW_MAX - 1) 280c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 281c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 282c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 283c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_TCINDEX_UNSPEC, 284c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_TCINDEX_HASH, 285c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_TCINDEX_MASK, 286c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_TCINDEX_SHIFT, 287c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_TCINDEX_FALL_THROUGH, 288c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_TCINDEX_CLASSID, 289c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_TCINDEX_POLICE, 290c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_TCINDEX_ACT, 291c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __TCA_TCINDEX_MAX 292c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 293c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 294c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_TCINDEX_MAX (__TCA_TCINDEX_MAX - 1) 295c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 296c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 297c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 298c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_BASIC_UNSPEC, 299c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_BASIC_CLASSID, 300c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_BASIC_EMATCHES, 301c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_BASIC_ACT, 302c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_BASIC_POLICE, 303c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __TCA_BASIC_MAX 304c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 305c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 306c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_BASIC_MAX (__TCA_BASIC_MAX - 1) 307c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 308c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct tcf_ematch_tree_hdr 309c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 310c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u16 nmatches; 311c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u16 progid; 312c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 313c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 314c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 315c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 316c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_EMATCH_TREE_UNSPEC, 317c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_EMATCH_TREE_HDR, 318c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCA_EMATCH_TREE_LIST, 319c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __TCA_EMATCH_TREE_MAX 320c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 321c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCA_EMATCH_TREE_MAX (__TCA_EMATCH_TREE_MAX - 1) 322c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 323c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct tcf_ematch_hdr 324c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 325c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u16 matchid; 326c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u16 kind; 327c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u16 flags; 328c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u16 pad; 329c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 330c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 331c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCF_EM_REL_END 0 332c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCF_EM_REL_AND (1<<0) 333c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCF_EM_REL_OR (1<<1) 334c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCF_EM_INVERT (1<<2) 335c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCF_EM_SIMPLE (1<<3) 336c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 337c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCF_EM_REL_MASK 3 338c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCF_EM_REL_VALID(v) (((v) & TCF_EM_REL_MASK) != TCF_EM_REL_MASK) 339c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 340c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 341c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 342c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCF_LAYER_LINK, 343c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCF_LAYER_NETWORK, 344c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCF_LAYER_TRANSPORT, 345c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __TCF_LAYER_MAX 346c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 347c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define TCF_LAYER_MAX (__TCF_LAYER_MAX - 1) 348c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 349c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 350c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 351c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCF_EM_CONTAINER, 352c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCF_EM_CMP, 353c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCF_EM_NBYTE, 354c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCF_EM_U32, 355c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCF_EM_META, 356c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCF_EM_TEXT, 357c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __TCF_EM_MAX 358c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 359c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 360c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 361c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 362c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCF_EM_PROG_TC 363c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 364c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 365c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerenum 366c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{ 367c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCF_EM_OPND_EQ, 368c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCF_EM_OPND_GT, 369c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner TCF_EM_OPND_LT 370c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 371c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 372c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#endif 373