Viewing file: pkt_cls.h (2.24 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef __LINUX_PKT_CLS_H #define __LINUX_PKT_CLS_H
struct tc_police { __u32 index; int action; #define TC_POLICE_UNSPEC (-1) #define TC_POLICE_OK 0 #define TC_POLICE_RECLASSIFY 1 #define TC_POLICE_SHOT 2
__u32 limit; __u32 burst; __u32 mtu; struct tc_ratespec rate; struct tc_ratespec peakrate; };
enum { TCA_POLICE_UNSPEC, TCA_POLICE_TBF, TCA_POLICE_RATE, TCA_POLICE_PEAKRATE, TCA_POLICE_AVRATE, TCA_POLICE_RESULT #define TCA_POLICE_RESULT TCA_POLICE_RESULT };
#define TCA_POLICE_MAX TCA_POLICE_RESULT
/* U32 filters */
#define TC_U32_HTID(h) ((h)&0xFFF00000) #define TC_U32_USERHTID(h) (TC_U32_HTID(h)>>20) #define TC_U32_HASH(h) (((h)>>12)&0xFF) #define TC_U32_NODE(h) ((h)&0xFFF) #define TC_U32_KEY(h) ((h)&0xFFFFF) #define TC_U32_UNSPEC 0 #define TC_U32_ROOT (0xFFF00000)
enum { TCA_U32_UNSPEC, TCA_U32_CLASSID, TCA_U32_HASH, TCA_U32_LINK, TCA_U32_DIVISOR, TCA_U32_SEL, TCA_U32_POLICE, };
#define TCA_U32_MAX TCA_U32_POLICE
struct tc_u32_key { __u32 mask; __u32 val; int off; int offmask; };
struct tc_u32_sel { unsigned char flags; unsigned char offshift; unsigned char nkeys;
__u16 offmask; __u16 off; short offoff;
short hoff; __u32 hmask;
struct tc_u32_key keys[0]; };
/* Flags */
#define TC_U32_TERMINAL 1 #define TC_U32_OFFSET 2 #define TC_U32_VAROFFSET 4 #define TC_U32_EAT 8
#define TC_U32_MAXDEPTH 8
/* RSVP filter */
enum { TCA_RSVP_UNSPEC, TCA_RSVP_CLASSID, TCA_RSVP_DST, TCA_RSVP_SRC, TCA_RSVP_PINFO, TCA_RSVP_POLICE, };
#define TCA_RSVP_MAX TCA_RSVP_POLICE
struct tc_rsvp_gpi { __u32 key; __u32 mask; int offset; };
struct tc_rsvp_pinfo { struct tc_rsvp_gpi dpi; struct tc_rsvp_gpi spi; __u8 protocol; __u8 tunnelid; __u8 tunnelhdr; };
/* ROUTE filter */
enum { TCA_ROUTE4_UNSPEC, TCA_ROUTE4_CLASSID, TCA_ROUTE4_TO, TCA_ROUTE4_FROM, TCA_ROUTE4_IIF, TCA_ROUTE4_POLICE, };
#define TCA_ROUTE4_MAX TCA_ROUTE4_POLICE
/* FW filter */
enum { TCA_FW_UNSPEC, TCA_FW_CLASSID, TCA_FW_POLICE, };
#define TCA_FW_MAX TCA_FW_POLICE
/* TC index filter */
enum { TCA_TCINDEX_UNSPEC, TCA_TCINDEX_HASH, TCA_TCINDEX_MASK, TCA_TCINDEX_SHIFT, TCA_TCINDEX_FALL_THROUGH, TCA_TCINDEX_CLASSID, TCA_TCINDEX_POLICE, };
#define TCA_TCINDEX_MAX TCA_TCINDEX_POLICE
#endif
|