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

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

?? print-bgp.c

?? TCPDUMP的C語言源代碼,是在數(shù)據(jù)鏈路層的應(yīng)用
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
    { SAFNUM_RES,               "Reserved"},    { SAFNUM_UNICAST,           "Unicast"},    { SAFNUM_MULTICAST,         "Multicast"},    { SAFNUM_UNIMULTICAST,      "Unicast+Multicast"},    { SAFNUM_LABUNICAST,        "labeled Unicast"},    { SAFNUM_TUNNEL,            "Tunnel"},    { SAFNUM_VPLS,              "VPLS"},    { SAFNUM_MDT,               "MDT"},    { SAFNUM_VPNUNICAST,        "labeled VPN Unicast"},    { SAFNUM_VPNMULTICAST,      "labeled VPN Multicast"},    { SAFNUM_VPNUNIMULTICAST,   "labeled VPN Unicast+Multicast"},    { SAFNUM_RT_ROUTING_INFO,   "Route Target Routing Information"},    { SAFNUM_MULTICAST_VPN,     "Multicast VPN"},    { 0, NULL }};/* well-known community */#define BGP_COMMUNITY_NO_EXPORT			0xffffff01#define BGP_COMMUNITY_NO_ADVERT			0xffffff02#define BGP_COMMUNITY_NO_EXPORT_SUBCONFED	0xffffff03/* Extended community type - draft-ietf-idr-bgp-ext-communities-05 */#define BGP_EXT_COM_RT_0        0x0002  /* Route Target,Format AS(2bytes):AN(4bytes) */#define BGP_EXT_COM_RT_1        0x0102  /* Route Target,Format IP address:AN(2bytes) */#define BGP_EXT_COM_RT_2        0x0202  /* Route Target,Format AN(4bytes):local(2bytes) */#define BGP_EXT_COM_RO_0        0x0003  /* Route Origin,Format AS(2bytes):AN(4bytes) */#define BGP_EXT_COM_RO_1        0x0103  /* Route Origin,Format IP address:AN(2bytes) */#define BGP_EXT_COM_RO_2        0x0203  /* Route Origin,Format AN(4bytes):local(2bytes) */#define BGP_EXT_COM_LINKBAND    0x4004  /* Link Bandwidth,Format AS(2B):Bandwidth(4B) */                                        /* rfc2547 bgp-mpls-vpns */#define BGP_EXT_COM_VPN_ORIGIN  0x0005  /* OSPF Domain ID / VPN of Origin  - draft-rosen-vpns-ospf-bgp-mpls */#define BGP_EXT_COM_VPN_ORIGIN2 0x0105  /* duplicate - keep for backwards compatability */#define BGP_EXT_COM_VPN_ORIGIN3 0x0205  /* duplicate - keep for backwards compatability */#define BGP_EXT_COM_VPN_ORIGIN4 0x8005  /* duplicate - keep for backwards compatability */#define BGP_EXT_COM_OSPF_RTYPE  0x0306  /* OSPF Route Type,Format Area(4B):RouteType(1B):Options(1B) */#define BGP_EXT_COM_OSPF_RTYPE2 0x8000  /* duplicate - keep for backwards compatability */#define BGP_EXT_COM_OSPF_RID    0x0107  /* OSPF Router ID,Format RouterID(4B):Unused(2B) */#define BGP_EXT_COM_OSPF_RID2   0x8001  /* duplicate - keep for backwards compatability */ #define BGP_EXT_COM_L2INFO      0x800a  /* draft-kompella-ppvpn-l2vpn */#define BGP_EXT_COM_SOURCE_AS   0x0009  /* draft-ietf-l3vpn-2547bis-mcast-bgp-02.txt */#define BGP_EXT_COM_VRF_RT_IMP  0x010a  /* draft-ietf-l3vpn-2547bis-mcast-bgp-02.txt *//* http://www.cisco.com/en/US/tech/tk436/tk428/technologies_tech_note09186a00801eb09a.shtml  */#define BGP_EXT_COM_EIGRP_GEN   0x8800#define BGP_EXT_COM_EIGRP_METRIC_AS_DELAY  0x8801#define BGP_EXT_COM_EIGRP_METRIC_REL_NH_BW 0x8802#define BGP_EXT_COM_EIGRP_METRIC_LOAD_MTU  0x8803#define BGP_EXT_COM_EIGRP_EXT_REMAS_REMID  0x8804#define BGP_EXT_COM_EIGRP_EXT_REMPROTO_REMMETRIC 0x8805static struct tok bgp_extd_comm_flag_values[] = {    { 0x8000,                  "vendor-specific"},    { 0x4000,                  "non-transitive"},    { 0, NULL},};static struct tok bgp_extd_comm_subtype_values[] = {    { BGP_EXT_COM_RT_0,        "target"},    { BGP_EXT_COM_RT_1,        "target"},    { BGP_EXT_COM_RT_2,        "target"},    { BGP_EXT_COM_RO_0,        "origin"},    { BGP_EXT_COM_RO_1,        "origin"},    { BGP_EXT_COM_RO_2,        "origin"},    { BGP_EXT_COM_LINKBAND,    "link-BW"},    { BGP_EXT_COM_VPN_ORIGIN,  "ospf-domain"},    { BGP_EXT_COM_VPN_ORIGIN2, "ospf-domain"},    { BGP_EXT_COM_VPN_ORIGIN3, "ospf-domain"},    { BGP_EXT_COM_VPN_ORIGIN4, "ospf-domain"},    { BGP_EXT_COM_OSPF_RTYPE,  "ospf-route-type"},    { BGP_EXT_COM_OSPF_RTYPE2, "ospf-route-type"},    { BGP_EXT_COM_OSPF_RID,    "ospf-router-id"},    { BGP_EXT_COM_OSPF_RID2,   "ospf-router-id"},    { BGP_EXT_COM_L2INFO,      "layer2-info"},     { BGP_EXT_COM_EIGRP_GEN , "eigrp-general-route (flag, tag)" },    { BGP_EXT_COM_EIGRP_METRIC_AS_DELAY , "eigrp-route-metric (AS, delay)" },    { BGP_EXT_COM_EIGRP_METRIC_REL_NH_BW , "eigrp-route-metric (reliability, nexthop, bandwidth)" },    { BGP_EXT_COM_EIGRP_METRIC_LOAD_MTU , "eigrp-route-metric (load, MTU)" },    { BGP_EXT_COM_EIGRP_EXT_REMAS_REMID , "eigrp-external-route (remote-AS, remote-ID)" },    { BGP_EXT_COM_EIGRP_EXT_REMPROTO_REMMETRIC , "eigrp-external-route (remote-proto, remote-metric)" },    { BGP_EXT_COM_SOURCE_AS, "source-AS" },    { BGP_EXT_COM_VRF_RT_IMP, "vrf-route-import"},    { 0, NULL},};/* OSPF codes for  BGP_EXT_COM_OSPF_RTYPE draft-rosen-vpns-ospf-bgp-mpls  */#define BGP_OSPF_RTYPE_RTR      1 /* OSPF Router LSA */#define BGP_OSPF_RTYPE_NET      2 /* OSPF Network LSA */#define BGP_OSPF_RTYPE_SUM      3 /* OSPF Summary LSA */#define BGP_OSPF_RTYPE_EXT      5 /* OSPF External LSA, note that ASBR doesn't apply to MPLS-VPN */#define BGP_OSPF_RTYPE_NSSA     7 /* OSPF NSSA External*/#define BGP_OSPF_RTYPE_SHAM     129 /* OSPF-MPLS-VPN Sham link */#define BGP_OSPF_RTYPE_METRIC_TYPE 0x1 /* LSB of RTYPE Options Field */static struct tok bgp_extd_comm_ospf_rtype_values[] = {  { BGP_OSPF_RTYPE_RTR, "Router" },    { BGP_OSPF_RTYPE_NET, "Network" },    { BGP_OSPF_RTYPE_SUM, "Summary" },    { BGP_OSPF_RTYPE_EXT, "External" },    { BGP_OSPF_RTYPE_NSSA,"NSSA External" },  { BGP_OSPF_RTYPE_SHAM,"MPLS-VPN Sham" },    { 0, NULL },};intdecode_prefix4(const u_char *pptr, char *buf, u_int buflen){	struct in_addr addr;	u_int plen;	TCHECK(pptr[0]);	plen = pptr[0];	if (32 < plen)		return -1;	memset(&addr, 0, sizeof(addr));	TCHECK2(pptr[1], (plen + 7) / 8);	memcpy(&addr, &pptr[1], (plen + 7) / 8);	if (plen % 8) {		((u_char *)&addr)[(plen + 7) / 8 - 1] &=			((0xff00 >> (plen % 8)) & 0xff);	}	snprintf(buf, buflen, "%s/%d", getname((u_char *)&addr), plen);	return 1 + (plen + 7) / 8;trunc:	return -2;}static intdecode_labeled_prefix4(const u_char *pptr, char *buf, u_int buflen){	struct in_addr addr;	u_int plen;	TCHECK(pptr[0]);	plen = pptr[0];   /* get prefix length */        /* this is one of the weirdnesses of rfc3107           the label length (actually the label + COS bits)           is added to the prefix length;           we also do only read out just one label -           there is no real application for advertisement of           stacked labels in a a single BGP message        */	if (24 > plen)		return -1;        plen-=24; /* adjust prefixlen - labellength */	if (32 < plen)		return -1;	memset(&addr, 0, sizeof(addr));	TCHECK2(pptr[4], (plen + 7) / 8);	memcpy(&addr, &pptr[4], (plen + 7) / 8);	if (plen % 8) {		((u_char *)&addr)[(plen + 7) / 8 - 1] &=			((0xff00 >> (plen % 8)) & 0xff);	}        /* the label may get offsetted by 4 bits so lets shift it right */	snprintf(buf, buflen, "%s/%d, label:%u %s",                 getname((u_char *)&addr),                 plen,                 EXTRACT_24BITS(pptr+1)>>4,                 ((pptr[3]&1)==0) ? "(BOGUS: Bottom of Stack NOT set!)" : "(bottom)" );	return 4 + (plen + 7) / 8;trunc:	return -2;}/* * bgp_vpn_ip_print * * print an ipv4 or ipv6 address into a buffer dependend on address length. */static char *bgp_vpn_ip_print (const u_char *pptr, u_int addr_length) {    /* worst case string is s fully formatted v6 address */    static char addr[sizeof("1234:5678:89ab:cdef:1234:5678:89ab:cdef")];    char *pos = addr;    switch(addr_length) {    case (sizeof(struct in_addr) << 3): /* 32 */        TCHECK2(pptr[0], sizeof(struct in_addr));        snprintf(pos, sizeof(addr), "%s", ipaddr_string(pptr));        break;#ifdef INET6    case (sizeof(struct in6_addr) << 3): /* 128 */        TCHECK2(pptr[0], sizeof(struct in6_addr));        snprintf(pos, sizeof(addr), "%s", ip6addr_string(pptr));        break;#endif    default:        snprintf(pos, sizeof(addr), "bogus address length %u", addr_length);        break;    }    pos += strlen(pos);trunc:    *(pos) = '\0';    return (addr);}/* * bgp_vpn_sg_print * * print an multicast s,g entry into a buffer. * the s,g entry is encoded like this. * * +-----------------------------------+ * | Multicast Source Length (1 octet) | * +-----------------------------------+ * |   Multicast Source (Variable)     | * +-----------------------------------+ * |  Multicast Group Length (1 octet) | * +-----------------------------------+ * |  Multicast Group   (Variable)     | * +-----------------------------------+ * * return the number of bytes read from the wire. */static intbgp_vpn_sg_print (const u_char *pptr, char *buf, u_int buflen) {    u_int8_t addr_length;    u_int total_length, offset;    total_length = 0;    /* Source address length, encoded in bits */    TCHECK2(pptr[0], 1);    addr_length =  *pptr++;    /* Source address */    TCHECK2(pptr[0], (addr_length >> 3));    total_length += (addr_length >> 3) + 1;    offset = strlen(buf);    if (addr_length) {        snprintf(buf + offset, buflen - offset, ", Source %s",                 bgp_vpn_ip_print(pptr, addr_length));        pptr += (addr_length >> 3);    }        /* Group address length, encoded in bits */    TCHECK2(pptr[0], 1);    addr_length =  *pptr++;    /* Group address */    TCHECK2(pptr[0], (addr_length >> 3));    total_length += (addr_length >> 3) + 1;    offset = strlen(buf);    if (addr_length) {        snprintf(buf + offset, buflen - offset, ", Group %s",                 bgp_vpn_ip_print(pptr, addr_length));        pptr += (addr_length >> 3);    }trunc:    return (total_length);}/* RDs and RTs share the same semantics * we use bgp_vpn_rd_print for * printing route targets inside a NLRI */char *bgp_vpn_rd_print (const u_char *pptr) {   /* allocate space for the largest possible string */    static char rd[sizeof("xxxxxxxxxx:xxxxx (xxx.xxx.xxx.xxx:xxxxx)")];    char *pos = rd;    /* ok lets load the RD format */    switch (EXTRACT_16BITS(pptr)) {        /* 2-byte-AS:number fmt*/    case 0:        snprintf(pos, sizeof(rd) - (pos - rd), "%u:%u (= %u.%u.%u.%u)",                 EXTRACT_16BITS(pptr+2),                 EXTRACT_32BITS(pptr+4),                 *(pptr+4), *(pptr+5), *(pptr+6), *(pptr+7));        break;        /* IP-address:AS fmt*/    case 1:        snprintf(pos, sizeof(rd) - (pos - rd), "%u.%u.%u.%u:%u",            *(pptr+2), *(pptr+3), *(pptr+4), *(pptr+5), EXTRACT_16BITS(pptr+6));        break;        /* 4-byte-AS:number fmt*/    case 2:        snprintf(pos, sizeof(rd) - (pos - rd), "%u:%u (%u.%u.%u.%u:%u)",            EXTRACT_32BITS(pptr+2), EXTRACT_16BITS(pptr+6),            *(pptr+2), *(pptr+3), *(pptr+4), *(pptr+5), EXTRACT_16BITS(pptr+6));        break;    default:        snprintf(pos, sizeof(rd) - (pos - rd), "unknown RD format");        break;    }    pos += strlen(pos);    *(pos) = '\0';    return (rd);}static intdecode_rt_routing_info(const u_char *pptr, char *buf, u_int buflen){	u_int8_t route_target[8];	u_int plen;	TCHECK(pptr[0]);	plen = pptr[0];   /* get prefix length */	if (0 == plen)		return 1; /* default route target */	if (32 > plen)		return -1;        plen-=32; /* adjust prefix length */	if (64 < plen)		return -1;	memset(&route_target, 0, sizeof(route_target));	TCHECK2(pptr[1], (plen + 7) / 8);	memcpy(&route_target, &pptr[1], (plen + 7) / 8);	if (plen % 8) {		((u_char *)&route_target)[(plen + 7) / 8 - 1] &=			((0xff00 >> (plen % 8)) & 0xff);	}	snprintf(buf, buflen, "origin AS: %u, route target %s",                 EXTRACT_32BITS(pptr+1),                 bgp_vpn_rd_print((u_char *)&route_target));	return 5 + (plen + 7) / 8;trunc:	return -2;}static intdecode_labeled_vpn_prefix4(const u_char *pptr, char *buf, u_int buflen){	struct in_addr addr;	u_int plen;	TCHECK(pptr[0]);	plen = pptr[0];   /* get prefix length */	if ((24+64) > plen)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本久久精品电影| heyzo一本久久综合| 精品国产乱码久久久久久老虎| 日韩成人精品在线| 欧美电影免费观看高清完整版在线 | 午夜婷婷国产麻豆精品| 欧美日韩成人在线一区| 久久不见久久见中文字幕免费| 欧美一区二区三区不卡| 国产呦精品一区二区三区网站| 国产视频一区在线播放| 91麻豆.com| 日日嗨av一区二区三区四区| 精品91自产拍在线观看一区| 99久久久无码国产精品| 午夜久久福利影院| 日本一二三不卡| 欧美日韩在线播放三区四区| 久久精品国产**网站演员| 国产精品三级av| 欧美日韩中文字幕一区二区| 狠狠色狠狠色综合系列| 亚洲欧美日韩久久精品| 日韩欧美亚洲一区二区| hitomi一区二区三区精品| 日韩国产欧美在线播放| 国产精品视频你懂的| 欧美挠脚心视频网站| 国产成人精品一区二区三区四区| 亚洲一区电影777| 国产欧美一区二区在线观看| 91国模大尺度私拍在线视频| 美女一区二区视频| 亚洲欧美日韩国产综合在线| 欧美一区二区高清| 日本乱人伦一区| 国产白丝精品91爽爽久久| 午夜精品123| 中文字幕中文字幕一区| 欧美一区二区三区爱爱| 91在线国内视频| 韩国欧美一区二区| 天天影视涩香欲综合网| 亚洲欧美日韩国产手机在线| 久久久久久9999| 日韩一级在线观看| 欧美性猛片aaaaaaa做受| 成人av免费网站| 国产福利一区二区三区视频| 日韩av电影免费观看高清完整版 | 天天免费综合色| 亚洲男人的天堂在线观看| 欧美大胆一级视频| 在线成人av影院| 欧美午夜精品一区| 91在线精品一区二区| 成人午夜短视频| 国产美女视频一区| 蜜桃视频在线观看一区| 日日夜夜免费精品视频| 一区二区三区国产精品| 中文字幕二三区不卡| 欧美精品一区二区三区在线播放| 欧美日韩欧美一区二区| 欧美午夜精品免费| 欧洲日韩一区二区三区| 99国产精品久久久| 国产91在线观看丝袜| 国产精品亚洲一区二区三区妖精| 麻豆成人久久精品二区三区红 | 中文字幕一区二区三区在线播放| 久久精品免费在线观看| 久久久久成人黄色影片| 欧美精品一区视频| 国产亚洲人成网站| 国产亚洲短视频| 国产欧美va欧美不卡在线 | 国产精品国产a级| 亚洲视频一二三区| 亚洲人一二三区| 一区二区免费视频| 亚洲国产精品久久不卡毛片| 亚洲国产综合91精品麻豆| 午夜亚洲福利老司机| 日本不卡视频在线| 久久99这里只有精品| 国产毛片精品视频| 成人深夜在线观看| 97国产精品videossex| 久久久久久久久久久久久女国产乱| 日韩欧美亚洲另类制服综合在线| 精品蜜桃在线看| 久久先锋影音av鲁色资源网| 久久久99精品久久| 国产精品动漫网站| 亚洲第一会所有码转帖| 免费不卡在线视频| 国产成人自拍高清视频在线免费播放| 国产99久久久国产精品潘金网站| 99久久综合国产精品| 欧美天堂一区二区三区| 欧美一区二区福利视频| 国产人久久人人人人爽| 亚洲美女免费视频| 人人爽香蕉精品| 国产成a人亚洲精| 91成人国产精品| 日韩欧美一级在线播放| 久久久精品国产免大香伊| 一区二区三区在线播放| 麻豆精品一区二区三区| 成人美女在线观看| 91精品国产欧美一区二区成人| 2023国产精华国产精品| √…a在线天堂一区| 首页欧美精品中文字幕| 国产a久久麻豆| 欧美日韩夫妻久久| 中文字幕乱码日本亚洲一区二区 | 精品免费日韩av| 亚洲欧美国产77777| 久久国产精品第一页| 99精品热视频| 欧美成人女星排名| 国产麻豆欧美日韩一区| 色综合久久久久综合体| 久久众筹精品私拍模特| 亚洲午夜免费电影| 春色校园综合激情亚洲| 在线电影欧美成精品| 亚洲欧美日韩国产另类专区| 精品一区二区三区欧美| 欧美性受xxxx| 综合激情成人伊人| 国产综合成人久久大片91| 欧美日韩一区在线| 中文字幕日本乱码精品影院| 免费不卡在线观看| 欧美日韩精品是欧美日韩精品| 欧美国产精品中文字幕| 极品少妇一区二区三区精品视频| 在线精品观看国产| 亚洲欧美一区二区久久| 成人动漫在线一区| 久久久电影一区二区三区| 青娱乐精品视频在线| 欧美日韩国产经典色站一区二区三区| 国产精品情趣视频| 成人一区二区三区在线观看| 欧美成人精品高清在线播放 | 亚洲免费视频中文字幕| 国产成人精品免费网站| 欧美大片拔萝卜| 免费美女久久99| 欧美一区二区三区不卡| 日韩福利视频网| 欧美精品三级日韩久久| 亚洲一区二区三区国产| 在线日韩av片| 一区二区三区四区蜜桃| 一本大道久久a久久综合| 国产精品久久毛片av大全日韩| 国产一二精品视频| 国产三级精品视频| 成人黄色av电影| 亚洲丝袜制服诱惑| 99精品国产99久久久久久白柏| 欧美经典一区二区| 成人激情午夜影院| 中文字幕视频一区二区三区久| 成人美女在线视频| 国产精品福利一区二区三区| 99精品在线免费| 亚洲免费观看高清完整版在线| 91麻豆国产福利在线观看| 专区另类欧美日韩| 欧美日韩在线免费视频| 天堂在线亚洲视频| 欧美大片日本大片免费观看| 黑人巨大精品欧美黑白配亚洲 | 中文字幕日韩av资源站| 日本韩国视频一区二区| 亚洲国产va精品久久久不卡综合| 欧美日韩中文字幕一区二区| 男人的j进女人的j一区| 久久综合九色综合97_久久久| 国产成人鲁色资源国产91色综 | 日韩欧美国产三级电影视频| 久久99精品久久久久久国产越南 | 久久久久久久久久久久久女国产乱| 国产99精品在线观看| 亚洲精品成人a在线观看| 欧美天堂亚洲电影院在线播放| 男人操女人的视频在线观看欧美| 色噜噜狠狠色综合中国| 精品成人一区二区三区四区| 国产乱子伦视频一区二区三区| 国产精品久久久久久久午夜片| 国产成人自拍网| 青青国产91久久久久久|