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

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

?? simple-beet-ph-patch-2.6.9

?? Host Identity Protocol on Linux is an implemetation of the Host Identity Protocol (HIP) and the rela
?? 9
?? 第 1 頁 / 共 2 頁
字號(hào):
--	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]; 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电影在哪看比较好| 欧美伦理电影网| 日韩一区精品字幕| 欧美国产精品中文字幕| 欧美专区在线观看一区| 国产成人亚洲综合a∨婷婷图片| 一区二区三区欧美久久| 久久亚洲精精品中文字幕早川悠里| 色欧美乱欧美15图片| 国产在线观看免费一区| 偷拍与自拍一区| 亚洲欧洲国产专区| 精品91自产拍在线观看一区| 欧美性感一区二区三区| 成人av在线播放网站| 久久精品99国产精品日本| 一区二区高清在线| 中文天堂在线一区| 精品欧美乱码久久久久久1区2区| 在线观看日韩毛片| a级精品国产片在线观看| 精品一区二区影视| 日韩国产欧美在线播放| 一区二区三区四区不卡视频| 中文字幕免费不卡在线| 久久综合色天天久久综合图片| 717成人午夜免费福利电影| 97精品久久久午夜一区二区三区| 国产精品一区2区| 久久精品国产一区二区三区免费看 | 久久精品综合网| 日韩一区二区电影| 欧美精品欧美精品系列| 91成人网在线| 91亚洲精华国产精华精华液| 粉嫩久久99精品久久久久久夜| 激情五月婷婷综合| 麻豆精品久久久| 视频一区欧美日韩| 午夜精品123| 亚洲大片一区二区三区| 亚洲国产欧美在线| 亚洲午夜一区二区| 亚洲午夜电影网| 亚洲国产wwwccc36天堂| 亚洲一区精品在线| 亚洲一二三专区| 亚洲一区二区在线免费观看视频| 亚洲色图20p| 亚洲另类一区二区| 亚洲综合一区在线| 天堂av在线一区| 日本不卡一区二区三区| 青青草97国产精品免费观看| 琪琪久久久久日韩精品| 久久国产日韩欧美精品| 国产九色精品成人porny| 国产精品主播直播| 波多野结衣欧美| 91免费在线看| 欧美日韩亚洲国产综合| 91麻豆精品国产91久久久久| 欧美一级黄色录像| 久久伊99综合婷婷久久伊| 久久久av毛片精品| 中文字幕中文乱码欧美一区二区| 亚洲欧美成人一区二区三区| 亚洲成va人在线观看| 卡一卡二国产精品| 成人综合在线视频| 在线观看亚洲a| 日韩一级在线观看| 日本一区二区三区国色天香 | 亚洲超碰精品一区二区| 日本中文在线一区| 国产福利精品一区二区| 色久综合一二码| 日韩视频一区二区在线观看| 国产欧美日本一区视频| 亚洲影视在线观看| 精品一区二区免费看| 91性感美女视频| 91精品国产综合久久福利| 国产午夜久久久久| 亚洲图片欧美色图| 韩国三级中文字幕hd久久精品| av中文字幕亚洲| 91精品国产欧美一区二区18 | 国产精品一品二品| 91高清视频免费看| 久久久久久免费网| 夜夜爽夜夜爽精品视频| 国产一区二区毛片| 欧美在线观看一区| 久久亚洲一级片| 亚洲成人免费在线观看| 国产成人激情av| 7777精品伊人久久久大香线蕉 | 国产成人综合亚洲91猫咪| 91黄色免费观看| 日本一区二区三区在线不卡| 五月天婷婷综合| 99久久伊人网影院| 精品久久国产老人久久综合| 亚洲综合清纯丝袜自拍| 国产精品99久| 日韩一区二区不卡| 亚洲主播在线观看| 成人av午夜电影| 精品国产免费人成电影在线观看四季 | 麻豆精品在线播放| 欧美色爱综合网| 亚洲欧洲色图综合| 国产毛片精品视频| 日韩欧美在线网站| 亚洲第一久久影院| 日本韩国欧美一区| 国产精品美女久久久久aⅴ| 日本欧美一区二区| 欧美日韩国产123区| 亚洲精品视频在线看| 国产成人av自拍| 久久蜜桃香蕉精品一区二区三区| 天堂精品中文字幕在线| 欧美三级资源在线| 亚洲已满18点击进入久久| 99久久精品一区| 国产精品卡一卡二卡三| 国产成人精品亚洲午夜麻豆| 久久免费精品国产久精品久久久久| 性做久久久久久| 欧美日精品一区视频| 一区二区三区四区高清精品免费观看 | 久久91精品国产91久久小草| 欧美日本一区二区三区| 一区二区三区欧美在线观看| 99精品国产视频| 亚洲丝袜美腿综合| 色综合 综合色| 亚洲欧美日韩国产中文在线| 99久久免费国产| 亚洲色图制服诱惑 | 国产精品网曝门| 风间由美一区二区三区在线观看 | 欧美视频日韩视频在线观看| 亚洲精品高清视频在线观看| 99国内精品久久| 亚洲视频中文字幕| 色94色欧美sute亚洲线路一久| 亚洲精品成人天堂一二三| 在线观看亚洲a| 五月天激情综合网| 日韩一区二区精品| 国产麻豆精品久久一二三| 久久久国产一区二区三区四区小说| 国产精品羞羞答答xxdd| 国产欧美一区二区三区鸳鸯浴 | 欧美日韩免费电影| 丝瓜av网站精品一区二区| 欧美一区二区三区免费在线看 | 久久99精品网久久| 久久久精品综合| av电影在线观看一区| 一区二区国产盗摄色噜噜| 91麻豆精品国产| 国产精品自在欧美一区| 中文字幕日韩一区| 欧美亚洲日本一区| 蜜桃av一区二区在线观看| 久久久久久久精| 91免费看视频| 日韩高清一区在线| 国产日韩亚洲欧美综合| 99久久精品免费| 丝袜美腿亚洲色图| 久久久久高清精品| 在线视频综合导航| 久久97超碰国产精品超碰| 中文无字幕一区二区三区 | 亚洲人成精品久久久久久 | 国产精品色一区二区三区| 在线观看区一区二| 国内精品久久久久影院薰衣草| 国产精品每日更新| 欧美日韩国产欧美日美国产精品| 久久国产视频网| 亚洲免费毛片网站| 精品国产乱码久久久久久浪潮| 99精品视频一区| 麻豆91精品视频| 一区二区三区精品视频| 精品国产一区二区三区久久影院 | 在线观看亚洲精品视频| 国模大尺度一区二区三区| 亚洲欧美激情视频在线观看一区二区三区 | 视频一区视频二区在线观看| 中文成人av在线| 日韩精品中文字幕在线一区| 91麻豆国产在线观看| 国产精品影视在线观看|