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

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

?? beet-ph-patch-v1.0-2.6.15.6

?? Host Identity Protocol on Linux is an implemetation of the Host Identity Protocol (HIP) and the rela
?? 6
?? 第 1 頁 / 共 2 頁
字號:
-	if (!top_iph->frag_off)-		__ip_select_ident(top_iph, dst, 0);--	top_iph->ttl = dst_metric(dst->child, 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 = (flags & XFRM_STATE_NOPMTUDISC) ?+			0 : (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)@@ -107,7 +142,7 @@ 			goto error_nolock; 	} -	if (x->props.mode) {+	if (x->props.mode == XFRM_MODE_TUNNEL) { 		err = xfrm4_tunnel_check_size(skb); 		if (err) 			goto error_nolock;diff -urN 2.6.15.6/net/ipv4/xfrm4_tunnel.c beet/net/ipv4/xfrm4_tunnel.c--- 2.6.15.6/net/ipv4/xfrm4_tunnel.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/ipv4/xfrm4_tunnel.c	2006-03-04 11:42:10.000000000 +0200@@ -85,15 +85,22 @@  static int ipip_init_state(struct xfrm_state *x) {-	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 2.6.15.6/net/ipv6/ah6.c beet/net/ipv6/ah6.c--- 2.6.15.6/net/ipv6/ah6.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/ipv6/ah6.c	2006-03-11 14:44:56.000000000 +0200@@ -393,7 +393,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 2.6.15.6/net/ipv6/esp6.c beet/net/ipv6/esp6.c--- 2.6.15.6/net/ipv6/esp6.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/ipv6/esp6.c	2006-03-11 14:44:56.000000000 +0200@@ -358,7 +358,7 @@ 	if (crypto_cipher_setkey(esp->conf.tfm, esp->conf.key, esp->conf.key_len)) 		goto error; 	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 2.6.15.6/net/ipv6/ipcomp6.c beet/net/ipv6/ipcomp6.c--- 2.6.15.6/net/ipv6/ipcomp6.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/ipv6/ipcomp6.c	2006-03-11 14:44:56.000000000 +0200@@ -433,7 +433,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);@@ -445,7 +445,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 2.6.15.6/net/ipv6/xfrm6_input.c beet/net/ipv6/xfrm6_input.c--- 2.6.15.6/net/ipv6/xfrm6_input.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/ipv6/xfrm6_input.c	2006-03-06 23:56:49.000000000 +0200@@ -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 2.6.15.6/net/ipv6/xfrm6_output.c beet/net/ipv6/xfrm6_output.c--- 2.6.15.6/net/ipv6/xfrm6_output.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/ipv6/xfrm6_output.c	2006-03-11 13:54:36.000000000 +0200@@ -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_metric(dst->child, 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_metric(dst->child, 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); }@@ -104,7 +107,7 @@ 			goto error_nolock; 	} -	if (x->props.mode) {+	if (x->props.mode == XFRM_MODE_TUNNEL) { 		err = xfrm6_tunnel_check_size(skb); 		if (err) 			goto error_nolock;diff -urN 2.6.15.6/net/key/af_key.c beet/net/key/af_key.c--- 2.6.15.6/net/key/af_key.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/key/af_key.c	2006-03-11 14:44:56.000000000 +0200@@ -1074,7 +1074,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 2.6.15.6/net/xfrm/xfrm_user.c beet/net/xfrm/xfrm_user.c--- 2.6.15.6/net/xfrm/xfrm_user.c	2006-03-05 21:07:54.000000000 +0200+++ beet/net/xfrm/xfrm_user.c	2006-03-11 14:44:56.000000000 +0200@@ -148,8 +148,9 @@  	err = -EINVAL; 	switch (p->mode) {-	case 0:-	case 1:+	case XFRM_MODE_TRANSPORT:+	case XFRM_MODE_TUNNEL:+	case XFRM_MODE_BEET: 		break;  	default:@@ -609,6 +610,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一区二区三区免费野_久草精品视频
亚洲成人在线网站| 日韩视频免费观看高清完整版 | 欧美高清在线精品一区| 亚洲人成伊人成综合网小说| 日本va欧美va精品发布| 99久久精品免费观看| 日韩一二在线观看| 亚洲免费视频中文字幕| 狠狠狠色丁香婷婷综合激情| 欧洲一区在线观看| 国产精品热久久久久夜色精品三区 | 欧美日韩午夜在线视频| 国产精品嫩草99a| 欧美在线观看视频一区二区| 欧美丝袜第三区| 日本久久精品电影| 亚洲国产成人自拍| 久久精品国产成人一区二区三区 | 欧美一区二区三区在线观看视频| 国产精品国产三级国产aⅴ入口| 日韩中文字幕91| 欧美专区日韩专区| 亚洲三级视频在线观看| 成人性色生活片| 国产亚洲美州欧州综合国| 麻豆久久久久久久| 日韩一级视频免费观看在线| 一区二区免费在线播放| 色婷婷国产精品| 亚洲三级久久久| 国产精品99久久久久久久vr| 亚洲大片在线观看| 国产丝袜美腿一区二区三区| 中文字幕在线一区免费| 成人中文字幕合集| 国产偷国产偷亚洲高清人白洁 | 亚洲国产岛国毛片在线| 国产乱码精品1区2区3区| 亚洲精品一区二区三区精华液| 狂野欧美性猛交blacked| 日韩一区二区三区在线| 蜜臀av性久久久久av蜜臀妖精| 欧美高清视频一二三区 | 国产婷婷一区二区| 国产一区二三区| 久久精品视频在线看| 国产成人一区二区精品非洲| 一区二区三区在线高清| 欧美午夜在线一二页| 91精品午夜视频| 蜜臀av一区二区在线观看 | 色综合av在线| 亚洲综合一区二区三区| 8v天堂国产在线一区二区| 日韩精品一二区| 欧美刺激午夜性久久久久久久| 久久超碰97中文字幕| 久久一二三国产| 成人av网址在线| 一区二区成人在线| 欧美不卡一二三| av中文字幕亚洲| 午夜视黄欧洲亚洲| 国产性色一区二区| 在线免费视频一区二区| 久久av老司机精品网站导航| 国产日韩欧美高清在线| 91久久精品一区二区| 日本视频一区二区| 国产人伦精品一区二区| 欧美色图12p| 国产麻豆精品一区二区| 一区二区三区中文字幕精品精品 | 粉嫩绯色av一区二区在线观看 | 97精品国产97久久久久久久久久久久| 亚洲日本欧美天堂| 欧美tickle裸体挠脚心vk| 一本色道亚洲精品aⅴ| 美国十次综合导航| ...中文天堂在线一区| 日韩欧美卡一卡二| 色先锋资源久久综合| 国产一区激情在线| 午夜精品久久久久久久| 国产精品理论在线观看| 日韩一区二区三区免费观看| 99久久精品国产导航| 精品无人码麻豆乱码1区2区 | 久久久美女艺术照精彩视频福利播放| 91在线小视频| 国产激情一区二区三区| 午夜精品久久久久久不卡8050| 国产精品久久久久久亚洲毛片| 欧美一区二区福利在线| 在线观看国产日韩| 不卡的电影网站| 国产成人av电影免费在线观看| 日韩电影网1区2区| 亚洲一区二区五区| 亚洲天堂精品视频| 国产喷白浆一区二区三区| 亚洲欧美日韩综合aⅴ视频| 欧美电影免费观看高清完整版在线观看 | jlzzjlzz欧美大全| 国产精品自拍毛片| 久久精品国产亚洲高清剧情介绍 | 午夜精品久久久久久久久久久| 中文字幕一区不卡| 国产精品久久久久久一区二区三区| 欧美成人r级一区二区三区| 欧美蜜桃一区二区三区| 精品污污网站免费看| 色婷婷久久久久swag精品| 91一区一区三区| 99久久综合国产精品| 成a人片国产精品| 成人av资源网站| 99re66热这里只有精品3直播| 成人h动漫精品一区二| 成人av影视在线观看| 成人福利视频网站| 99久久综合色| 在线观看日韩电影| 欧日韩精品视频| 欧美精选在线播放| 日韩一区二区在线观看视频 | 91久久精品一区二区三区| 91丨porny丨在线| 欧美性极品少妇| 91精品国产综合久久久久久久| 欧美美女喷水视频| 日韩女同互慰一区二区| 精品国产3级a| 中文字幕av资源一区| 最新中文字幕一区二区三区| 亚洲少妇屁股交4| 天堂久久久久va久久久久| 奇米在线7777在线精品 | 9人人澡人人爽人人精品| 91丝袜国产在线播放| 欧美日韩黄色影视| 久久夜色精品一区| 亚洲女人****多毛耸耸8| 午夜视频在线观看一区| 狠狠色丁香久久婷婷综| 99这里只有精品| 欧美麻豆精品久久久久久| 欧美本精品男人aⅴ天堂| 国产精品日日摸夜夜摸av| 亚洲综合一区二区| 久久99久久99小草精品免视看| 顶级嫩模精品视频在线看| 欧美色精品在线视频| 久久精品亚洲精品国产欧美| 亚洲女女做受ⅹxx高潮| 免费成人小视频| 不卡的av在线| 日韩欧美亚洲一区二区| 中文字幕亚洲电影| 蜜桃一区二区三区在线| 99久久久无码国产精品| 91精品国产综合久久久久久久 | 一区二区三区在线影院| 另类欧美日韩国产在线| 色偷偷久久一区二区三区| 91麻豆精品国产| 综合久久综合久久| 国产在线精品一区二区夜色| 在线视频国内一区二区| 国产拍揄自揄精品视频麻豆| 日韩主播视频在线| 色婷婷激情久久| 中文字幕第一区二区| 精品综合免费视频观看| 欧美亚洲自拍偷拍| 中文字幕久久午夜不卡| 麻豆一区二区99久久久久| 在线免费观看一区| 国产精品乱码一区二三区小蝌蚪| 蜜桃视频免费观看一区| 在线观看视频一区二区 | 成人在线一区二区三区| 日韩一区二区三| 亚洲国产精品天堂| 日本电影欧美片| 日韩一区在线播放| 成人午夜短视频| 国产亚洲精品资源在线26u| 久久激五月天综合精品| 在线播放/欧美激情| 亚洲一本大道在线| 日本道色综合久久| 亚洲色图视频免费播放| 国产成人亚洲综合a∨猫咪| 欧美成人一区二区三区在线观看 | 精品视频在线免费看| 精品在线你懂的| 亚洲成人激情自拍| 99久久婷婷国产精品综合| 国产欧美视频在线观看|