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

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

?? dump.c

?? 同時支持IPv4和IPv6的BGP協議實現
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * Copyright (C) 1998 WIDE Project. * All rights reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the project nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. *  * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */#include <time.h>#include "include.h"#include "bgp.h"#include "router.h"#include "task.h"#include "rt_table.h"#include "aspath.h"#include "bgp_var.h"#include "in6.h"#include "ripng.h"extern struct ifinfo *ifentry;extern struct ripif *ripifs;	/* defined in ripng.c */extern task *taskhead;extern time_t bgpd_start_time;char *dumpfile;static time_t tloc_now;static char *aspath2str(struct aspath *);static char *cll2str(struct clstrlist *);/* structures to show all BGP route */struct bgproute_entry {	struct bgproute_entry *next;	struct bgproute_list *head; /* back pointer to the list */	struct rpcb *bnp;	struct rt_entry *rte;};struct bgproute_list {	struct bgproute_list *next;	struct bgproute_list *prev;	struct bgproute_entry *entry;};#define bgp_route_head(l) ((l)->next)#define bgp_route_isend(e,b) ((e) == (b))#define bgp_route_next(l) ((l)->next)#define bgp_route_prev(l) ((l)->prev)#define bgp_route_insert(new,post) insque((new), (post)->prev)#ifdef __FreeBSD__		/* XXX: see PORTABILITY */#define LONGLONG "%qu"#else#define LONGLONG "%llu"#endifstatic char *sec2str(total)	time_t total;{	static char result[256];	int days, hours, mins, secs;	int first = 1;	char *p = result;	days = total / 3600 / 24;	hours = (total / 3600) % 24;	mins = (total / 60) % 60;	secs = total % 60;	if (days) {		first = 0;		p += sprintf(p, "%dd", days);	}	if (!first || hours) {		first = 0;		p += sprintf(p, "%dh", hours);	}	if (!first || mins) {		first = 0;		p += sprintf(p, "%dm", mins);	}	sprintf(p, "%ds", secs);	return(result);}static voiddump_if_rtable(FILE *fp, struct rt_entry *base){	struct rt_entry *rte = base;	while(rte) {		fprintf(fp, "    "); /* indentation */		fprintf(fp, "%s/%d(%d)",			ip6str(&rte->rt_ripinfo.rip6_dest, 0),			rte->rt_ripinfo.rip6_plen,			rte->rt_ripinfo.rip6_metric);		if (rte->rt_flags & RTF_BGPDGWSTATIC) {			fprintf(fp, " gateway=%s",				ip6str(&rte->rt_gw,				       rte->rt_proto.rtp_if->ifi_ifn->if_index));		}		fprintf(fp, " Flags:");		if ((rte->rt_flags & (RTF_BGPDIFSTATIC | RTF_BGPDGWSTATIC)))			fprintf(fp, " BGPDSTATIC");		if ((rte->rt_flags & RTF_REJECT))			fprintf(fp, " REJECT");		if ((rte->rt_flags & RTF_STATIC))			fprintf(fp, " STATIC");		if ((rte->rt_flags & RTF_BLACKHOLE))			fprintf(fp, " BLACKHOLE");		fputc('\n', fp);		if ((rte = rte->rt_next) == base)			break;	}}static voiddump_rip_rtable(FILE *fp, struct rt_entry *base){	struct rt_entry *rte = base;	rte = base;	while(rte) {		fprintf(fp, "    "); /* indentation */		fprintf(fp,			"%s/%d(%d) [%d] gw = %s",			ip6str(&rte->rt_ripinfo.rip6_dest, 0),			rte->rt_ripinfo.rip6_plen,			rte->rt_ripinfo.rip6_metric,			rte->rt_ripinfo.rip6_tag,			ip6str(&rte->rt_gw, 0));		if (rte->rt_riptime) {			fprintf(fp, " timeout=%d:%02d",				(int)(rte->rt_riptime->tsk_timeval.tv_sec / 60),				(int)(rte->rt_riptime->tsk_timeval.tv_sec % 60));		}		fputc('\n', fp);		if ((rte = rte->rt_next) == base)			break;	}}#define FILTERTYPE_FILTER 0#define FILTERTYPE_RESTRICTION 1static voidprint_filterinfo(FILE *fp, struct filtinfo *top, int type){	struct filtinfo *filter = top; /* must not be NULL */	while(filter) {		fprintf(fp, "      "); /* indentation */		if (type == FILTERTYPE_FILTER)			fprintf(fp, "%s/%d: filtered %d routes\n",				ip6str(&filter->filtinfo_addr, 0),				filter->filtinfo_plen, filter->filtinfo_stat);		if (type == FILTERTYPE_RESTRICTION)			fprintf(fp, "%s/%d: passed %d routes\n",				ip6str(&filter->filtinfo_addr, 0),				filter->filtinfo_plen, filter->filtinfo_stat);		if ((filter = filter->filtinfo_next) == top)			break;	}}static voiddump_filterinfo(FILE *fp, char *indent, struct filterset *filterset){	struct filtinfo *filter;		if ((filter = filterset->filterin) != NULL) {		fprintf(fp, "%s  Input filter:\n", indent);		print_filterinfo(fp, filter, FILTERTYPE_FILTER);	}	if ((filter = filterset->filterout) != NULL) {		fprintf(fp, "%s  Output filter:\n", indent);		print_filterinfo(fp, filter, FILTERTYPE_FILTER);	}	if ((filter = filterset->restrictin) != NULL) {		fprintf(fp, "%s  Input restriction:\n", indent);		print_filterinfo(fp, filter, FILTERTYPE_RESTRICTION);	}	if ((filter = filterset->restrictout) != NULL) {		fprintf(fp, "%s  Output restriction:\n", indent);		print_filterinfo(fp, filter, FILTERTYPE_RESTRICTION);	}	if (filterset->deffilterflags & DEFAULT_FILTERIN)		fprintf(fp,			"%s  %d incoming default routes were filtered\n",			indent,	filterset->filtered_indef);	if (filterset->deffilterflags & DEFAULT_FILTEROUT)		fprintf(fp, "%s  %d outgoing default routes were filtered\n",			indent, filterset->filtered_outdef);	if ((filterset->deffilterflags & DEFAULT_RESTRICTIN) ||	    filterset->restrictin)		fprintf(fp,			"%s  %d incoming routes were filtered by "			"restriction\n", indent, filterset->input_restrected);	if ((filterset->deffilterflags & DEFAULT_RESTRICTOUT) ||	    filterset->restrictout)		fprintf(fp,			"%s  %d outgoing routes were filtered by "			"restriction\n", indent, filterset->output_restrected);}static voiddump_bgp_rtentry(FILE *fp, struct rt_entry *rte, char *indent){	struct aspath *ap;	extern char *origin_str[];	struct optatr *optatr;	char inetaddrstr[INET_ADDRSTRLEN];	ap = rte->rt_aspath;	fprintf(fp, "%s", indent); /* indentation */	fprintf(fp, "%s%s/%d\n", (rte->rt_flags & RTF_INSTALLED) ? "*" : " ",		ip6str(&rte->rt_ripinfo.rip6_dest, 0),		rte->rt_ripinfo.rip6_plen);	fprintf(fp, "%s  Nexthop: %s\n", indent, ip6str(&rte->rt_bgw, 0));	if (rte->rt_aspath &&	    !IN6_IS_ADDR_UNSPECIFIED(&rte->rt_aspath->asp_nexthop_local))		fprintf(fp, "%s  Nexhop(local): %s\n", indent,			ip6str(&rte->rt_aspath->asp_nexthop_local, 0));	fprintf(fp, "%s  ", indent); /* more indent */	fprintf(fp, "Gateway: %s ",		ip6str(&rte->rt_gw,		       rte->rt_gwif ? rte->rt_gwif->ifi_ifn->if_index : 0));	fprintf(fp, "Flags:");	if (rte->rt_flags & RTF_UP) fprintf(fp, " UP");	if (rte->rt_flags & RTF_GATEWAY) fprintf(fp, " GW");	if (rte->rt_flags & RTF_HOST) fprintf(fp, " HOST");	if (rte->rt_flags & RTF_IGP_EGP_SYNC) fprintf(fp, " IESYNC");	if (rte->rt_flags & RTF_NH_NOT_LLADDR)		fprintf(fp, " NONLOCAL");	if (rte->rt_flags & RTF_INSTALLED) fprintf(fp, " INSTALLED");	fputc('\n', fp);	if (!IN6_IS_ADDR_UNSPECIFIED(&rte->rt_gw)) {		fprintf(fp, "%s    ", indent); /* more^2 indent */		switch(rte->rt_gwsrc_type) {		case RTPROTO_IF:			fprintf(fp, "gwsrc: ifroute(%s/%d on %s)",				ip6str(&rte->rt_gwsrc_entry->rt_ripinfo.rip6_dest, 0),				rte->rt_gwsrc_entry->rt_ripinfo.rip6_plen,				rte->rt_gwif->ifi_ifn->if_name);			break;		case RTPROTO_RIP:			fprintf(fp, "gwsrc: ripng(%s/%d on %s,\n",				ip6str(&rte->rt_gwsrc_entry->rt_ripinfo.rip6_dest, 0),				rte->rt_gwsrc_entry->rt_ripinfo.rip6_plen,				rte->rt_gwif->ifi_ifn->if_name);			fprintf(fp, "%s    ", indent); /* more^2 indent */			fprintf(fp, "             %s)",				ip6str(&rte->rt_gwsrc_entry->rt_gw,				       rte->rt_gwif->ifi_ifn->if_index));			break;		case RTPROTO_BGP:			fprintf(fp, "gwsrc: bgp (link %s)\n",				rte->rt_proto.rtp_bgp->rp_ife ?				rte->rt_proto.rtp_bgp->rp_ife->ifi_ifn->if_name :				"??");			break;		default:			fprintf(fp, "gwsrc: unknown(%d)",				rte->rt_gwsrc_type);			break;		}		fputc('\n', fp);	}	fprintf(fp, "%s  ", indent); /* more indent */	fprintf(fp, "MED: %d localpref: %d origin: %s\n",		(int)ntohl(ap->asp_med), (int)ntohl(ap->asp_localpref),		origin_str[ap->asp_origin]);	fprintf(fp, "%s  ", indent); /* more indent */	fprintf(fp, "ASPATH: %s\n", aspath2str(ap));	/* Route Reflection Origin ID and Cluster list*/	if (ap->asp_origid) {		fprintf(fp, "%s  ", indent); /* more indent */		fprintf(fp, "Originator ID: %s\n",			inet_ntop(AF_INET, &ap->asp_origid,				  inetaddrstr, INET_ADDRSTRLEN));	}	if (ap->asp_clstr) {		fprintf(fp, "%s  ", indent); /* more indent */		fprintf(fp, "Cluster list: %s\n",			cll2str(ap->asp_clstr));	}	/* unrecognized attributes */	if ((optatr = ap->asp_optatr) != NULL)		fprintf(fp, "%s  Unrecognized Attributes:\n", indent);	for (optatr = ap->asp_optatr; optatr; optatr = optatr->next) {		int c = 0;		fprintf(fp, "%s    ", indent);		for (c = 0; c < optatr->len && c < 20; c++)			fprintf(fp, "%02x ",				(unsigned char)optatr->data[c]);		if (optatr->len > 20)			fprintf(fp, "...");		fputc('\n', fp);	}}static voiddump_bgp_exportlist(FILE *fp, struct rt_entry *rte, char *indent){	char inetaddrstr[INET_ADDRSTRLEN];	extern struct rpcb *bgb;	struct rpcb *srcbnp = rte->rt_proto.rtp_bgp, *obnp;	int first = 1;	obnp = bgb;	while(obnp) {		struct rtproto *rtp = obnp->rp_adj_ribs_out;		struct rpcb *ebnp;		if (obnp != srcbnp &&		    obnp->rp_state == BGPSTATE_ESTABLISHED) {			while(rtp) {				if (rtp->rtp_type == RTPROTO_BGP &&				    (ebnp = find_epeer_by_rpcb(rtp->rtp_bgp)) != NULL &&				    ebnp == srcbnp) {					if (first == 1) {						fprintf(fp, "%s  Exported to:\n",							indent);						first = 0; 					}					fprintf(fp,						"%s    %s(%s), ID=%s\n",						indent,						bgp_peerstr(obnp),						(obnp->rp_mode & BGPO_IGP) ?						"IBGP" : "EBGP",						inet_ntop(AF_INET, &obnp->rp_id,							  inetaddrstr,							  INET_ADDRSTRLEN));				}				if ((rtp = rtp->rtp_next) ==				    obnp->rp_adj_ribs_out)				break;			}		}		if ((obnp = obnp->rp_next) == bgb)			break;	}	if (first == 1)		fprintf(fp, "%s  Not exported\n", indent);}#if 0static voiddump_bgp_rtable(FILE *fp, struct rt_entry *base){	struct rt_entry *rte = base;	while(rte) {		dump_bgp_rtentry(fp, rte, "    ");		if ((rte = rte->rt_next) == base)			break;	}}#endif#if notusedstatic voiddump_exports(FILE *fp, struct rtproto *base){	struct rtproto *rtp = base;	struct rpcb *ebnp;	char inetaddrstr[INET_ADDRSTRLEN];	while(rtp) {		switch(rtp->rtp_type) {		 case RTPROTO_IF:			 fprintf(fp, "   Interface routes:\n");			 dump_rip_rtable(fp, rtp->rtp_if->ifi_rte);			 break;		 case RTPROTO_BGP:			 fprintf(fp, "   BGP routes: ");			 ebnp = find_epeer_by_rpcb(rtp->rtp_bgp);			 if (rtp->rtp_bgp->rp_mode & BGPO_IGP) { /* IBGP */				 u_int32_t peerid =					 ebnp ? ebnp->rp_id : rtp->rtp_bgp->rp_id;				 fprintf(fp, "from an IBGP peer, ID = %s\n",					 inet_ntop(AF_INET,						   &peerid,						   inetaddrstr,						   INET_ADDRSTRLEN));			 }			 else	/* EBGP */				 fprintf(fp, "from an EBGP peer, AS = %d\n",					 rtp->rtp_bgp->rp_as);			 if (ebnp)				 dump_bgp_rtable(fp, ebnp->rp_adj_ribs_in);			 else				 fprintf(fp, "    No established peer\n");			 break;		 case RTPROTO_RIP:			 fprintf(fp, "   RIPng routes\n");			 dump_rip_rtable(fp, rtp->rtp_rip->rip_adj_ribs_in);			 break;		}		if ((rtp = rtp->rtp_next) == base)			break;	}}#endifstatic voidprint_if_dump(FILE *fp){	struct ifinfo *ife = ifentry;	fprintf(fp, "=== Direct Interfaces Information ===\n");	while(ife) {		fprintf(fp, " Interface: %s\n", ife->ifi_ifn->if_name);		fprintf(fp, "  Link-local Address: %s\n",			ip6str(&ife->ifi_laddr, ife->ifi_ifn->if_index));		fprintf(fp, "  Global Address: %s\n",			IN6_IS_ADDR_UNSPECIFIED(&ife->ifi_gaddr) ? "NONE" :			ip6str(&ife->ifi_gaddr, 0));		fprintf(fp, "  Routes to the interface\n" );		dump_if_rtable(fp, ife->ifi_rte);		if ((ife = ife->ifi_next) == ifentry)			break;	}}static voidprint_rip_dump(FILE *fp){	struct ripif *ripif = ripifs;	task *t = taskhead;	extern time_t last_rip_dump;	fprintf(fp, "\n=== RIPng generic information ===\n");	while (t) {		if (t->tsk_timename == RIP_DUMP_TIMER) {			fprintf(fp, "  Dump timer=%d:%02d\n",				(int)(t->tsk_timeval.tv_sec / 60),				(int)(t->tsk_timeval.tv_usec % 60));			break;		}		if ((t = t->tsk_next) == taskhead)			break;	}	fprintf(fp, "  Last dump: %s", ctime(&last_rip_dump));	fprintf(fp, "    (%s before)\n", sec2str(tloc_now - last_rip_dump));	fprintf(fp, "\n=== RIPng per interface information ===\n");	while(ripif) {		fprintf(fp, " Interface: %s",			ripif->rip_ife->ifi_ifn->if_name);		if (ripif->rip_desc)			fprintf(fp, " Description: %s", ripif->rip_desc);		fputc('\n', fp);		/* RIPng related flags */		fprintf(fp, "  Flags:");		if (ripif->rip_mode & IFS_NORIPIN)			fprintf(fp, " NORIPIN");		if (ripif->rip_mode & IFS_NORIPOUT)			fprintf(fp, " NORIPOUT");		if (ripif->rip_filterset.deffilterflags & DEFAULT_FILTERIN)			fprintf(fp, " FILTERIN_DEFAULT");		if (ripif->rip_filterset.deffilterflags & DEFAULT_FILTEROUT)			fprintf(fp, " FILTEROUT_DEFAULT");		if (ripif->rip_filterset.deffilterflags & DEFAULT_RESTRICTIN)			fprintf(fp, " RESTRICTIN_DEFAULT");		if (ripif->rip_filterset.deffilterflags & DEFAULT_RESTRICTOUT)			fprintf(fp, " RESTRICTOUT_DEFAULT");		if (ripif->rip_mode & IFS_DEFAULTORIGINATE)			fprintf(fp, " DEFRT_ORIGINATE");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频在线观看91| 久久亚洲精品国产精品紫薇| 蜜桃久久久久久| 日本一区二区动态图| 韩国午夜理伦三级不卡影院| 日韩电影在线一区二区三区| 国产精品狼人久久影院观看方式| 色素色在线综合| 国产麻豆一精品一av一免费| 亚洲午夜电影网| 国产精品久久久久一区二区三区| 日韩午夜激情视频| 欧美在线高清视频| 99久久精品国产麻豆演员表| 韩国精品主播一区二区在线观看 | 国产精品毛片a∨一区二区三区| 欧美日韩二区三区| 91原创在线视频| 国产91精品一区二区麻豆网站 | 91麻豆swag| 国产aⅴ综合色| 国产综合久久久久久久久久久久| 午夜久久久久久| 亚洲综合激情小说| 亚洲欧美一区二区久久| 欧美极品另类videosde| 精品国产99国产精品| 91精品蜜臀在线一区尤物| 在线观看国产精品网站| 97久久超碰国产精品电影| 懂色av一区二区三区蜜臀| 精品一区二区三区免费观看| 日韩电影免费在线看| 婷婷一区二区三区| 亚洲成在人线在线播放| 一区二区不卡在线视频 午夜欧美不卡在| 日本一区二区三级电影在线观看| 久久久久久电影| 2020日本不卡一区二区视频| 精品久久久久久久久久久久包黑料 | 欧美综合一区二区三区| 91蜜桃在线观看| 91丝袜高跟美女视频| 99久久99久久精品免费观看| 99精品国产热久久91蜜凸| 91在线视频网址| 日本乱人伦一区| 欧美三级三级三级| 欧美绝品在线观看成人午夜影视| 欧美色大人视频| 欧美日韩国产首页在线观看| 欧美日本一区二区三区四区 | 成人黄色av电影| eeuss国产一区二区三区| 99免费精品视频| 色综合咪咪久久| 欧美日韩在线直播| 欧美喷水一区二区| 精品精品国产高清一毛片一天堂| 精品免费一区二区三区| 久久久久高清精品| 国产精品久久久久桃色tv| 亚洲卡通欧美制服中文| 午夜激情久久久| 美日韩一区二区三区| 国产不卡一区视频| 色综合久久久久综合体桃花网| 色哦色哦哦色天天综合| 欧美久久婷婷综合色| 精品国精品国产| 中文字幕在线免费不卡| 亚洲午夜精品17c| 另类成人小视频在线| 国产精品一区二区久激情瑜伽 | 日韩欧美自拍偷拍| 久久久99精品免费观看不卡| 亚洲视频 欧洲视频| 婷婷久久综合九色国产成人| 国产一区二区三区四区五区美女 | 美腿丝袜在线亚洲一区| 丁香婷婷综合网| 欧美体内she精高潮| 欧美大片在线观看| 国产精品不卡一区| 日本欧美肥老太交大片| 国产 欧美在线| 欧美日精品一区视频| 欧美精品一区二区三区视频| 日韩美女精品在线| 丝袜美腿高跟呻吟高潮一区| 国产成人啪午夜精品网站男同| 色88888久久久久久影院按摩 | aaa国产一区| 欧美日韩精品久久久| 国产亚洲精品久| 午夜视黄欧洲亚洲| 国产99久久久国产精品潘金 | 综合久久久久久| 欧美a级理论片| 91九色02白丝porn| 久久午夜羞羞影院免费观看| 亚洲综合丝袜美腿| 国产风韵犹存在线视精品| 欧美日韩精品免费观看视频| 国产精品热久久久久夜色精品三区| 亚洲va欧美va人人爽午夜 | 欧美人伦禁忌dvd放荡欲情| 国产精品无人区| 久久99精品久久久久久| 欧美在线视频你懂得| 中文字幕免费观看一区| 青青草国产精品97视觉盛宴| 色又黄又爽网站www久久| 欧美精品免费视频| 精品综合免费视频观看| 91精品国产欧美一区二区| 欧美视频第二页| 欧美经典一区二区三区| 日本色综合中文字幕| 一本大道久久a久久精品综合| 国产偷国产偷亚洲高清人白洁| 婷婷一区二区三区| 在线观看www91| 亚洲欧美日韩久久| 国产91精品一区二区麻豆亚洲| 精品国产91乱码一区二区三区| 天天av天天翘天天综合网色鬼国产 | 国产精品久久久久影视| 极品少妇一区二区| 欧美一区二区视频在线观看2022 | 国模少妇一区二区三区| 91精品国产免费| 日韩高清在线一区| 欧美色综合久久| 一卡二卡欧美日韩| 91丨九色porny丨蝌蚪| 中文字幕不卡在线播放| 成人三级在线视频| 中国av一区二区三区| 国产不卡视频在线观看| 欧美激情在线看| 成人av网在线| 国产精品麻豆久久久| youjizz国产精品| 亚洲视频在线一区观看| 91看片淫黄大片一级| 樱花草国产18久久久久| 在线视频国内自拍亚洲视频| 亚洲线精品一区二区三区八戒| 色综合天天做天天爱| 一区二区三区色| 欧美在线|欧美| 天天综合天天做天天综合| 欧美精品亚洲二区| 免费av网站大全久久| 精品成人佐山爱一区二区| 国产精品77777| 一区二区中文视频| 91精品福利在线| 日产精品久久久久久久性色| 欧美一区二区在线不卡| 国产在线精品免费av| 国产蜜臀97一区二区三区| 99久久伊人精品| 亚洲gay无套男同| 日韩午夜小视频| 国产精品一品二品| 1024成人网| 在线观看日韩av先锋影音电影院| 亚洲综合丝袜美腿| 欧美一区日韩一区| 国产露脸91国语对白| 国产精品成人午夜| 欧美性色黄大片手机版| 狂野欧美性猛交blacked| 国产欧美一区二区精品性色 | 国产三级三级三级精品8ⅰ区| 成人综合在线视频| 亚洲一区在线免费观看| 欧美zozo另类异族| 91丨九色丨尤物| 日韩一区精品字幕| 中文字幕第一区综合| 欧美日韩在线播| 国产成人免费网站| 亚洲色欲色欲www在线观看| 欧美精品自拍偷拍动漫精品| 国产经典欧美精品| 亚洲欧美福利一区二区| 日韩一区二区免费电影| 不卡一区二区三区四区| 亚洲电影你懂得| 国产欧美日韩亚州综合| 欧美日韩一级片网站| 顶级嫩模精品视频在线看| 粉嫩一区二区三区性色av| 日欧美一区二区| 国产精品传媒视频| 欧美日韩成人在线一区| 午夜精品福利在线|