亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pkt_cls.h

?? umon bootloader source code, support mips cpu.
?? H
字號:
#ifndef __LINUX_PKT_CLS_H
#define __LINUX_PKT_CLS_H

#include <linux/pkt_sched.h>

/* I think i could have done better macros ; for now this is stolen from
 * some arch/mips code - jhs
*/
#define _TC_MAKE32(x) ((x))

#define _TC_MAKEMASK1(n) (_TC_MAKE32(1) << _TC_MAKE32(n))
#define _TC_MAKEMASK(v,n) (_TC_MAKE32((_TC_MAKE32(1)<<(v))-1) << _TC_MAKE32(n))
#define _TC_MAKEVALUE(v,n) (_TC_MAKE32(v) << _TC_MAKE32(n))
#define _TC_GETVALUE(v,n,m) ((_TC_MAKE32(v) & _TC_MAKE32(m)) >> _TC_MAKE32(n))

/* verdict bit breakdown 
 *
bit 0: when set -> this packet has been munged already

bit 1: when set -> It is ok to munge this packet

bit 2,3,4,5: Reclassify counter - sort of reverse TTL - if exceeded
assume loop

bit 6,7: Where this packet was last seen 
0: Above the transmit example at the socket level
1: on the Ingress
2: on the Egress

bit 8: when set --> Request not to classify on ingress. 

bits 9,10,11: redirect counter -  redirect TTL. Loop avoidance

 *
 * */

#define TC_MUNGED          _TC_MAKEMASK1(0)
#define SET_TC_MUNGED(v)   ( TC_MUNGED | (v & ~TC_MUNGED))
#define CLR_TC_MUNGED(v)   ( v & ~TC_MUNGED)

#define TC_OK2MUNGE        _TC_MAKEMASK1(1)
#define SET_TC_OK2MUNGE(v)   ( TC_OK2MUNGE | (v & ~TC_OK2MUNGE))
#define CLR_TC_OK2MUNGE(v)   ( v & ~TC_OK2MUNGE)

#define S_TC_VERD          _TC_MAKE32(2)
#define M_TC_VERD          _TC_MAKEMASK(4,S_TC_VERD)
#define G_TC_VERD(x)       _TC_GETVALUE(x,S_TC_VERD,M_TC_VERD)
#define V_TC_VERD(x)       _TC_MAKEVALUE(x,S_TC_VERD)
#define SET_TC_VERD(v,n)   ((V_TC_VERD(n)) | (v & ~M_TC_VERD))

#define S_TC_FROM          _TC_MAKE32(6)
#define M_TC_FROM          _TC_MAKEMASK(2,S_TC_FROM)
#define G_TC_FROM(x)       _TC_GETVALUE(x,S_TC_FROM,M_TC_FROM)
#define V_TC_FROM(x)       _TC_MAKEVALUE(x,S_TC_FROM)
#define SET_TC_FROM(v,n)   ((V_TC_FROM(n)) | (v & ~M_TC_FROM))
#define AT_STACK	0x0
#define AT_INGRESS	0x1
#define AT_EGRESS	0x2

#define TC_NCLS          _TC_MAKEMASK1(8)
#define SET_TC_NCLS(v)   ( TC_NCLS | (v & ~TC_NCLS))
#define CLR_TC_NCLS(v)   ( v & ~TC_NCLS)

#define S_TC_RTTL          _TC_MAKE32(9)
#define M_TC_RTTL          _TC_MAKEMASK(3,S_TC_RTTL)
#define G_TC_RTTL(x)       _TC_GETVALUE(x,S_TC_RTTL,M_TC_RTTL)
#define V_TC_RTTL(x)       _TC_MAKEVALUE(x,S_TC_RTTL)
#define SET_TC_RTTL(v,n)   ((V_TC_RTTL(n)) | (v & ~M_TC_RTTL))

#define S_TC_AT          _TC_MAKE32(12)
#define M_TC_AT          _TC_MAKEMASK(2,S_TC_AT)
#define G_TC_AT(x)       _TC_GETVALUE(x,S_TC_AT,M_TC_AT)
#define V_TC_AT(x)       _TC_MAKEVALUE(x,S_TC_AT)
#define SET_TC_AT(v,n)   ((V_TC_AT(n)) | (v & ~M_TC_AT))

/* Action attributes */
enum
{
	TCA_ACT_UNSPEC,
	TCA_ACT_KIND,
	TCA_ACT_OPTIONS,
	TCA_ACT_INDEX,
	TCA_ACT_STATS,
	__TCA_ACT_MAX
};

#define TCA_ACT_MAX __TCA_ACT_MAX
#define TCA_OLD_COMPAT (TCA_ACT_MAX+1)
#define TCA_ACT_MAX_PRIO 32
#define TCA_ACT_BIND	1
#define TCA_ACT_NOBIND	0
#define TCA_ACT_UNBIND	1
#define TCA_ACT_NOUNBIND	0
#define TCA_ACT_REPLACE		1
#define TCA_ACT_NOREPLACE	0
#define MAX_REC_LOOP 4
#define MAX_RED_LOOP 4

#define TC_ACT_UNSPEC	(-1)
#define TC_ACT_OK		0
#define TC_ACT_RECLASSIFY	1
#define TC_ACT_SHOT		2
#define TC_ACT_PIPE		3
#define TC_ACT_STOLEN		4
#define TC_ACT_QUEUED		5
#define TC_ACT_REPEAT		6
#define TC_ACT_JUMP		0x10000000

/* Action type identifiers*/
enum
{
	TCA_ID_UNSPEC=0,
	TCA_ID_POLICE=1,
	/* other actions go here */
	__TCA_ID_MAX=255
};

#define TCA_ID_MAX __TCA_ID_MAX

struct tc_police
{
	__u32			index;
	int			action;
#define TC_POLICE_UNSPEC	TC_ACT_UNSPEC
#define TC_POLICE_OK		TC_ACT_OK
#define TC_POLICE_RECLASSIFY	TC_ACT_RECLASSIFY
#define TC_POLICE_SHOT		TC_ACT_SHOT
#define TC_POLICE_PIPE		TC_ACT_PIPE

	__u32			limit;
	__u32			burst;
	__u32			mtu;
	struct tc_ratespec	rate;
	struct tc_ratespec	peakrate;
	int 			refcnt;
	int 			bindcnt;
	__u32			capab;
};

struct tcf_t
{
	__u64   install;
	__u64   lastuse;
	__u64   expires;
};

struct tc_cnt
{
	int                   refcnt; 
	int                   bindcnt;
};

#define tc_gen \
	__u32                 index; \
	__u32                 capab; \
	int                   action; \
	int                   refcnt; \
	int                   bindcnt

enum
{
	TCA_POLICE_UNSPEC,
	TCA_POLICE_TBF,
	TCA_POLICE_RATE,
	TCA_POLICE_PEAKRATE,
	TCA_POLICE_AVRATE,
	TCA_POLICE_RESULT,
	__TCA_POLICE_MAX
#define TCA_POLICE_RESULT TCA_POLICE_RESULT
};

#define TCA_POLICE_MAX (__TCA_POLICE_MAX - 1)

/* 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,
	TCA_U32_ACT,   
	TCA_U32_INDEV,
	TCA_U32_PCNT,
	TCA_U32_MARK,
	__TCA_U32_MAX
};

#define TCA_U32_MAX (__TCA_U32_MAX - 1)

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];
};

struct tc_u32_mark
{
	__u32		val;
	__u32		mask;
	__u32		success;
};

struct tc_u32_pcnt
{
	__u64 rcnt;
	__u64 rhit;
	__u64 kcnts[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,
	TCA_RSVP_ACT,
	__TCA_RSVP_MAX
};

#define TCA_RSVP_MAX (__TCA_RSVP_MAX - 1 )

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,
	TCA_ROUTE4_ACT,
	__TCA_ROUTE4_MAX
};

#define TCA_ROUTE4_MAX (__TCA_ROUTE4_MAX - 1)


/* FW filter */

enum
{
	TCA_FW_UNSPEC,
	TCA_FW_CLASSID,
	TCA_FW_POLICE,
	TCA_FW_INDEV, /*  used by CONFIG_NET_CLS_IND */
	TCA_FW_ACT, /* used by CONFIG_NET_CLS_ACT */
	__TCA_FW_MAX
};

#define TCA_FW_MAX (__TCA_FW_MAX - 1)

/* 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,
	TCA_TCINDEX_ACT,
	__TCA_TCINDEX_MAX
};

#define TCA_TCINDEX_MAX     (__TCA_TCINDEX_MAX - 1)

/* Basic filter */

enum
{
	TCA_BASIC_UNSPEC,
	TCA_BASIC_CLASSID,
	TCA_BASIC_EMATCHES,
	TCA_BASIC_ACT,
	TCA_BASIC_POLICE,
	__TCA_BASIC_MAX
};

#define TCA_BASIC_MAX (__TCA_BASIC_MAX - 1)

/* Extended Matches */

struct tcf_ematch_tree_hdr
{
	__u16		nmatches;
	__u16		progid;
};

enum
{
	TCA_EMATCH_TREE_UNSPEC,
	TCA_EMATCH_TREE_HDR,
	TCA_EMATCH_TREE_LIST,
	__TCA_EMATCH_TREE_MAX
};
#define TCA_EMATCH_TREE_MAX (__TCA_EMATCH_TREE_MAX - 1)

struct tcf_ematch_hdr
{
	__u16		matchid;
	__u16		kind;
	__u16		flags;
	__u16		pad; /* currently unused */
};

/*  0                   1
 *  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 
 * +-----------------------+-+-+---+
 * |         Unused        |S|I| R |
 * +-----------------------+-+-+---+
 *
 * R(2) ::= relation to next ematch
 *          where: 0 0 END (last ematch)
 *                 0 1 AND
 *                 1 0 OR
 *                 1 1 Unused (invalid)
 * I(1) ::= invert result
 * S(1) ::= simple payload
 */
#define TCF_EM_REL_END	0
#define TCF_EM_REL_AND	(1<<0)
#define TCF_EM_REL_OR	(1<<1)
#define TCF_EM_INVERT	(1<<2)
#define TCF_EM_SIMPLE	(1<<3)

#define TCF_EM_REL_MASK	3
#define TCF_EM_REL_VALID(v) (((v) & TCF_EM_REL_MASK) != TCF_EM_REL_MASK)

enum
{
	TCF_LAYER_LINK,
	TCF_LAYER_NETWORK,
	TCF_LAYER_TRANSPORT,
	__TCF_LAYER_MAX
};
#define TCF_LAYER_MAX (__TCF_LAYER_MAX - 1)

/* Ematch type assignments
 *   1..32767		Reserved for ematches inside kernel tree
 *   32768..65535	Free to use, not reliable
 */
enum
{
	TCF_EM_CONTAINER,
	TCF_EM_CMP,
	TCF_EM_NBYTE,
	TCF_EM_U32,
	TCF_EM_META,
	__TCF_EM_MAX
};

enum
{
	TCF_EM_PROG_TC
};

enum
{
	TCF_EM_OPND_EQ,
	TCF_EM_OPND_GT,
	TCF_EM_OPND_LT
};

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人少妇影院yyyy| 国产精品第四页| 婷婷国产在线综合| 欧美亚洲国产怡红院影院| 一区二区日韩av| 欧美日韩视频在线一区二区| 亚洲成人午夜影院| 欧美一级搡bbbb搡bbbb| 精品在线播放免费| 国产农村妇女精品| 91美女片黄在线观看| 亚洲一区二区三区四区五区黄| 欧美天堂一区二区三区| 男男gaygay亚洲| 国产无遮挡一区二区三区毛片日本| 国产一区激情在线| 综合久久久久综合| 欧美另类高清zo欧美| 久久爱另类一区二区小说| 精品成人免费观看| 99久久精品国产观看| 天天射综合影视| 久久天天做天天爱综合色| av一区二区不卡| 日本成人中文字幕在线视频 | 中文字幕亚洲一区二区va在线| av午夜一区麻豆| 五月婷婷激情综合网| 久久综合色综合88| 欧美专区亚洲专区| 国产福利精品一区| 午夜欧美2019年伦理| 国产日韩v精品一区二区| 色成年激情久久综合| 精品一区二区三区免费毛片爱 | 亚洲欧洲制服丝袜| 欧美一区三区二区| 91在线国产福利| 九九九精品视频| 伊人色综合久久天天人手人婷| 欧美大片在线观看| 欧美图区在线视频| 成人av网在线| 捆绑调教一区二区三区| 一区二区在线观看视频| 久久香蕉国产线看观看99| 欧美制服丝袜第一页| 成人国产精品免费观看视频| 蜜臀久久久久久久| 亚洲夂夂婷婷色拍ww47| 国产精品乱人伦中文| 欧美成人a∨高清免费观看| 欧美综合在线视频| 91色乱码一区二区三区| 国产高清一区日本| 麻豆91免费观看| 亚洲一区二区综合| 亚洲欧美国产三级| 国产精品色呦呦| 精品国产一区二区三区四区四 | 国产美女精品一区二区三区| 亚洲妇女屁股眼交7| **欧美大码日韩| 国产欧美在线观看一区| 精品国产一区二区三区久久久蜜月 | 欧美午夜不卡在线观看免费| 93久久精品日日躁夜夜躁欧美| 国产一区二区三区四区五区美女| 日日夜夜精品视频免费| 亚洲制服丝袜av| 一区二区三区 在线观看视频| 中文字幕亚洲欧美在线不卡| 国产精品蜜臀av| 中文字幕乱码久久午夜不卡| 久久久亚洲精品一区二区三区| 日韩一区二区影院| 欧美mv和日韩mv的网站| 日韩精品一区二区三区四区视频| 欧美日韩的一区二区| 欧美日韩国产欧美日美国产精品| 在线观看免费成人| 欧美精品久久久久久久久老牛影院| 精品视频999| 欧美精品视频www在线观看| 欧美少妇bbb| 5858s免费视频成人| 欧美一卡2卡三卡4卡5免费| 7799精品视频| 欧美成人激情免费网| 亚洲精品一区二区三区影院| 久久久久国产精品人| 中文字幕不卡的av| 亚洲精品水蜜桃| 午夜精品久久久久久不卡8050| 日本不卡一区二区三区| 国产在线日韩欧美| 成人激情av网| 91豆麻精品91久久久久久| 欧美日韩国产影片| 久久色成人在线| 18成人在线观看| 亚洲在线观看免费视频| 理论电影国产精品| 成人深夜视频在线观看| 欧美亚男人的天堂| 精品国产一区久久| 亚洲另类春色国产| 青青国产91久久久久久 | 99久久99久久精品免费观看| 色综合天天综合在线视频| 欧美日韩亚洲综合在线| 久久久另类综合| 亚洲精品中文在线影院| 全部av―极品视觉盛宴亚洲| 国产一区福利在线| 欧美影院一区二区| 久久日一线二线三线suv| 亚洲欧美福利一区二区| 日本不卡的三区四区五区| 不卡免费追剧大全电视剧网站| 欧美日韩国产123区| 国产欧美日韩卡一| 青青草视频一区| 色婷婷综合在线| 久久综合九色欧美综合狠狠| 亚洲国产视频在线| 国产69精品一区二区亚洲孕妇| 欧美日韩夫妻久久| 亚洲视频资源在线| 韩国在线一区二区| 欧美日韩精品欧美日韩精品一综合| 久久看人人爽人人| 日韩高清中文字幕一区| av亚洲产国偷v产偷v自拍| 精品三级在线看| 午夜精品福利一区二区蜜股av| 成人禁用看黄a在线| 精品剧情在线观看| 亚洲成人先锋电影| 一本一道波多野结衣一区二区| 精品入口麻豆88视频| 午夜婷婷国产麻豆精品| 99麻豆久久久国产精品免费 | 免费成人在线视频观看| 色综合天天性综合| 久久久久久日产精品| 免费成人在线网站| 777久久久精品| 一区二区三区加勒比av| av一二三不卡影片| 中文字幕欧美三区| 国产福利精品一区| 久久久久久亚洲综合| 紧缚奴在线一区二区三区| 欧美精品一二三区| 香蕉久久一区二区不卡无毒影院| 91福利在线播放| 又紧又大又爽精品一区二区| 97精品久久久午夜一区二区三区| 国产亚洲一区二区三区在线观看 | 亚洲精选在线视频| www.日韩精品| 国产精品福利一区二区三区| 国产成人综合自拍| 国产欧美日韩精品一区| 国产成人综合精品三级| 久久久久综合网| 国产精品12区| 国产欧美一区二区精品久导航 | 成人18视频日本| 欧美激情资源网| 不卡av在线网| 亚洲男同性恋视频| 在线免费观看不卡av| 亚洲一区在线视频| 欧美日韩在线精品一区二区三区激情| 亚洲精品久久7777| 欧美日韩在线不卡| 看电视剧不卡顿的网站| 久久这里只精品最新地址| 国产精品911| 亚洲欧洲av一区二区三区久久| 99精品欧美一区| 亚洲综合丝袜美腿| 欧美一区二区在线不卡| 精品一区免费av| 欧美国产一区在线| 色狠狠色狠狠综合| 无码av免费一区二区三区试看 | 亚洲电影一级黄| 91精品久久久久久久99蜜桃| 蜜桃视频在线观看一区| 久久综合色婷婷| 91色视频在线| 日本欧洲一区二区| 亚洲国产激情av| 欧美日韩一二三| 国产乱码精品一区二区三区av| 国产精品三级电影| 欧美日韩另类国产亚洲欧美一级|