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

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

?? simple-beet-ph-patch-2.6.9

?? HIP:Host Identity Protocol
?? 9
?? 第 1 頁 / 共 2 頁
字號:
--	top_iph->ttl = dst_path_metric(dst, RTAX_HOPLIMIT);+	skb->nh.raw = skb_push(skb, hdrlen);+	top_iph = skb->nh.iph;+	hdrlen = iph->ihl * 4 - optlen;+	switch (x->props.mode) {+	case XFRM_MODE_TRANSPORT:+		skb->h.raw += hdrlen;+		memmove(top_iph, iph, hdrlen);+ 		return;+ +	case XFRM_MODE_BEET:+		skb->h.raw += hdrlen;+		memmove(top_iph, iph, hdrlen);+		if (unlikely(optlen)) {+			struct ip_beet_phdr *ph;++			BUG_ON(optlen < 0);++			ph = (struct ip_beet_phdr *)skb->h.raw;+			ph->padlen = 4 - (optlen & 4);+			ph->hdrlen = (optlen + ph->padlen + sizeof(*ph)) / 8;+			ph->nexthdr = top_iph->protocol;+ +			top_iph->protocol = IPPROTO_BEETPH;+			top_iph->ihl = sizeof(struct iphdr) / 4;+		}+		break;+ +	default:+	case XFRM_MODE_TUNNEL:+		top_iph->ihl = 5;+		top_iph->version = 4;+ +		/* DS disclosed */+		top_iph->tos = INET_ECN_encapsulate(iph->tos, iph->tos);+ +		flags = x->props.flags;+		if (flags & XFRM_STATE_NOECN)+			IP_ECN_clear(top_iph);+ +		top_iph->frag_off = iph->frag_off & htons(IP_DF);+		if (!top_iph->frag_off)+			__ip_select_ident(top_iph, dst, 0);++		top_iph->ttl = dst_metric(dst->child, RTAX_HOPLIMIT);++		top_iph->protocol = IPPROTO_IPIP;+		memset(&(IPCB(skb)->opt), 0, sizeof(struct ip_options));+		break;+	}  	top_iph->saddr = x->props.saddr.a4; 	top_iph->daddr = x->id.daddr.a4;-	top_iph->protocol = IPPROTO_IPIP;--	memset(&(IPCB(skb)->opt), 0, sizeof(struct ip_options)); }  static int xfrm4_tunnel_check_size(struct sk_buff *skb)@@ -110,7 +148,7 @@ 	if (err) 		goto error; -	if (x->props.mode) {+	if (x->props.mode == XFRM_MODE_TUNNEL) { 		err = xfrm4_tunnel_check_size(skb); 		if (err) 			goto error;diff -urN linux-2.6.9/net/ipv4/xfrm4_tunnel.c linux-2.6.9-simple-patch/net/ipv4/xfrm4_tunnel.c--- linux-2.6.9/net/ipv4/xfrm4_tunnel.c	2004-10-19 00:53:21.000000000 +0300+++ linux-2.6.9-simple-patch/net/ipv4/xfrm4_tunnel.c	2006-08-05 15:08:02.000000000 +0300@@ -86,15 +86,22 @@  static int ipip_init_state(struct xfrm_state *x, void *args) {-	if (!x->props.mode)-		return -EINVAL;- 	if (x->encap) 		return -EINVAL; -	x->props.header_len = sizeof(struct iphdr);--	return 0;+	switch (x->props.mode) {+	case XFRM_MODE_TRANSPORT:+		return -EINVAL;+	default:+	case XFRM_MODE_TUNNEL:+		x->props.header_len = sizeof(struct iphdr);+		break;+	case XFRM_MODE_BEET:+		x->props.header_len += IPV4_BEET_PHMAXLEN;+		break;+	}+ + 	return 0; }  static void ipip_destroy(struct xfrm_state *x)diff -urN linux-2.6.9/net/ipv6/ah6.c linux-2.6.9-simple-patch/net/ipv6/ah6.c--- linux-2.6.9/net/ipv6/ah6.c	2004-10-19 00:54:39.000000000 +0300+++ linux-2.6.9-simple-patch/net/ipv6/ah6.c	2006-08-05 15:08:02.000000000 +0300@@ -396,7 +396,7 @@ 		goto error; 	 	x->props.header_len = XFRM_ALIGN8(sizeof(struct ipv6_auth_hdr) + ahp->icv_trunc_len);-	if (x->props.mode)+	if (x->props.mode == XFRM_MODE_TUNNEL) 		x->props.header_len += sizeof(struct ipv6hdr); 	x->data = ahp; diff -urN linux-2.6.9/net/ipv6/esp6.c linux-2.6.9-simple-patch/net/ipv6/esp6.c--- linux-2.6.9/net/ipv6/esp6.c	2004-10-19 00:54:37.000000000 +0300+++ linux-2.6.9-simple-patch/net/ipv6/esp6.c	2006-08-05 15:08:02.000000000 +0300@@ -366,7 +366,7 @@ 	} 	crypto_cipher_setkey(esp->conf.tfm, esp->conf.key, esp->conf.key_len); 	x->props.header_len = sizeof(struct ipv6_esp_hdr) + esp->conf.ivlen;-	if (x->props.mode)+	if (x->props.mode == XFRM_MODE_TUNNEL) 		x->props.header_len += sizeof(struct ipv6hdr); 	x->data = esp; 	return 0;diff -urN linux-2.6.9/net/ipv6/ipcomp6.c linux-2.6.9-simple-patch/net/ipv6/ipcomp6.c--- linux-2.6.9/net/ipv6/ipcomp6.c	2004-10-19 00:54:08.000000000 +0300+++ linux-2.6.9-simple-patch/net/ipv6/ipcomp6.c	2006-08-05 15:08:02.000000000 +0300@@ -450,7 +450,7 @@  	memset(ipcd, 0, sizeof(*ipcd)); 	x->props.header_len = 0;-	if (x->props.mode)+	if (x->props.mode == XFRM_MODE_TUNNEL) 		x->props.header_len += sizeof(struct ipv6hdr); 	 	down(&ipcomp6_resource_sem);@@ -462,7 +462,7 @@ 		goto error; 	up(&ipcomp6_resource_sem); -	if (x->props.mode) {+	if (x->props.mode == XFRM_MODE_TUNNEL) { 		err = ipcomp6_tunnel_attach(x); 		if (err) 			goto error_tunnel;diff -urN linux-2.6.9/net/ipv6/xfrm6_input.c linux-2.6.9-simple-patch/net/ipv6/xfrm6_input.c--- linux-2.6.9/net/ipv6/xfrm6_input.c	2004-10-19 00:55:36.000000000 +0300+++ linux-2.6.9-simple-patch/net/ipv6/xfrm6_input.c	2006-08-05 15:08:02.000000000 +0300@@ -80,7 +80,7 @@  		xfrm_vec[xfrm_nr++].xvec = x; -		if (x->props.mode) { /* XXX */+		if (x->props.mode == XFRM_MODE_TUNNEL) { 			if (nexthdr != IPPROTO_IPV6) 				goto drop; 			if (!pskb_may_pull(skb, sizeof(struct ipv6hdr)))@@ -97,6 +97,30 @@ 			skb->nh.raw = skb->data; 			decaps = 1; 			break;+		} else if (x->props.mode == XFRM_MODE_BEET) {+			int size = sizeof(struct ipv6hdr);+			if (skb_cloned(skb) &&+			    pskb_expand_head(skb, 0, 0, GFP_ATOMIC))+				goto drop;++			skb_push(skb, size);+			memmove(skb->data, skb->nh.raw, size);+			skb->nh.raw = skb->data;++			skb->mac.raw = memmove(skb->data - skb->mac_len,+					       skb->mac.raw, skb->mac_len);++			if (x->sel.family == AF_INET6) {+				struct ipv6hdr *ip6h = skb->nh.ipv6h;+				ip6h = skb->nh.ipv6h;+				ip6h->payload_len = htons(skb->len - size);+				ipv6_addr_copy(&ip6h->daddr, (struct in6_addr *) &x->sel.daddr.a6);+				ipv6_addr_copy(&ip6h->saddr, (struct in6_addr *) &x->sel.saddr.a6);+			} else+				BUG_ON(1);++			decaps = 1;+			break; 		}  		if ((err = xfrm_parse_spi(skb, nexthdr, &spi, &seq)) < 0)diff -urN linux-2.6.9/net/ipv6/xfrm6_output.c linux-2.6.9-simple-patch/net/ipv6/xfrm6_output.c--- linux-2.6.9/net/ipv6/xfrm6_output.c	2004-10-19 00:55:07.000000000 +0300+++ linux-2.6.9-simple-patch/net/ipv6/xfrm6_output.c	2006-08-05 15:32:24.000000000 +0300@@ -42,7 +42,8 @@ 	skb_push(skb, x->props.header_len); 	iph = skb->nh.ipv6h; -	if (!x->props.mode) {+	if (x->props.mode == XFRM_MODE_TRANSPORT ||+	    x->props.mode == XFRM_MODE_BEET) { 		u8 *prevhdr; 		int hdr_len; @@ -50,26 +51,28 @@ 		skb->nh.raw = prevhdr - x->props.header_len; 		skb->h.raw = skb->data + hdr_len; 		memmove(skb->data, iph, hdr_len);-		return;+		if (x->props.mode == XFRM_MODE_TRANSPORT)+			return; 	}  	skb->nh.raw = skb->data; 	top_iph = skb->nh.ipv6h; 	skb->nh.raw = &top_iph->nexthdr; 	skb->h.ipv6h = top_iph + 1;--	top_iph->version = 6;-	top_iph->priority = iph->priority;-	top_iph->flow_lbl[0] = iph->flow_lbl[0];-	top_iph->flow_lbl[1] = iph->flow_lbl[1];-	top_iph->flow_lbl[2] = iph->flow_lbl[2];-	dsfield = ipv6_get_dsfield(top_iph);-	dsfield = INET_ECN_encapsulate(dsfield, dsfield);-	if (x->props.flags & XFRM_STATE_NOECN)-		dsfield &= ~INET_ECN_MASK;-	ipv6_change_dsfield(top_iph, 0, dsfield);-	top_iph->nexthdr = IPPROTO_IPV6; -	top_iph->hop_limit = dst_path_metric(dst, RTAX_HOPLIMIT);+	if(x->props.mode == XFRM_MODE_TUNNEL) {+		top_iph->version = 6;+		top_iph->priority = iph->priority;+		top_iph->flow_lbl[0] = iph->flow_lbl[0];+		top_iph->flow_lbl[1] = iph->flow_lbl[1];+		top_iph->flow_lbl[2] = iph->flow_lbl[2];+		dsfield = ipv6_get_dsfield(top_iph);+		dsfield = INET_ECN_encapsulate(dsfield, dsfield);+		if (x->props.flags & XFRM_STATE_NOECN)+			dsfield &= ~INET_ECN_MASK;+		ipv6_change_dsfield(top_iph, 0, dsfield);+		top_iph->nexthdr = IPPROTO_IPV6; +		top_iph->hop_limit = dst_path_metric(dst, RTAX_HOPLIMIT);+	} 	ipv6_addr_copy(&top_iph->saddr, (struct in6_addr *)&x->props.saddr); 	ipv6_addr_copy(&top_iph->daddr, (struct in6_addr *)&x->id.daddr); }@@ -110,7 +113,7 @@ 	if (err) 		goto error; -	if (x->props.mode) {+	if (x->props.mode == XFRM_MODE_TUNNEL) { 		err = xfrm6_tunnel_check_size(skb); 		if (err) 			goto error;diff -urN linux-2.6.9/net/key/af_key.c linux-2.6.9-simple-patch/net/key/af_key.c--- linux-2.6.9/net/key/af_key.c	2004-10-19 00:55:36.000000000 +0300+++ linux-2.6.9-simple-patch/net/key/af_key.c	2006-08-05 15:08:02.000000000 +0300@@ -1065,7 +1065,8 @@ 		/* Nobody uses this, but we try. */ 		x->sel.family = pfkey_sadb_addr2xfrm_addr(addr, &x->sel.saddr); 		x->sel.prefixlen_s = addr->sadb_address_prefixlen;-	}+	} else+		x->sel.family = x->props.family; /* Conservative */  	if (ext_hdrs[SADB_X_EXT_NAT_T_TYPE-1]) { 		struct sadb_x_nat_t_type* n_type;diff -urN linux-2.6.9/net/xfrm/xfrm_user.c linux-2.6.9-simple-patch/net/xfrm/xfrm_user.c--- linux-2.6.9/net/xfrm/xfrm_user.c	2004-10-19 00:54:32.000000000 +0300+++ linux-2.6.9-simple-patch/net/xfrm/xfrm_user.c	2006-08-05 15:08:02.000000000 +0300@@ -141,8 +141,9 @@  	err = -EINVAL; 	switch (p->mode) {-	case 0:-	case 1:+	case XFRM_MODE_TRANSPORT:+	case XFRM_MODE_TUNNEL:+	case XFRM_MODE_BEET: 		break;  	default:@@ -585,6 +586,7 @@ 	int i;  	xp->xfrm_nr = nr;+	xp->family = ut->family; 	for (i = 0; i < nr; i++, ut++) { 		struct xfrm_tmpl *t = &xp->xfrm_vec[i]; 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内久久精品视频| 五月综合激情婷婷六月色窝| 久久综合五月天婷婷伊人| 欧美在线观看视频在线| 色哟哟国产精品| 欧美性视频一区二区三区| 欧美视频一区二区三区在线观看| 在线观看视频一区二区 | 日韩亚洲欧美在线| 欧美一区二区三区在线电影| 日韩三级精品电影久久久| 日韩一区二区三区电影在线观看| 欧美一区二区三级| 精品少妇一区二区三区在线播放| 精品第一国产综合精品aⅴ| 久久久99久久| 亚洲男人的天堂在线aⅴ视频| 亚洲资源中文字幕| 天堂精品中文字幕在线| 久久99国产精品久久| 国产91对白在线观看九色| 在线免费不卡电影| 精品精品国产高清a毛片牛牛| 中文字幕乱码亚洲精品一区 | 色综合久久综合网97色综合| 欧美性猛片aaaaaaa做受| 欧美第一区第二区| 综合分类小说区另类春色亚洲小说欧美 | 精品国产乱码久久久久久牛牛| 国产欧美日韩中文久久| 一区二区三区日本| 理论电影国产精品| 91丨porny丨国产| 欧美一区二区视频在线观看| 中文字幕欧美国产| 日韩经典一区二区| 色综合中文字幕| 久久综合色综合88| 亚洲一区二区成人在线观看| 国产福利精品导航| 91精品国模一区二区三区| 亚洲人被黑人高潮完整版| 久久99精品久久久久| 在线视频欧美精品| 国产午夜一区二区三区| 日韩黄色片在线观看| 91视频国产资源| 精品国产乱码久久久久久蜜臀| 夜夜夜精品看看| 91丨porny丨中文| 中文字幕不卡在线| 久久99精品国产| 日韩一级高清毛片| 亚洲午夜av在线| 日本高清不卡在线观看| 中文久久乱码一区二区| 久久97超碰色| 欧美一区二区三区四区高清| 亚洲一区二区三区四区中文字幕 | 97se亚洲国产综合自在线不卡| 日韩视频在线永久播放| 日韩二区三区四区| 欧美精品少妇一区二区三区| 亚洲精品日韩一| 色婷婷久久久亚洲一区二区三区 | 久久久久久久久久久电影| 青青草原综合久久大伊人精品 | 国产精品人妖ts系列视频| 国内精品免费在线观看| 欧美不卡视频一区| 激情图区综合网| 久久久精品2019中文字幕之3| 美女一区二区三区| 555夜色666亚洲国产免| 日韩电影免费一区| 日韩欧美国产午夜精品| 久久成人久久爱| 日本一区二区三区国色天香 | 日韩中文字幕不卡| 91精品国产综合久久精品性色| 亚洲国产wwwccc36天堂| 911国产精品| 视频一区视频二区中文字幕| 日韩色在线观看| 国产乱色国产精品免费视频| 国产日韩精品一区二区三区在线| 成人动漫一区二区| 亚洲一区二区在线免费看| 欧美日本在线一区| 精品一区二区免费视频| 国产精品人成在线观看免费 | 日韩精品亚洲专区| 精品国产乱码久久久久久夜甘婷婷| 国产乱码精品一区二区三区五月婷| 中文字幕精品一区二区三区精品| 国产成人精品www牛牛影视| 亚洲另类春色国产| 欧美精品视频www在线观看| 免费成人性网站| 久久久99久久精品欧美| 91黄色小视频| 韩国精品在线观看| 亚洲精品视频在线观看网站| 在线综合视频播放| 波多野结衣中文字幕一区二区三区| 一区二区在线观看免费视频播放| 欧美一级爆毛片| www.久久精品| 美女脱光内衣内裤视频久久影院| 欧美激情在线看| 欧美写真视频网站| 国产美女主播视频一区| 亚洲影院久久精品| 久久精品一区二区三区av| 精品视频免费在线| 国产成人av自拍| 日韩高清国产一区在线| 亚洲婷婷综合色高清在线| 日韩一区和二区| 在线观看亚洲精品视频| 精品综合免费视频观看| 亚洲一区影音先锋| 国产精品女人毛片| 精品久久99ma| 欧美久久久久久蜜桃| 99久久国产综合精品女不卡| 韩国视频一区二区| 日本欧美一区二区三区| 亚洲一区二区在线免费看| 国产精品久久三区| 国产女人18毛片水真多成人如厕| 日韩欧美自拍偷拍| 精品视频在线看| 日本韩国精品在线| 99国产欧美另类久久久精品 | 色菇凉天天综合网| 播五月开心婷婷综合| 国产一区二区不卡| 久久se这里有精品| 日本系列欧美系列| 亚洲妇熟xx妇色黄| 亚洲一区二三区| 一区二区三区日韩欧美精品| 亚洲女子a中天字幕| 国产人成亚洲第一网站在线播放 | 中文字幕第一区二区| 久久免费视频一区| 亚洲精品一区二区三区99| 欧美一区二区三区日韩| 91精品欧美综合在线观看最新| 欧美私模裸体表演在线观看| 色诱亚洲精品久久久久久| 91浏览器在线视频| 在线影视一区二区三区| 色婷婷久久久久swag精品| 91蝌蚪porny九色| 色婷婷狠狠综合| 在线观看不卡一区| 欧美高清视频www夜色资源网| 日本精品视频一区二区| 欧美三区在线视频| 欧美电影在哪看比较好| 日韩情涩欧美日韩视频| 精品88久久久久88久久久| 久久久国产综合精品女国产盗摄| 久久精品日产第一区二区三区高清版 | 国产成人精品一区二区三区网站观看| 久久99久久久欧美国产| 国产一区二区看久久| 成人h动漫精品| 日本韩国一区二区三区视频| 欧美精品18+| 久久亚洲精品小早川怜子| 日本一区二区免费在线观看视频| 国产精品国产三级国产普通话蜜臀| 中文字幕一区视频| 亚洲18色成人| 激情综合网最新| 国产不卡免费视频| 色噜噜狠狠色综合欧洲selulu| 欧美精品v日韩精品v韩国精品v| 精品久久一区二区| 综合中文字幕亚洲| 日产国产欧美视频一区精品| 成人看片黄a免费看在线| 色系网站成人免费| 欧美一卡二卡三卡四卡| 国产精品久线在线观看| 亚洲福利一区二区| 国产成人免费视频精品含羞草妖精| 91免费版pro下载短视频| 3d动漫精品啪啪1区2区免费| 国产欧美日韩视频一区二区| 亚洲高清免费在线| 不卡的电影网站| 日韩欧美中文字幕制服| 夜夜嗨av一区二区三区中文字幕| 国产麻豆精品视频| 欧美日韩国产天堂| 中文字幕一区二区三区色视频|