⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ospf_show_lsdb.c

📁 vxworks下ospf协议栈
💻 C
📖 第 1 页 / 共 5 页
字号:
	       	for (sptr_database_entry = sptr_ls_database_head->sptr_linear_database_entry;	       		sptr_database_entry != NULL;	       	    sptr_database_entry = sptr_next_database_entry)				{				sptr_next_database_entry = sptr_database_entry->sptr_forward_link;				if ( sptr_database_entry->advertisement.sptr_type_9 != NULL )					{					number_of_type_9_lsas++;					length = sptr_database_entry->advertisement.sptr_type_9->ls_header.length;					length = net_to_host_short(length);					type_9_lsa_bytes = type_9_lsa_bytes + length;					}				}			}		for (index = 0x00000000L, sptr_ls_database_head = &(sptr_area->opaque_ls_database_hash_table[TYPE_10_LSA][index]);	/* for each hash list */			index < OSPF_HASH_TABLE_SIZE; ++index, sptr_ls_database_head = &(sptr_area->opaque_ls_database_hash_table[TYPE_10_LSA][index]))			{			/* SPR#76812 */	       	for (sptr_database_entry = sptr_ls_database_head->sptr_linear_database_entry;	       		sptr_database_entry != NULL;	       	    sptr_database_entry = sptr_next_database_entry)				{				sptr_next_database_entry = sptr_database_entry->sptr_forward_link;				if ( sptr_database_entry->advertisement.sptr_type_10 != NULL )					{					length = sptr_database_entry->advertisement.sptr_type_10->ls_header.length;					length = net_to_host_short(length);					type_10_lsa_bytes = type_10_lsa_bytes + length;					number_of_type_10_lsas++;					}				}			}#endif /* __OPAQUE_LSA__ */		ospf_print_ls_router_area_id(sptr_area->area_id);		ospf_print_number_of_router_lsas(number_of_router_lsas);		printf("=====================================================================\r\n");		ospf_print_number_of_network_lsas(number_of_network_lsas);		printf("=====================================================================\r\n");		ospf_print_number_of_network_summary_lsas(number_of_network_summary_lsas);		printf("=====================================================================\r\n");		ospf_print_number_of_asbr_summary_lsas(number_of_asbr_summary_lsas);		printf("=====================================================================\r\n");#if defined (__NSSA__)		ospf_print_number_of_type_7_lsas(number_of_type_7_lsas);		printf("=====================================================================\r\n");#endif /* __NSSA__ */#if defined (__OPAQUE_LSA__)		ospf_print_number_of_type_9_lsas(number_of_type_9_lsas);		printf("=====================================================================\r\n");		ospf_print_number_of_type_10_lsas(number_of_type_10_lsas);		printf("=====================================================================\r\n");#endif /* __OPAQUE_LSA__ */		total_number_of_lsas = total_number_of_lsas + number_of_router_lsas + number_of_network_lsas +			number_of_network_summary_lsas + number_of_asbr_summary_lsas + number_of_type_7_lsas +			number_of_type_9_lsas + number_of_type_10_lsas;		sptr_area = sptr_area->sptr_forward_link;		}	/* Check for external lsdb */	for (index = 0x00000000L, sptr_ls_database_head = &(ospf.external_database_hash_table[LS_EXTERNAL_LSA][index]);	/* for each hash list */		index < OSPF_HASH_TABLE_SIZE;         ++index, sptr_ls_database_head = &(ospf.external_database_hash_table[LS_EXTERNAL_LSA][index]))		{		if (sptr_ls_database_head == NULL)			{			continue;			}		        /* SPR#76812 */       	for (sptr_database_entry = sptr_ls_database_head->sptr_linear_database_entry;       		sptr_database_entry != NULL;       	    sptr_database_entry = sptr_next_database_entry)			{			sptr_next_database_entry = sptr_database_entry->sptr_forward_link;			/* SPR 85893 --Begin */			if (( sptr_database_entry->advertisement.sptr_external != NULL ) &&				( sptr_database_entry->ls_database_pending_delete == FALSE))			/* SPR 85893 --End */				{				number_of_external_lsas++;				length = sptr_database_entry->advertisement.sptr_external->ls_header.length;				length = net_to_host_short(length);				external_lsa_bytes = external_lsa_bytes + length;				}			}		}	ospf_print_number_of_external_lsas(number_of_external_lsas);	printf("=====================================================================\r\n");#if defined (__OPAQUE_LSA__)		/* Check for type 11 lsdb */		for (index = 0x00000000L, sptr_ls_database_head = &(ospf.type_11_database_hash_table[LS_TYPE_11_LSA][index]);	/* for each hash list */			index < OSPF_HASH_TABLE_SIZE; ++index, sptr_ls_database_head = &(ospf.type_11_database_hash_table[LS_TYPE_11_LSA][index]))			{			if (sptr_ls_database_head == NULL)				{				continue;				}			            /* SPR#76812 */	       	for (sptr_database_entry = sptr_ls_database_head->sptr_linear_database_entry;	       		sptr_database_entry != NULL;	       	    sptr_database_entry = sptr_next_database_entry)				{				sptr_next_database_entry = sptr_database_entry->sptr_forward_link;				if ( sptr_database_entry->advertisement.sptr_type_11 != NULL )					{					number_of_type_11_lsas++;					length = sptr_database_entry->advertisement.sptr_type_11->ls_header.length;					length = net_to_host_short(length);					type_11_lsa_bytes = type_11_lsa_bytes + length;					}				}			}		ospf_print_number_of_type_11_lsas(number_of_type_11_lsas);		printf("=====================================================================\r\n");#endif /* __OPAQUE_LSA__ */	ospf_print_router_lsa_bytes(router_lsa_bytes);	printf("=====================================================================\r\n");	ospf_print_network_lsa_bytes(network_lsa_bytes);	printf("=====================================================================\r\n");	ospf_print_network_summary_lsa_bytes(network_summary_lsa_bytes);	printf("=====================================================================\r\n");	ospf_print_asbr_summary_lsa_bytes(asbr_summary_lsa_bytes);	printf("=====================================================================\r\n");#if defined (__NSSA__)	ospf_print_type_7_lsa_bytes(type_7_lsa_bytes);	printf("=====================================================================\r\n");#endif /* __NSSA__ */#if defined (__OPAQUE_LSA__)	ospf_print_type_9_lsa_bytes(type_9_lsa_bytes);	printf("=====================================================================\r\n");	ospf_print_type_10_lsa_bytes(type_10_lsa_bytes);	printf("=====================================================================\r\n");#endif /* __OPAQUE_LSA__ */	ospf_print_external_lsa_bytes(external_lsa_bytes);	printf("=====================================================================\r\n");#if defined (__OPAQUE_LSA__)	ospf_print_type_11_lsa_bytes(type_11_lsa_bytes);	printf("=====================================================================\r\n");#endif /* __OPAQUE_LSA__ */	ospf_print_total_number_of_lsas(total_number_of_lsas);	printf("=====================================================================\r\n");	total_lsa_bytes = router_lsa_bytes + network_lsa_bytes + network_summary_lsa_bytes +		asbr_summary_lsa_bytes + type_7_lsa_bytes + type_9_lsa_bytes + type_10_lsa_bytes +		external_lsa_bytes + type_11_lsa_bytes;	ospf_print_total_lsa_bytes(total_lsa_bytes);	printf("=====================================================================\r\n");	semGive(ospf_global_mutex );	return OK;    }/******************************************************************************** ospfShowRouterLsdb - show router link state database **/STATUS ospfShowRouterLsdb ()    {	OSPF_AREA_ENTRY *sptr_area = ospf.sptr_area_list;	OSPF_LS_DATABASE_HEAD *sptr_ls_database_head = NULL;	OSPF_LS_DATABASE_ENTRY *sptr_database_entry = NULL;    OSPF_LS_DATABASE_ENTRY *sptr_next_database_entry = NULL;    ULONG index;	USHORT number_of_links;	ULONG number_of_router_lsas = 0x00000000;	OSPF_PRINTF_DEBUG (        OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_show_router_lsdb\r\n");	semTake (ospf_global_mutex , WAIT_FOREVER);	while (sptr_area != NULL)		{		for (index = 0x00000000L, sptr_ls_database_head = &(sptr_area->ls_database_hash_table[OSPF_LS_ROUTER][index]);	/* for each hash list */			index < OSPF_HASH_TABLE_SIZE; ++index, sptr_ls_database_head = &(sptr_area->ls_database_hash_table[OSPF_LS_ROUTER][index]))			{			/* SPR#76812 */	       	for (sptr_database_entry = sptr_ls_database_head->sptr_linear_database_entry;	       		sptr_database_entry != NULL;	       	    sptr_database_entry = sptr_next_database_entry)				{				sptr_next_database_entry = sptr_database_entry->sptr_forward_link;				if ( sptr_database_entry->advertisement.sptr_router != NULL )					{					ospf_print_ls_router_id();					ospf_print_ls_router_area_id(sptr_area->area_id);					ospf_print_ls_age(sptr_database_entry->advertisement.sptr_router->ls_header.age);					ospf_print_ls_options_for_router(sptr_database_entry->advertisement.sptr_router);					ospf_print_ls_type(sptr_database_entry->advertisement.sptr_router->ls_header.type);					ospf_print_ls_id(sptr_database_entry->advertisement.sptr_router->ls_header.id);					ospf_print_ls_advertising_router(sptr_database_entry->advertisement.sptr_router->ls_header.advertising_router);					ospf_print_ls_sequence_number(sptr_database_entry->advertisement.sptr_router->ls_header.sequence_number);					ospf_print_ls_checksum(sptr_database_entry->advertisement.sptr_router->ls_header.checksum);					ospf_print_ls_length(sptr_database_entry->advertisement.sptr_router->ls_header.length);					number_of_links = sptr_database_entry->advertisement.sptr_router->number_of_links;					number_of_links = net_to_host_short (number_of_links);					ospf_print_ls_number_of_links(number_of_links);					ospf_print_ls_router_links(number_of_links, &(sptr_database_entry->advertisement.sptr_router->link));                    printf("=====================================================================\r\n");					number_of_router_lsas++;					}				}			}		sptr_area = sptr_area->sptr_forward_link;		}	ospf_print_number_of_router_lsas(number_of_router_lsas);	printf("=====================================================================\r\n");	semGive(ospf_global_mutex );	return OK;    }/******************************************************************************** ospfShowNetworkLsdb - show network link state database **/STATUS ospfShowNetworkLsdb(){	OSPF_AREA_ENTRY *sptr_area = ospf.sptr_area_list;	OSPF_LS_DATABASE_HEAD *sptr_ls_database_head = NULL;	OSPF_LS_DATABASE_ENTRY *sptr_next_database_entry = NULL;	OSPF_LS_DATABASE_ENTRY *sptr_database_entry = NULL;	ULONG index;	ULONG number_of_network_lsas = 0x00000000;	OSPF_PRINTF_DEBUG (        OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_show_network_lsdb\r\n");	semTake (ospf_global_mutex , WAIT_FOREVER);	while (sptr_area != NULL)		{		for (index = 0x00000000L, sptr_ls_database_head = &(sptr_area->ls_database_hash_table[OSPF_LS_NETWORK][index]);	/* for each hash list */			index < OSPF_HASH_TABLE_SIZE; ++index, sptr_ls_database_head = &(sptr_area->ls_database_hash_table[OSPF_LS_NETWORK][index]))			{			/* SPR#76812 */	       	for (sptr_database_entry = sptr_ls_database_head->sptr_linear_database_entry;	       		sptr_database_entry != NULL;	       	    sptr_database_entry = sptr_next_database_entry)				{				sptr_next_database_entry = sptr_database_entry->sptr_forward_link;				if ( sptr_database_entry->advertisement.sptr_network != NULL )					{					ospf_print_ls_router_id();					ospf_print_ls_network_area_id(sptr_area->area_id);					ospf_print_ls_age(sptr_database_entry->advertisement.sptr_network->ls_header.age);					ospf_print_ls_options();					ospf_print_ls_type(sptr_database_entry->advertisement.sptr_network->ls_header.type);					ospf_print_ls_id(sptr_database_entry->advertisement.sptr_network->ls_header.id);					ospf_print_ls_advertising_router(sptr_database_entry->advertisement.sptr_network->ls_header.advertising_router);					ospf_print_ls_sequence_number(sptr_database_entry->advertisement.sptr_network->ls_header.sequence_number);					ospf_print_ls_checksum(sptr_database_entry->advertisement.sptr_network->ls_header.checksum);					ospf_print_ls_length(sptr_database_entry->advertisement.sptr_network->ls_header.length);					ospf_print_ls_network_mask(sptr_database_entry->advertisement.sptr_network->network_mask);					ospf_print_ls_network_links(sptr_database_entry->advertisement.sptr_network);                    printf("=====================================================================\r\n");					number_of_network_lsas++;					}				}			}		sptr_area = sptr_area->sptr_forward_link;		}	ospf_print_number_of_network_lsas(number_of_network_lsas);	printf("=====================================================================\r\n");	semGive(ospf_global_mutex );	return OK;    }/******************************************************************************** ospfShowSummaryLsdb - show summary link state database**/STATUS ospfShowSummaryLsdb()    {	OSPF_AREA_ENTRY *sptr_area = ospf.sptr_area_list;	OSPF_LS_DATABASE_HEAD *sptr_ls_database_head = NULL;	OSPF_LS_DATABASE_ENTRY *sptr_database_entry = NULL;	OSPF_LS_DATABASE_ENTRY *sptr_next_database_entry = NULL;    ULONG index;	ULONG number_of_network_summary_lsas = 0x00000000;	OSPF_PRINTF_DEBUG (        OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_show_summary_lsdb\r\n");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -