168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#ifndef __LINUX_PKT_CLS_H 268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define __LINUX_PKT_CLS_H 368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 467881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger#include <linux/types.h> 5d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger#include <linux/pkt_sched.h> 6d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger/* Action attributes */ 9ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 1068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_ACT_UNSPEC, 1168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_ACT_KIND, 1268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_ACT_OPTIONS, 1368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_ACT_INDEX, 14451d3b81e6abb5b7126e42c9334634305dc95fbeosdl.net!shemminger TCA_ACT_STATS, 1568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __TCA_ACT_MAX 1668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 1768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 1868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_ACT_MAX __TCA_ACT_MAX 1968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_OLD_COMPAT (TCA_ACT_MAX+1) 2068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_ACT_MAX_PRIO 32 2168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_ACT_BIND 1 2268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_ACT_NOBIND 0 2368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_ACT_UNBIND 1 2468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_ACT_NOUNBIND 0 2568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_ACT_REPLACE 1 2668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_ACT_NOREPLACE 0 2768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 2868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_ACT_UNSPEC (-1) 2968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_ACT_OK 0 3068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_ACT_RECLASSIFY 1 3168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_ACT_SHOT 2 3268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_ACT_PIPE 3 3368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_ACT_STOLEN 4 3468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_ACT_QUEUED 5 3568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_ACT_REPEAT 6 364e39bfb93a94098601699ea3f5de31c02cda1bf4Stephen Hemminger#define TC_ACT_REDIRECT 7 3768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_ACT_JUMP 0x10000000 3868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 3968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger/* Action type identifiers*/ 40ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 4168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_ID_UNSPEC=0, 4268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_ID_POLICE=1, 4368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger /* other actions go here */ 4468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __TCA_ID_MAX=255 4568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 4668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 4768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_ID_MAX __TCA_ID_MAX 4868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 49ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tc_police { 5068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u32 index; 5168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger int action; 5268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_POLICE_UNSPEC TC_ACT_UNSPEC 5368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_POLICE_OK TC_ACT_OK 5468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_POLICE_RECLASSIFY TC_ACT_RECLASSIFY 5568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_POLICE_SHOT TC_ACT_SHOT 5668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_POLICE_PIPE TC_ACT_PIPE 5768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 5868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u32 limit; 5968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u32 burst; 6068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u32 mtu; 6168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger struct tc_ratespec rate; 6268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger struct tc_ratespec peakrate; 6368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger int refcnt; 6468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger int bindcnt; 6568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u32 capab; 6668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 6768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 68ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tcf_t { 69d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __u64 install; 70d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __u64 lastuse; 71d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __u64 expires; 7268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 7368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 74ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tc_cnt { 7568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger int refcnt; 7668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger int bindcnt; 7768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 7868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 7968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define tc_gen \ 8068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u32 index; \ 8168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u32 capab; \ 8268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger int action; \ 8368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger int refcnt; \ 8468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger int bindcnt 8568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 86ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 8768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_POLICE_UNSPEC, 8868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_POLICE_TBF, 8968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_POLICE_RATE, 9068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_POLICE_PEAKRATE, 9168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_POLICE_AVRATE, 9268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_POLICE_RESULT, 9368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __TCA_POLICE_MAX 9468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_POLICE_RESULT TCA_POLICE_RESULT 9568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 9668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 9768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_POLICE_MAX (__TCA_POLICE_MAX - 1) 9868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 9968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger/* U32 filters */ 10068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 10168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_U32_HTID(h) ((h)&0xFFF00000) 10268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_U32_USERHTID(h) (TC_U32_HTID(h)>>20) 10368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_U32_HASH(h) (((h)>>12)&0xFF) 10468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_U32_NODE(h) ((h)&0xFFF) 10568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_U32_KEY(h) ((h)&0xFFFFF) 10668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_U32_UNSPEC 0 10768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_U32_ROOT (0xFFF00000) 10868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 109ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 11068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_U32_UNSPEC, 11168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_U32_CLASSID, 11268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_U32_HASH, 11368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_U32_LINK, 11468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_U32_DIVISOR, 11568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_U32_SEL, 11668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_U32_POLICE, 11768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_U32_ACT, 11868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_U32_INDEV, 11968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_U32_PCNT, 1206f0ba88be018dee5feb08e7b125b10b633bb000cnet[shemminger]!shemminger TCA_U32_MARK, 12168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __TCA_U32_MAX 12268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 12368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 12468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_U32_MAX (__TCA_U32_MAX - 1) 12568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 126ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tc_u32_key { 1275344bb287cbf6bb68741a19c2dc66b3fd33e9258Stephen Hemminger __be32 mask; 1285344bb287cbf6bb68741a19c2dc66b3fd33e9258Stephen Hemminger __be32 val; 12968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger int off; 13068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger int offmask; 13168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 13268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 133ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tc_u32_sel { 13468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger unsigned char flags; 13568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger unsigned char offshift; 13668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger unsigned char nkeys; 13768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 1385344bb287cbf6bb68741a19c2dc66b3fd33e9258Stephen Hemminger __be16 offmask; 13968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u16 off; 14068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger short offoff; 14168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 14268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger short hoff; 1435344bb287cbf6bb68741a19c2dc66b3fd33e9258Stephen Hemminger __be32 hmask; 14468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger struct tc_u32_key keys[0]; 14568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 14668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 147ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tc_u32_mark { 148d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __u32 val; 149d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __u32 mask; 150d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __u32 success; 151d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger}; 152d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 153ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tc_u32_pcnt { 15468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u64 rcnt; 15568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u64 rhit; 15668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u64 kcnts[0]; 15768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 1586f0ba88be018dee5feb08e7b125b10b633bb000cnet[shemminger]!shemminger 15968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger/* Flags */ 16068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 16168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_U32_TERMINAL 1 16268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_U32_OFFSET 2 16368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_U32_VAROFFSET 4 16468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_U32_EAT 8 16568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 16668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TC_U32_MAXDEPTH 8 16768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 16868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 16968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger/* RSVP filter */ 17068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 171ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 17268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_RSVP_UNSPEC, 17368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_RSVP_CLASSID, 17468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_RSVP_DST, 17568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_RSVP_SRC, 17668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_RSVP_PINFO, 17768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_RSVP_POLICE, 178d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCA_RSVP_ACT, 17968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __TCA_RSVP_MAX 18068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 18168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 18268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_RSVP_MAX (__TCA_RSVP_MAX - 1 ) 18368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 184ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tc_rsvp_gpi { 18568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u32 key; 18668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u32 mask; 18768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger int offset; 18868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 18968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 190ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tc_rsvp_pinfo { 19168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger struct tc_rsvp_gpi dpi; 19268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger struct tc_rsvp_gpi spi; 19368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u8 protocol; 19468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u8 tunnelid; 19568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __u8 tunnelhdr; 1966864c1e7890c65dd2ee037809f772790b04792b4shemminger __u8 pad; 19768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 19868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 19968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger/* ROUTE filter */ 20068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 201ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 20268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_ROUTE4_UNSPEC, 20368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_ROUTE4_CLASSID, 20468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_ROUTE4_TO, 20568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_ROUTE4_FROM, 20668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_ROUTE4_IIF, 20768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_ROUTE4_POLICE, 208d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCA_ROUTE4_ACT, 20968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __TCA_ROUTE4_MAX 21068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 21168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 21268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_ROUTE4_MAX (__TCA_ROUTE4_MAX - 1) 21368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 21468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 21568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger/* FW filter */ 21668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 217ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 21868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_FW_UNSPEC, 21968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_FW_CLASSID, 22068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_FW_POLICE, 22168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_FW_INDEV, /* used by CONFIG_NET_CLS_IND */ 22268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_FW_ACT, /* used by CONFIG_NET_CLS_ACT */ 223ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger TCA_FW_MASK, 22468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __TCA_FW_MAX 22568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 22668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 22768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_FW_MAX (__TCA_FW_MAX - 1) 22868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 22968d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger/* TC index filter */ 23068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 231ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 23268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_TCINDEX_UNSPEC, 23368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_TCINDEX_HASH, 23468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_TCINDEX_MASK, 23568d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_TCINDEX_SHIFT, 23668d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_TCINDEX_FALL_THROUGH, 23768d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_TCINDEX_CLASSID, 23868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger TCA_TCINDEX_POLICE, 239d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCA_TCINDEX_ACT, 24068d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger __TCA_TCINDEX_MAX 24168d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger}; 24268d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 24368d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#define TCA_TCINDEX_MAX (__TCA_TCINDEX_MAX - 1) 24468d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger 2459932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy/* Flow filter */ 2469932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy 247ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 2489932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_SRC, 2499932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_DST, 2509932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_PROTO, 2519932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_PROTO_SRC, 2529932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_PROTO_DST, 2539932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_IIF, 2549932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_PRIORITY, 2559932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_MARK, 2569932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_NFCT, 2579932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_NFCT_SRC, 2589932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_NFCT_DST, 2599932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_NFCT_PROTO_SRC, 2609932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_NFCT_PROTO_DST, 2619932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_RTCLASSID, 2629932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_SKUID, 2639932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_KEY_SKGID, 26466862d3cc704973a3fde309e05912328480745bdPatrick McHardy FLOW_KEY_VLAN_TAG, 2657162c921488de9093c522b858a1ab488b8f50c96Changli Gao FLOW_KEY_RXHASH, 2669932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy __FLOW_KEY_MAX, 2679932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy}; 2689932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy 2699932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy#define FLOW_KEY_MAX (__FLOW_KEY_MAX - 1) 2709932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy 271ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 2729932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_MODE_MAP, 2739932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy FLOW_MODE_HASH, 2749932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy}; 2759932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy 276ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 2779932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy TCA_FLOW_UNSPEC, 2789932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy TCA_FLOW_KEYS, 2799932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy TCA_FLOW_MODE, 2809932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy TCA_FLOW_BASECLASS, 2819932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy TCA_FLOW_RSHIFT, 2829932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy TCA_FLOW_ADDEND, 2839932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy TCA_FLOW_MASK, 2849932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy TCA_FLOW_XOR, 2859932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy TCA_FLOW_DIVISOR, 2869932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy TCA_FLOW_ACT, 2879932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy TCA_FLOW_POLICE, 2889932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy TCA_FLOW_EMATCHES, 28919ecc16d72bb5767b1427a7579e5884813f2c9e8Stephen Hemminger TCA_FLOW_PERTURB, 2909932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy __TCA_FLOW_MAX 2919932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy}; 2929932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy 2939932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy#define TCA_FLOW_MAX (__TCA_FLOW_MAX - 1) 2949932abb498ca5280027ff57c92a4e948eac41652Patrick McHardy 295d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger/* Basic filter */ 296d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 297ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 298d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCA_BASIC_UNSPEC, 299d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCA_BASIC_CLASSID, 300d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCA_BASIC_EMATCHES, 301d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCA_BASIC_ACT, 302d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCA_BASIC_POLICE, 303d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __TCA_BASIC_MAX 304d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger}; 305d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 306d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger#define TCA_BASIC_MAX (__TCA_BASIC_MAX - 1) 307d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 30867881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger 30967881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger/* Cgroup classifier */ 31067881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger 311ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 31267881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger TCA_CGROUP_UNSPEC, 31367881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger TCA_CGROUP_ACT, 31467881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger TCA_CGROUP_POLICE, 31567881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger TCA_CGROUP_EMATCHES, 31667881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger __TCA_CGROUP_MAX, 31767881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger}; 31867881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger 31967881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger#define TCA_CGROUP_MAX (__TCA_CGROUP_MAX - 1) 32067881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger 321793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemminger/* BPF classifier */ 322793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemminger 3234e39bfb93a94098601699ea3f5de31c02cda1bf4Stephen Hemminger#define TCA_BPF_FLAG_ACT_DIRECT (1 << 0) 3244e39bfb93a94098601699ea3f5de31c02cda1bf4Stephen Hemminger 325793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemmingerenum { 326793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemminger TCA_BPF_UNSPEC, 327793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemminger TCA_BPF_ACT, 328793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemminger TCA_BPF_POLICE, 329793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemminger TCA_BPF_CLASSID, 330793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemminger TCA_BPF_OPS_LEN, 331793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemminger TCA_BPF_OPS, 33261333d24428835c1b9d517993a4e7ef08849deceStephen Hemminger TCA_BPF_FD, 33361333d24428835c1b9d517993a4e7ef08849deceStephen Hemminger TCA_BPF_NAME, 3344e39bfb93a94098601699ea3f5de31c02cda1bf4Stephen Hemminger TCA_BPF_FLAGS, 335793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemminger __TCA_BPF_MAX, 336793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemminger}; 337793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemminger 338793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemminger#define TCA_BPF_MAX (__TCA_BPF_MAX - 1) 339793da0e7023ce29e32914af477fdbcc4bdbb022fStephen Hemminger 3408f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger/* Flower classifier */ 3418f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger 3428f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemmingerenum { 3438f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_UNSPEC, 3448f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_CLASSID, 3458f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_INDEV, 3468f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_ACT, 3478f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_ETH_DST, /* ETH_ALEN */ 3488f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_ETH_DST_MASK, /* ETH_ALEN */ 3498f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_ETH_SRC, /* ETH_ALEN */ 3508f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_ETH_SRC_MASK, /* ETH_ALEN */ 3518f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_ETH_TYPE, /* be16 */ 3528f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_IP_PROTO, /* u8 */ 3538f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_IPV4_SRC, /* be32 */ 3548f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_IPV4_SRC_MASK, /* be32 */ 3558f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_IPV4_DST, /* be32 */ 3568f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_IPV4_DST_MASK, /* be32 */ 3578f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_IPV6_SRC, /* struct in6_addr */ 3588f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_IPV6_SRC_MASK, /* struct in6_addr */ 3598f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_IPV6_DST, /* struct in6_addr */ 3608f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_IPV6_DST_MASK, /* struct in6_addr */ 3618f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_TCP_SRC, /* be16 */ 3628f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_TCP_DST, /* be16 */ 3638f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_UDP_SRC, /* be16 */ 3648f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger TCA_FLOWER_KEY_UDP_DST, /* be16 */ 3658f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger __TCA_FLOWER_MAX, 3668f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger}; 3678f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger 3688f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger#define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1) 3698f42ceaf249189abe1891e622455813e7439b1b7Stephen Hemminger 370d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger/* Extended Matches */ 371d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 372ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tcf_ematch_tree_hdr { 373d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __u16 nmatches; 374d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __u16 progid; 375d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger}; 376d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 377ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 378d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCA_EMATCH_TREE_UNSPEC, 379d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCA_EMATCH_TREE_HDR, 380d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCA_EMATCH_TREE_LIST, 381d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __TCA_EMATCH_TREE_MAX 382d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger}; 383d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger#define TCA_EMATCH_TREE_MAX (__TCA_EMATCH_TREE_MAX - 1) 384d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 385ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tcf_ematch_hdr { 386d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __u16 matchid; 387d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __u16 kind; 388d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __u16 flags; 389d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __u16 pad; /* currently unused */ 390d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger}; 391d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 392d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger/* 0 1 393d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 394d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * +-----------------------+-+-+---+ 395d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * | Unused |S|I| R | 396d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * +-----------------------+-+-+---+ 397d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * 398d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * R(2) ::= relation to next ematch 399d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * where: 0 0 END (last ematch) 400d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * 0 1 AND 401d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * 1 0 OR 402d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * 1 1 Unused (invalid) 403d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * I(1) ::= invert result 404d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * S(1) ::= simple payload 405d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger */ 406d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger#define TCF_EM_REL_END 0 407d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger#define TCF_EM_REL_AND (1<<0) 408d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger#define TCF_EM_REL_OR (1<<1) 409d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger#define TCF_EM_INVERT (1<<2) 410d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger#define TCF_EM_SIMPLE (1<<3) 411d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 412d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger#define TCF_EM_REL_MASK 3 413d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger#define TCF_EM_REL_VALID(v) (((v) & TCF_EM_REL_MASK) != TCF_EM_REL_MASK) 414d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 415ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 416d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCF_LAYER_LINK, 417d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCF_LAYER_NETWORK, 418d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCF_LAYER_TRANSPORT, 419d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger __TCF_LAYER_MAX 420d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger}; 421d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger#define TCF_LAYER_MAX (__TCF_LAYER_MAX - 1) 422d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 423d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger/* Ematch type assignments 424d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * 1..32767 Reserved for ematches inside kernel tree 425d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger * 32768..65535 Free to use, not reliable 426d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger */ 427a6ffa8b00d60c1fff5d197575c2e5a896e2e15b0Stephen Hemminger#define TCF_EM_CONTAINER 0 428a6ffa8b00d60c1fff5d197575c2e5a896e2e15b0Stephen Hemminger#define TCF_EM_CMP 1 429a6ffa8b00d60c1fff5d197575c2e5a896e2e15b0Stephen Hemminger#define TCF_EM_NBYTE 2 430a6ffa8b00d60c1fff5d197575c2e5a896e2e15b0Stephen Hemminger#define TCF_EM_U32 3 431a6ffa8b00d60c1fff5d197575c2e5a896e2e15b0Stephen Hemminger#define TCF_EM_META 4 432a6ffa8b00d60c1fff5d197575c2e5a896e2e15b0Stephen Hemminger#define TCF_EM_TEXT 5 433a564b709426ed8b481dd1548ba72a007c6c73c70Stephen Hemminger#define TCF_EM_VLAN 6 434a564b709426ed8b481dd1548ba72a007c6c73c70Stephen Hemminger#define TCF_EM_CANID 7 435a564b709426ed8b481dd1548ba72a007c6c73c70Stephen Hemminger#define TCF_EM_IPSET 8 436a564b709426ed8b481dd1548ba72a007c6c73c70Stephen Hemminger#define TCF_EM_MAX 8 437d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 438ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 439d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCF_EM_PROG_TC 440d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger}; 441d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 442ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum { 443d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCF_EM_OPND_EQ, 444d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCF_EM_OPND_GT, 445d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger TCF_EM_OPND_LT 446d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger}; 447d639d9d18b2ef5a43cda5424830005333acfb288osdl.net!shemminger 44868d5ba54296ba689ec96e20c82bc5936d63ecc66osdl.net!shemminger#endif 449