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

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

?? ospf_print_utilities.c

?? vxworks下ospf協議棧
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* ospf_print_utilities.c *//* Copyright 2000-2002 Wind River Systems, Inc. */#include "copyright_wrs.h"/* modification history----------------------02b,11jun03,ram      SPR#88965 Separate route table and LSDB hash parameters02a,22apr03,ram	     SPR#76812 Modifications for OSPF performance enhancements01s,19nov02,mwv      Merge TMS code SPR 8428401r,09apr02,jkw      Sequence number wrap.01q,22sep01,kc       Removed references to port number.01p,26sep00,reshma   Added WindRiver CopyRight01o,25sep00,reshma   RFC-1587 implementation for OSPF NSSA Option, also tested against                      ANVL.01n,07jul00,reshma   Unix compatibility related changes.01m,04apr00,reshma   Added some MIB support (Read only).Passed all important ANVL OSPF                      tests.01l,23dec99,reshma   Compatibility with VxWorks-IP and VxWorks RTM-interface01k,28dec98,jack     Compiled and added some comments01j,11nov98,jack     Config changes, linted and big endian changes01i,30oct98,jack     Incorporate changes for compilation on Vxworks01h,23aug98,jack     ANVL tested OSPF with PATRICIA tree route table and no recursion01g,10aug98,jack     PATRICIA Route Table Based OSPF Code Base01f,04jun98,jack     Integration with RTM and BGP01e,24apr98,jack     RTM changes01d,10jul97,cindy    Pre-release v1.52b01c,02oct97,cindy    Release Version 1.5201b,22oct96,cindy    Release Version 1.5001a,05jun96,cindy    First Beta Release*//*DESCRIPTIONospf_print_utilities.c is used for printing OSPF packets, OSPF link state advertisements, andthe OSPF routing table.This file is used whenever OSPF data structures need to be displayed.*/#include "ospf.h"#if defined (__OSPF_VIRTUAL_STACK__)#include "ospf_vs_lib.h"#endif /* __OSPF_VIRTUAL_STACK__ */void ospf_print_next_hops (OSPF_NEXT_HOP_BLOCK* sptr_next_hop);/********************************************************************************************************************************/static char *cptr_packet_type[] = {"Unknown","Hello","Database Description","LS Request","LS Update","LS Acknowledgement"};static char *cptr_direction_string[] = {"Transmitted","Received"};static char *cptr_boolean_string[] = {"False","True"};#if defined (__OPAQUE_LSA__)static char *cptr_ls_type_string[] = {"Stub","Router","Network","Summary Network","Summary AS Boundary Router","AS External","Unknown", "NSSA", "Type 9", "Type 10", "Type 11", "Unknown"};#else /* __OPAQUE_LSA__ */static char *cptr_ls_type_string[] = {"Stub","Router","Network","Summary Network","Summary AS Boundary Router","AS External","Unknown"};#endif /* __OPAQUE_LSA__ */static char *cptr_destination_type_string[] = {"Network","ASBR","ABR","Virtual","ASE","Unknown"};static char *cptr_path_type_string[] = {"Intra","Inter","Type 1 External","Type 2 External","Unknown"};static char *cptr_authentication_type_string[] = {"None","Simple","MD5", "Unknown"};static char *cptr_route_node_or_next_hop_status[] = {"Not New", "New", "Not Available", "Dont Care", "Unknown"};#if defined (__OPAQUE_LSA__)static char *cptr_link_type[] = {"None","Router Link","Network Link","Summary Link","Summary ASBR Link","External Link","Dont Care Link", "NSSA Link", "Type 9 Link", "Type 10 Link", "Type 11 Link", "Unknown"};#else /* __OPAQUE_LSA__ */static char *cptr_link_type[] = {"None", "Router Link", "Network Link", "Summary Link", "Summary ASBR Link", "External Link", "Dont Care Link", "Unknown"};#endif /* __OPAQUE_LSA__ *//********************************************************************************************************************************/static void ospf_display_hello_packet (OSPF_HELLO_HEADER *sptr_hello_packet,USHORT length_of_packet);static void ospf_display_database_description_packet (OSPF_DATABASE_HEADER *sptr_database_packet,USHORT length_of_packet);static void ospf_display_ls_request_packet (OSPF_LS_REQUEST_HEADER *sptr_ls_request_packet,USHORT length_of_packet);static void ospf_display_ls_update_packet (OSPF_LS_UPDATE_HEADER *sptr_ls_update_packet);static void ospf_display_ls_header (OSPF_LS_HEADER *sptr_ls_header);static void ospf_display_router_links_advertisement (OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_router_links_advertisement_header);static void ospf_display_network_links_advertisement (OSPF_NETWORK_LINK_ADVERTISEMENT_HEADER *sptr_network_links_advertisement_header);static void ospf_display_summary_links_advertisement (OSPF_SUMMARY_LINK_ADVERTISEMENT_HEADER *sptr_summary_links_advertisement_header);#if defined (__NSSA__)static void ospf_display_type_7_links_advertisement (OSPF_TYPE_7_LINK_ADVERTISEMENT_HEADER *sptr_type_7_links_advertisement_header);#endif /*__NSSA__*/static void ospf_display_external_links_advertisement (OSPF_EXTERNAL_LINK_ADVERTISEMENT_HEADER *sptr_external_links_advertisement_header);static void ospf_display_ls_acknowledgement_packet (OSPF_LS_ACKNOWLEDGEMENT_HEADER *sptr_ls_acknowledgement_packet,USHORT length_of_packet);/********************************************************************************************************************************/void ospf_display_packet (OSPF_PACKET *sptr_packet,enum BOOLEAN receive){	USHORT length;	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_display_packet\r\n");	length = sptr_packet->header.length;	length = net_to_host_short (length);    ospf_display_ospf_header (&sptr_packet->header, receive);	switch (sptr_packet->header.type)		{		case OSPF_HELLO_PACKET:			ospf_display_hello_packet (&sptr_packet->header.rest_of_packet.hello, length);			break;		case OSPF_DATABASE_DESCRIPTION_PACKET:			ospf_display_database_description_packet (&sptr_packet->header.rest_of_packet.database, length);			break;		case OSPF_LINK_STATE_REQUEST_PACKET:			ospf_display_ls_request_packet (&sptr_packet->header.rest_of_packet.ls_request, length);			break;		case OSPF_LINK_STATE_UPDATE_PACKET:			ospf_display_ls_update_packet (&sptr_packet->header.rest_of_packet.ls_update);			break;		case OSPF_LINK_STATE_ACKNOWLEDGEMENT_PACKET:			ospf_display_ls_acknowledgement_packet (&sptr_packet->header.rest_of_packet.ls_acknowledgement, length);			break;		default:			*((ULONG *) 0x00000000L) = 0x00000000L;			break;		}	return;}/*******************************************************************************************************************************/void ospf_display_ospf_header (OSPF_HEADER *sptr_packet,enum BOOLEAN receive){	char print_buffer[PRINT_BUFFER_SIZE];	char print_buffer_1[PRINT_BUFFER_SIZE];	ULONG router_id;	USHORT length;	BYTE_ENUM (OSPF_UNION_PACKET_TYPES)	type;	USHORT authentication_type;	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_display_ospf_header\r\n");	router_id = sptr_packet->router_id;	router_id = net_to_host_long (router_id);	OSPF_CONVERT_IP_ADDRESS_TO_DOT_FORMAT_FOR_DEBUG (print_buffer, router_id);	OSPF_CONVERT_IP_ADDRESS_TO_DOT_FORMAT_FOR_DEBUG (print_buffer_1, sptr_packet->area_id);	length = sptr_packet->length;	length = net_to_host_short (length);	type = sptr_packet->type;	if (type > OSPF_LINK_STATE_ACKNOWLEDGEMENT_PACKET)		{		type = 0x00;		}	authentication_type = net_to_host_short (sptr_packet->authentication_type);	/* Check for valid index for array string */	if ((type != OSPF_HELLO_PACKET) &&		(type != OSPF_DATABASE_DESCRIPTION_PACKET) &&		(type != OSPF_LINK_STATE_REQUEST_PACKET) &&		(type != OSPF_LINK_STATE_UPDATE_PACKET) &&		(type != OSPF_LINK_STATE_ACKNOWLEDGEMENT_PACKET))		{		OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "PACKET TYPE = %x\n", type);		type = OSPF_LINK_STATE_ACKNOWLEDGEMENT_PACKET + 1;		}	/* Check for valid index for array string */	if ((authentication_type != OSPF_AUTHENTICATION_NONE) &&		(authentication_type != OSPF_AUTHENTICATION_SIMPLE) &&		(authentication_type != OSPF_AUTHENTICATION_MD5))		{		OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "AUTHENTICATION TYPE = %x\n", authentication_type);		authentication_type = OSPF_AUTHENTICATION_MD5 + 1;		}    OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "OSPF: %s %s\r\n",                       cptr_packet_type[type], 	cptr_direction_string[receive]);	OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "      --- OSPF Packet Header ---\r\n");	OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "         version = %d, length = %d, router id = %s, area id = %s, checksum = %x\r\n",		sptr_packet->version, length, print_buffer, print_buffer_1, sptr_packet->checksum);	OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "         authentication type = %s\r\n",		cptr_authentication_type_string[authentication_type]);	switch (authentication_type)		{		case OSPF_AUTHENTICATION_SIMPLE:			{			OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "         simple key = %s \r\n",				sptr_packet->authentication_field.key_or_plain_text_passwd );			break;			}		case OSPF_AUTHENTICATION_MD5:			{			OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "         md5 key ID = %d, data length = %d, cryptographic sequence number = %d\r\n",				sptr_packet->authentication_field.md5.key_ID, sptr_packet->authentication_field.md5.authentication_data_length,				sptr_packet->authentication_field.md5.cryptographic_sequence_number);			break;			}		default:			{			break;			}		}	return;}/*******************************************************************************************************************************/static void ospf_display_hello_packet (OSPF_HELLO_HEADER *sptr_hello_packet,USHORT length_of_packet){	char print_buffer[PRINT_BUFFER_SIZE];	char print_buffer_1[PRINT_BUFFER_SIZE];	ULONG *ulptr_neighbor;	ULONG neighbor;	ULONG size_of_neighbor_optional_fields;	ULONG network_mask;	USHORT hello_interval;	ULONG router_dead_interval;	ULONG designated_router;	ULONG backup_designated_router;	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_display_hello_packet\r\n");	OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "      --- Hello Packet Details ---\r\n");	network_mask = sptr_hello_packet->network_mask;	network_mask = net_to_host_long (network_mask);	OSPF_CONVERT_IP_ADDRESS_TO_DOT_FORMAT_FOR_DEBUG (print_buffer, network_mask);	hello_interval = sptr_hello_packet->hello_interval;	hello_interval = net_to_host_short (hello_interval);	OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "         network mask = %s, hello interval = %d\r\n", print_buffer, hello_interval);	OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "         Options:  type of service = %s, external routing capability = %s\r\n",		cptr_boolean_string[sptr_hello_packet->options._bit.tos], cptr_boolean_string[sptr_hello_packet->options._bit.externals]);	router_dead_interval = sptr_hello_packet->router_dead_interval;	router_dead_interval = net_to_host_long (router_dead_interval);	OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "         router priority = %d, router dead interval = %d\r\n", sptr_hello_packet->router_priority,		router_dead_interval);	designated_router = sptr_hello_packet->designated_router;	designated_router = net_to_host_long (designated_router);	backup_designated_router = sptr_hello_packet->backup_designated_router;	backup_designated_router = net_to_host_long (backup_designated_router);	OSPF_CONVERT_IP_ADDRESS_TO_DOT_FORMAT_FOR_DEBUG (print_buffer, designated_router);	OSPF_CONVERT_IP_ADDRESS_TO_DOT_FORMAT_FOR_DEBUG (print_buffer_1, backup_designated_router);	OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "         designated router = %s, backup designated router = %s\r\n", print_buffer, print_buffer_1);	ulptr_neighbor = &(sptr_hello_packet->backup_designated_router);	for (size_of_neighbor_optional_fields = (ULONG) length_of_packet - OSPF_PACKET_SIZE - OSPF_HELLO_HEADER_SIZE;		size_of_neighbor_optional_fields > 0x00000000L; size_of_neighbor_optional_fields -= sizeof (ULONG))		{		++ulptr_neighbor;		neighbor = *ulptr_neighbor;		neighbor = net_to_host_long (neighbor);		OSPF_CONVERT_IP_ADDRESS_TO_DOT_FORMAT_FOR_DEBUG (print_buffer, neighbor);		OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "         neighbor = %s\r\n", print_buffer);		}	return;}/*******************************************************************************************************************************/static void ospf_display_database_description_packet (OSPF_DATABASE_HEADER *sptr_database_packet,USHORT length_of_packet){	seq_t sequence_number;	OSPF_LS_HEADER *sptr_ls_header;	ULONG size_of_database_optional_fields;	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_display_database_description_packet\r\n");	sequence_number = sptr_database_packet->sequence;	sequence_number = net_to_host_long (sequence_number);	OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "      --- Database Packet Details ---\r\n");	OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "         Options:  type of service = %s, external routing capability = %s\r\n",		cptr_boolean_string[sptr_database_packet->options._bit.tos], cptr_boolean_string[sptr_database_packet->options._bit.externals]);	OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "         Flags:  Init = %s, More = %s, Master = %s\r\n",		cptr_boolean_string[sptr_database_packet->flags._bit.initialize], cptr_boolean_string[sptr_database_packet->flags._bit.more],		cptr_boolean_string[sptr_database_packet->flags._bit.master]);	OSPF_PRINTF_PACKET (OSPF_PACKET_PRINTF, "         sequence number = %u\r\n", sequence_number);	sptr_ls_header = &(sptr_database_packet->link_state_advertisement_header);	for (size_of_database_optional_fields = (ULONG) length_of_packet - OSPF_PACKET_SIZE - OSPF_DATABASE_HEADER_SIZE;		size_of_database_optional_fields > 0x00000000L; size_of_database_optional_fields -= OSPF_DB_PIECE_SIZE)		{		ospf_display_ls_header (sptr_ls_header);		sptr_ls_header = (OSPF_LS_HEADER *) ((ULONG) sptr_ls_header + OSPF_DB_PIECE_SIZE);		}	return;}/*******************************************************************************************************************************/static void ospf_display_ls_request_packet (OSPF_LS_REQUEST_HEADER *sptr_ls_request_packet,USHORT length_of_packet){	char print_buffer[PRINT_BUFFER_SIZE];	char print_buffer_1[PRINT_BUFFER_SIZE];	OSPF_LS_REQUESTED_ADVERTISEMENT *sptr_ls_requested_advertisement;	ULONG size_of_requested_advertisement_optional_fields;	ULONG link_state_id;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费一区二区三区在线播放| 久久婷婷国产综合精品青草| 色综合久久久久综合99| 国产成人午夜精品5599| 国产麻豆成人精品| 国产精品1区2区| 国产精品亚洲第一区在线暖暖韩国| 美女视频黄久久| 久久99精品网久久| 国产曰批免费观看久久久| 国产在线精品免费av| 国产美女一区二区| 高清视频一区二区| 成人性生交大片免费看中文| 成人午夜精品一区二区三区| 99综合电影在线视频| 91毛片在线观看| 欧美三级三级三级| 51精品视频一区二区三区| 日韩视频免费直播| 精品国产一区二区三区忘忧草 | 精品国产凹凸成av人网站| 欧美sm美女调教| 国产午夜久久久久| 国产精品视频第一区| 亚洲免费色视频| 婷婷开心激情综合| 精品午夜一区二区三区在线观看| 国产精品资源网| 91亚洲国产成人精品一区二三 | 亚洲男人的天堂一区二区| 亚洲久草在线视频| 日日夜夜精品免费视频| 国产一区二区在线观看免费| 成人高清视频在线| 欧美性生活影院| 欧美成人一区二区三区| 久久久精品日韩欧美| 国产在线日韩欧美| 99re成人精品视频| 在线不卡a资源高清| 2023国产精华国产精品| 1024国产精品| 日本女人一区二区三区| 国产69精品久久777的优势| 在线一区二区视频| 26uuu精品一区二区在线观看| 中文字幕永久在线不卡| 日日摸夜夜添夜夜添精品视频 | 成人激情免费网站| 欧美日韩一区二区三区视频| 久久无码av三级| 夜夜精品视频一区二区| 国内精品久久久久影院薰衣草 | 日韩一区二区三区三四区视频在线观看 | 欧美一区二区三区在线看| 国产亚洲午夜高清国产拍精品| 亚洲激情中文1区| 国产在线国偷精品产拍免费yy| 91猫先生在线| 久久精品亚洲精品国产欧美| 亚洲午夜久久久久久久久久久 | 在线欧美小视频| www国产精品av| 亚洲主播在线播放| 国产成人免费视频精品含羞草妖精| 在线观看中文字幕不卡| 亚洲国产成人在线| 久久国产精品色| 欧美午夜在线观看| 中文字幕一区在线观看| 国产精品99久久久久久宅男| 91精品国产91久久综合桃花| 亚洲精品国产a| 丁香六月综合激情| 久久久午夜精品| 美女精品一区二区| 7799精品视频| 亚洲一区二区精品视频| 亚洲视频在线观看三级| 麻豆久久久久久| 欧美日高清视频| 亚洲激情男女视频| 99久久夜色精品国产网站| 久久久久国产免费免费| 男人的天堂久久精品| 欧美日韩久久一区| 亚洲成人你懂的| 欧美在线|欧美| 亚洲一区在线观看网站| 91美女在线看| 亚洲人成网站影音先锋播放| 成人91在线观看| 国产欧美日韩一区二区三区在线观看| 美女视频网站久久| 日韩午夜av电影| 日本不卡一二三区黄网| 欧美一区二区三级| 日韩中文字幕一区二区三区| 欧美日韩精品免费| 亚洲mv大片欧洲mv大片精品| 欧美三区免费完整视频在线观看| 依依成人综合视频| 欧美色手机在线观看| 一区二区三区四区中文字幕| 在线日韩av片| 婷婷国产在线综合| 欧美一区午夜精品| 免费在线欧美视频| 欧美成人免费网站| 国产成人鲁色资源国产91色综| 久久久久九九视频| av在线综合网| 亚洲一区在线看| 91麻豆精品国产自产在线观看一区| 午夜成人免费视频| 欧美一级一级性生活免费录像| 青椒成人免费视频| 久久午夜免费电影| 成人精品免费视频| 亚洲激情图片qvod| 欧美精品乱人伦久久久久久| 麻豆久久久久久| 国产欧美一二三区| 色婷婷久久久亚洲一区二区三区| 亚洲中国最大av网站| 91麻豆精品国产91久久久资源速度 | 亚洲一区二区三区中文字幕| 在线电影国产精品| 久久97超碰国产精品超碰| 不卡视频免费播放| 中文字幕五月欧美| 欧美日韩一级大片网址| 久久av中文字幕片| 中文字幕亚洲区| 欧美夫妻性生活| 国产一区二区剧情av在线| 日韩一区在线播放| 7799精品视频| 成人h版在线观看| 亚洲国产视频a| 久久久久久久综合日本| 91麻豆精品秘密| 蜜桃精品视频在线观看| 国产精品萝li| 欧美乱熟臀69xxxxxx| 国产黄色91视频| 亚洲妇熟xx妇色黄| 久久久久久久久久久久久夜| 91成人免费在线| 国产精品一区免费在线观看| 一区二区激情视频| 久久午夜免费电影| 欧美人妖巨大在线| 成人a区在线观看| 美国三级日本三级久久99| 最新国产の精品合集bt伙计| 91精品欧美福利在线观看| 成人99免费视频| 激情深爱一区二区| 亚洲一区二区三区四区在线 | 三级影片在线观看欧美日韩一区二区 | 欧美三级视频在线| 成人综合婷婷国产精品久久蜜臀| 午夜精品一区二区三区电影天堂| 国产视频视频一区| 欧美巨大另类极品videosbest| 懂色av中文一区二区三区| 日韩经典中文字幕一区| 亚洲久本草在线中文字幕| 亚洲精品一区二区精华| 欧美日韩精品免费| 91亚洲精品一区二区乱码| 国产精品18久久久久久久久 | 成人av资源网站| 久久国产精品72免费观看| 亚洲一区二区三区中文字幕在线| 国产精品免费视频一区| 日韩欧美黄色影院| 欧美久久一区二区| 色婷婷久久综合| 91丝袜高跟美女视频| 国产成人精品www牛牛影视| 美女一区二区三区在线观看| 欧美性xxxxxx少妇| 成人黄页在线观看| 国产一区二区三区观看| 免费在线观看不卡| 首页综合国产亚洲丝袜| 亚洲成a人片在线观看中文| 亚洲人成在线观看一区二区| 中文字幕av资源一区| 精品成人佐山爱一区二区| 欧美一级淫片007| 欧美一区二区在线免费观看| 精品视频123区在线观看| 色呦呦一区二区三区| 92精品国产成人观看免费| av不卡一区二区三区| 99国产精品国产精品久久|