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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ipt_ecn.c

?? 優(yōu)龍2410linux2.6.8內(nèi)核源代碼
?? C
字號(hào):
/* iptables module for the IPv4 and TCP ECN bits, Version 1.5 * * (C) 2002 by Harald Welte <laforge@netfilter.org> *  * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as  * published by the Free Software Foundation. * * ipt_ECN.c,v 1.5 2002/08/18 19:36:51 laforge Exp*/#include <linux/module.h>#include <linux/skbuff.h>#include <linux/ip.h>#include <linux/tcp.h>#include <net/checksum.h>#include <linux/netfilter_ipv4/ip_tables.h>#include <linux/netfilter_ipv4/ipt_ECN.h>MODULE_LICENSE("GPL");MODULE_AUTHOR("Harald Welte <laforge@netfilter.org>");MODULE_DESCRIPTION("iptables ECN modification module");/* set ECT codepoint from IP header. * 	return 0 if there was an error. */static inline intset_ect_ip(struct sk_buff **pskb, const struct ipt_ECN_info *einfo){	if (((*pskb)->nh.iph->tos & IPT_ECN_IP_MASK)	    != (einfo->ip_ect & IPT_ECN_IP_MASK)) {		u_int16_t diffs[2];		if (!skb_ip_make_writable(pskb, sizeof(struct iphdr)))			return 0;		diffs[0] = htons((*pskb)->nh.iph->tos) ^ 0xFFFF;		(*pskb)->nh.iph->tos &= ~IPT_ECN_IP_MASK;		(*pskb)->nh.iph->tos |= (einfo->ip_ect & IPT_ECN_IP_MASK);		diffs[1] = htons((*pskb)->nh.iph->tos);		(*pskb)->nh.iph->check			= csum_fold(csum_partial((char *)diffs,						 sizeof(diffs),						 (*pskb)->nh.iph->check						 ^0xFFFF));		(*pskb)->nfcache |= NFC_ALTERED;	} 	return 1;}/* Return 0 if there was an error. */static inline intset_ect_tcp(struct sk_buff **pskb, const struct ipt_ECN_info *einfo, int inward){	struct tcphdr tcph;	u_int16_t diffs[2];	/* Not enought header? */	if (skb_copy_bits(*pskb, (*pskb)->nh.iph->ihl*4, &tcph, sizeof(tcph))	    < 0)		return 0;	diffs[0] = ((u_int16_t *)&tcph)[6];	if (einfo->operation & IPT_ECN_OP_SET_ECE)		tcph.ece = einfo->proto.tcp.ece;	if (einfo->operation & IPT_ECN_OP_SET_CWR)		tcph.cwr = einfo->proto.tcp.cwr;	diffs[1] = ((u_int16_t *)&tcph)[6];	/* Only mangle if it's changed. */	if (diffs[0] != diffs[1]) {		diffs[0] = diffs[0] ^ 0xFFFF;		if (!skb_ip_make_writable(pskb,					  (*pskb)->nh.iph->ihl*4+sizeof(tcph)))			return 0;		if ((*pskb)->ip_summed != CHECKSUM_HW)			tcph.check = csum_fold(csum_partial((char *)diffs,					       sizeof(diffs),					       tcph.check^0xFFFF));		memcpy((*pskb)->data + (*pskb)->nh.iph->ihl*4,		       &tcph, sizeof(tcph));		if ((*pskb)->ip_summed == CHECKSUM_HW)			if (skb_checksum_help(pskb, inward))				return 0;		(*pskb)->nfcache |= NFC_ALTERED;	}	return 1;}static unsigned inttarget(struct sk_buff **pskb,       const struct net_device *in,       const struct net_device *out,       unsigned int hooknum,       const void *targinfo,       void *userinfo){	const struct ipt_ECN_info *einfo = targinfo;	if (einfo->operation & IPT_ECN_OP_SET_IP)		if (!set_ect_ip(pskb, einfo))			return NF_DROP;	if (einfo->operation & (IPT_ECN_OP_SET_ECE | IPT_ECN_OP_SET_CWR)	    && (*pskb)->nh.iph->protocol == IPPROTO_TCP)		if (!set_ect_tcp(pskb, einfo, (out == NULL)))			return NF_DROP;	return IPT_CONTINUE;}static intcheckentry(const char *tablename,	   const struct ipt_entry *e,           void *targinfo,           unsigned int targinfosize,           unsigned int hook_mask){	const struct ipt_ECN_info *einfo = (struct ipt_ECN_info *)targinfo;	if (targinfosize != IPT_ALIGN(sizeof(struct ipt_ECN_info))) {		printk(KERN_WARNING "ECN: targinfosize %u != %Zu\n",		       targinfosize,		       IPT_ALIGN(sizeof(struct ipt_ECN_info)));		return 0;	}	if (strcmp(tablename, "mangle") != 0) {		printk(KERN_WARNING "ECN: can only be called from \"mangle\" table, not \"%s\"\n", tablename);		return 0;	}	if (einfo->operation & IPT_ECN_OP_MASK) {		printk(KERN_WARNING "ECN: unsupported ECN operation %x\n",			einfo->operation);		return 0;	}	if (einfo->ip_ect & ~IPT_ECN_IP_MASK) {		printk(KERN_WARNING "ECN: new ECT codepoint %x out of mask\n",			einfo->ip_ect);		return 0;	}	if ((einfo->operation & (IPT_ECN_OP_SET_ECE|IPT_ECN_OP_SET_CWR))	    && e->ip.proto != IPPROTO_TCP) {		printk(KERN_WARNING "ECN: cannot use TCP operations on a "		       "non-tcp rule\n");		return 0;	}	return 1;}static struct ipt_target ipt_ecn_reg = {	.name		= "ECN",	.target		= target,	.checkentry	= checkentry,	.me		= THIS_MODULE,};static int __init init(void){	return ipt_register_target(&ipt_ecn_reg);}static void __exit fini(void){	ipt_unregister_target(&ipt_ecn_reg);}module_init(init);module_exit(fini);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美国一区二区三区在线播放| 波多野结衣欧美| 欧美极品少妇xxxxⅹ高跟鞋| 欧美午夜精品一区二区蜜桃| 国产福利视频一区二区三区| 亚洲国产精品久久久久婷婷884| 精品国产91乱码一区二区三区| 91精彩视频在线观看| 国产精品一区二区三区四区| 日韩黄色免费网站| 亚洲美女屁股眼交| 欧美高清一级片在线观看| 日韩精品一区二区三区在线观看 | 欧美日韩电影一区| 99久久精品国产一区二区三区 | 国产精品午夜久久| 日韩一区二区三区精品视频| 一本在线高清不卡dvd| 国产馆精品极品| 免费一区二区视频| 午夜精品久久久久久久久久| 一区在线观看视频| 国产亚洲一区二区三区四区| 日韩欧美国产小视频| 欧美精品v国产精品v日韩精品| 91美女片黄在线观看91美女| 成人精品鲁一区一区二区| 精品综合久久久久久8888| 午夜免费欧美电影| 亚洲成人综合网站| 亚洲午夜一二三区视频| 亚洲一线二线三线视频| 亚洲精品中文字幕在线观看| 亚洲日本青草视频在线怡红院| 国产日韩精品一区二区浪潮av| 精品少妇一区二区三区日产乱码| 欧美区一区二区三区| 欧美人牲a欧美精品| 欧美日韩一级视频| 欧美另类videos死尸| 欧美精品日韩一本| 日韩午夜激情免费电影| 日韩欧美高清在线| 亚洲精品在线网站| 中文字幕欧美区| 亚洲欧洲精品一区二区精品久久久| 日本一区二区三区免费乱视频| 国产欧美日韩另类视频免费观看| 久久免费看少妇高潮| 国产欧美一区二区三区在线看蜜臀 | 亚洲成a人片在线观看中文| 亚洲一区二区av电影| 亚洲一区二区四区蜜桃| 五月天一区二区| 日日摸夜夜添夜夜添亚洲女人| 亚洲h动漫在线| 美女久久久精品| 国产成人精品三级麻豆| 91天堂素人约啪| 欧美一区二区精品在线| 久久综合丝袜日本网| 国产精品成人免费在线| 亚洲一区在线电影| 九色综合狠狠综合久久| 成人免费视频一区| 在线国产亚洲欧美| 精品免费日韩av| 中文字幕视频一区| 日韩电影一区二区三区四区| 精品在线免费观看| 99久久精品免费观看| 欧美美女黄视频| 精品剧情v国产在线观看在线| 日本一区二区电影| 亚洲成人激情自拍| 国产成人免费视频网站| 欧美在线一二三四区| 日韩欧美综合在线| **欧美大码日韩| 青娱乐精品在线视频| 99热在这里有精品免费| 欧洲精品中文字幕| 久久综合久久99| 一区二区三区日韩欧美精品| 麻豆一区二区三区| 色国产精品一区在线观看| 日韩三级视频中文字幕| 中文字幕亚洲一区二区va在线| 轻轻草成人在线| 91捆绑美女网站| 精品成人一区二区三区四区| 亚洲欧美日韩国产综合在线| 免费观看在线色综合| 91啦中文在线观看| 国产午夜三级一区二区三| 亚洲国产毛片aaaaa无费看| 国产成人综合在线播放| 9191国产精品| 亚洲免费观看高清完整版在线观看熊 | 中文字幕一区二区三区在线不卡| 免费人成黄页网站在线一区二区| 91麻豆免费在线观看| 精品国产91乱码一区二区三区| 亚洲成人久久影院| 91免费观看视频| 国产日韩欧美在线一区| 蜜臀av一区二区在线免费观看| 色天使色偷偷av一区二区| 国产欧美日韩中文久久| 精品一区中文字幕| 日韩手机在线导航| 日精品一区二区| 欧美亚洲高清一区| 亚洲视频每日更新| 成人性视频免费网站| 久久久精品欧美丰满| 精品午夜久久福利影院| 7777精品久久久大香线蕉| 亚洲影视在线播放| 在线精品国精品国产尤物884a| 亚洲美女免费视频| 91免费版在线| 亚洲男人天堂av| 色综合久久综合网97色综合| 国产精品色婷婷| 岛国一区二区在线观看| 国产亚洲欧美一区在线观看| 国产美女娇喘av呻吟久久| 日韩午夜在线观看视频| 久久精品国产在热久久| 精品奇米国产一区二区三区| 久久精品99久久久| 精品国产伦一区二区三区观看体验 | 欧美在线免费播放| 亚洲午夜影视影院在线观看| 欧美视频在线不卡| 午夜精品久久久久久| 欧美人妇做爰xxxⅹ性高电影| 国产精品一区二区在线播放| 久久九九国产精品| 国产成人精品免费一区二区| 国产精品嫩草99a| jlzzjlzz亚洲女人18| 亚洲欧洲制服丝袜| 欧美日韩在线播放一区| 视频在线观看国产精品| 精品久久五月天| 成人午夜免费av| 亚洲另类在线一区| 欧美人与性动xxxx| 韩国毛片一区二区三区| 久久亚洲欧美国产精品乐播| 国产91精品欧美| 亚洲美女精品一区| 在线播放91灌醉迷j高跟美女| 日本不卡一二三| 欧美国产日产图区| 在线观看不卡一区| 日韩电影一区二区三区| 久久精品亚洲国产奇米99| 成人视屏免费看| 亚洲成人免费视频| 精品免费视频.| 一本色道亚洲精品aⅴ| 天天综合日日夜夜精品| 久久久一区二区三区捆绑**| 99久久精品免费看国产 | 亚洲aaa精品| 精品久久久久久无| 成人免费视频国产在线观看| 亚洲美女精品一区| 欧美成人三级在线| youjizz久久| 天堂午夜影视日韩欧美一区二区| 26uuu色噜噜精品一区| 91麻豆6部合集magnet| 麻豆91在线播放| 亚洲三级免费电影| 精品久久久久久久久久久久久久久| 成人毛片在线观看| 蜜臀av一区二区三区| 亚洲欧美另类综合偷拍| 精品久久久久久亚洲综合网| 91看片淫黄大片一级| 老司机免费视频一区二区| 一区在线播放视频| 欧美tk丨vk视频| 欧美性生活影院| 国产成人99久久亚洲综合精品| 污片在线观看一区二区| 中文字幕精品一区二区三区精品| 欧美嫩在线观看| 91丨porny丨户外露出| 久久成人麻豆午夜电影| 亚洲在线视频一区| 中文字幕 久热精品 视频在线| 91精品国产综合久久国产大片| av在线不卡网| 高清av一区二区| 九九精品视频在线看|