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

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

?? ospf_receive_acknowledgement.c

?? vxworks下ospf協(xié)議棧
?? C
字號(hào):
/* ospf_receive_acknowledgement.c *//* Copyright 2000 Wind River Systems, Inc. *//*modification history___________________ 02d,22apr03,ram	   		SPR#76812 Modifications for OSPF performance enhancements 02c,17feb03,ram			SPR 85893 Removed check for pending deletion 02b,29jan03,mwv			SPR 85893 ospf_ls_acknowledgement_packet_received () check pending deletion for                            flag for external routes. 02a,06jan03,ram			SPR 85432 Changes to allow more OSPF external route processing 18,16april02,jkw	  		One copy of external and type 11 lsa 17,19june01,aos   			Calling to ospf_clean_up_retransmit_lists_affiliated_with_this_advertisement () function before freeing the LS database entry. 16,26september00,reshma	Added WindRiver CopyRight 15,25september00,reshma	RFC-1587 implementation for OSPF NSSA Option, also tested against ANVL. 14,07july00,reshma			Unix compatibility related changes. 13,04april00,reshma		Added some MIB support (Read only).Passed all important ANVL OSPF tests. 12,23december99,reshma		Compatibility with VxWorks-IP and VxWorks RTM-interface 11,28december98,jack		Compiled and added some comments 10,11november98,jack		Config changes, linted and big endian changes 09,30october98,jack		Incorporate changes for compilation on Vxworks 08,23august98,jack			ANVL tested OSPF with PATRICIA tree route table and no recursion 07,10august98,jack			PATRICIA Route Table Based OSPF Code Base 06,04june98,jack			Integration with RTM and BGP 05,24april98,jack			RTM changes 04,10july97,cindy			Pre-release v1.52b 03,02october97,cindy		Release Version 1.52 02,22october96,cindy		Release Version 1.50 01,05june96,cindy			First Beta Release*//*DESCRIPTIONospf_receive_acknowledgement.c is used for processing received link state acknowledgement packets.This file is used whenever a new OSPF link state acknowledgement packet is received.*/#include "ospf.h"#if defined (__OSPF_VIRTUAL_STACK__)#include "ospf_vs_lib.h"#endif /* __OSPF_VIRTUAL_STACK__ *//*******************************************************************************************************************************/static void ospf_process_advertisement (OSPF_NEIGHBOR *sptr_neighbor,OSPF_LS_DATABASE_ENTRY *sptr_advertisement,OSPF_LS_HEADER *sptr_ls_advertisement_header);/***************************************************************************************************************************** * for each acknowledgement in the Link State Acknowledgement packet, the following steps are performed: *     (1) Does the advertisement acknowledged have an instance on the Link State retransmission list for the neighbor?  If not, *         examine the next acknowledgement.  Otherwise: *     (2) If the acknowledgement is for the same instance that is contained on the list, remove the item from the list and *         examine the next acknowledgment.  Otherwise: *     (3) Log the questionable acknowledgement, and examine the next one. * ****************************************************************************//* section 13.7 of OSPF specification (page 144) */enum OSPF_PACKET_STATE ospf_ls_acknowledgement_packet_received (OSPF_LS_ACKNOWLEDGEMENT_HEADER *sptr_acknowledgement_packet,	OSPF_NEIGHBOR *sptr_neighbor,OSPF_INTERFACE *sptr_interface,ULONG size_of_packet){	OSPF_LS_HEADER *sptr_ls_advertisement_header;	OSPF_LS_DATABASE_ENTRY *sptr_advertisement;	enum TEST test_return_type;	ULONG link_state_id;	ULONG advertising_router;	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_ls_acknowledgement_packet_received\r\n");	if (sptr_neighbor->state < OSPF_NEIGHBOR_EXCHANGE)		/* discard packet if this neighbor is in a lesser state than Exchange */		{		return (OSPF_ERROR_ACKNOWLEDGEMENT_STATE);		}    if ( sptr_acknowledgement_packet == NULL )        return( OSPF_ERROR_ACKNOWLEDGEMENT_BAD );	sptr_ls_advertisement_header = &sptr_acknowledgement_packet->ls_advertisement_header;	for (size_of_packet -= OSPF_PACKET_SIZE; size_of_packet > 0x00000000L; size_of_packet -= sizeof (OSPF_LS_HEADER))		{		test_return_type = ospf_check_for_valid_ls_type (sptr_interface, sptr_ls_advertisement_header, OSPF_LINK_STATE_ACKNOWLEDGEMENT_PACKET);		if (test_return_type == FAIL)			{			continue;			}		link_state_id = sptr_ls_advertisement_header->id;		link_state_id = net_to_host_long (link_state_id);		advertising_router = sptr_ls_advertisement_header->advertising_router;		advertising_router = net_to_host_long (advertising_router);		/* SPR#76812 */		sptr_advertisement = ospf_find_LSA (sptr_interface->sptr_area, link_state_id, advertising_router, sptr_ls_advertisement_header->type);		if (sptr_advertisement == NULL)			{			continue;							/* couldn't find the acknowledged advertisement in the link state database list, so skip it */			}		else if (sptr_advertisement->sptr_ls_database_retrans == NULL)			{			continue;							/* found advertisement, but no neighbors on its retransmit list, so nothing to do */			}		else			{			ospf_process_advertisement (sptr_neighbor, sptr_advertisement, sptr_ls_advertisement_header);			}		sptr_ls_advertisement_header = (OSPF_LS_HEADER *) ((ULONG) sptr_ls_advertisement_header + OSPF_LS_HEADER_SIZE);		}	return (GOOD_RECEIVE);}/*******************************************************************************************************************************/static void ospf_process_advertisement (OSPF_NEIGHBOR *sptr_neighbor,OSPF_LS_DATABASE_ENTRY *sptr_advertisement,OSPF_LS_HEADER *sptr_ls_advertisement_header){	OSPF_LS_DATABASE_NODE *sptr_retransmission_node;	enum TEST test_return_type;	USHORT age;	ULONG advertising_router;	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_process_advertisement\r\n");	sptr_retransmission_node = ospf_find_advertisement_on_neighbors_retransmit_list (sptr_neighbor, sptr_advertisement);	if (sptr_retransmission_node == NULL)	/* section 13.7, first bullet item (page 144) - couldn't find an instance for the     */		{												/* acknowledged advertisement on the Link State retransmission list for the neighbor, */		return;										/* so skip it.                                                                        */		}    if ( sptr_advertisement->advertisement.sptr_router == NULL )        return;	test_return_type = ospf_check_if_same_instance (sptr_ls_advertisement_header,		&(sptr_advertisement->advertisement.sptr_router->ls_header), sptr_retransmission_node->periodic_retransmit_time_counter);	if (test_return_type == PASS)			/* advertisement has been successfully acknowledged by this neighbor */		{		/*	the advertisement's retransmit list is a list of neighbors that haven't acknowledged the advertisement yet */		ospf_remove_neighbor_from_advertisements_retransmit_list (sptr_advertisement, sptr_neighbor);		/* stop retransmitting the advertisement to this neighbor */		ospf_remove_node_from_neighbors_retransmit_queue (sptr_neighbor, sptr_retransmission_node);		/* if OSPF_MAXIMUM_AGE, self-originated and the retransmit list is empty, then remove advertisement from link state database */		test_return_type = ospf_check_if_advertisements_link_state_id_is_equal_to_one_of_the_routers_own_IP_interface_addresses (			sptr_advertisement->advertisement.sptr_router);		age = sptr_advertisement->advertisement.sptr_router->ls_header.age;		age = net_to_host_short (age);		advertising_router = sptr_advertisement->advertisement.sptr_router->ls_header.advertising_router;		advertising_router = net_to_host_long (advertising_router);		/* SPR 85432 -- Begin */		if ((sptr_advertisement->ls_database_freeme == FALSE) &&			(age >= OSPF_MAXIMUM_AGE) &&			(sptr_advertisement->sptr_ls_database_retrans == NULL) &&			(ospf.number_of_neighbors_in_exchange_state == ospf.number_of_neighbors_in_full_state))		/* section 14 (page 145) */			{				sptr_advertisement->ls_database_freeme = TRUE;				ospf_clean_up_retransmit_lists_affiliated_with_this_advertisement (sptr_advertisement);				(void) ospf_free_database_entry (sptr_advertisement);			}		/* SPR 85432 -- End */		}	else		{		if (ospf_check_if_more_recent (sptr_ls_advertisement_header, &sptr_advertisement->advertisement.sptr_router->ls_header,			sptr_retransmission_node->periodic_retransmit_time_counter))			{			OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "OSPF: BAD ACKNOWLEDGEMENT\r\n");			}		else			{			OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "OSPF: DUPLICATE ACKNOWLEDGEMENT\r\n");			}		}	return;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美一区二区三区国产精品| 亚洲成人免费影院| 欧美浪妇xxxx高跟鞋交| 国产精品一二二区| 亚洲成人1区2区| 亚洲欧美影音先锋| 精品99999| 欧美日本一区二区三区四区 | 国产福利91精品一区二区三区| 亚洲最大成人综合| 国产精品日韩成人| 精品久久久久久久久久久久久久久久久 | 91免费版在线| 国内成+人亚洲+欧美+综合在线| 亚洲国产一区视频| 国产精品成人一区二区艾草 | 久久亚洲私人国产精品va媚药| 日韩欧美亚洲国产另类| 欧美性猛交xxxx黑人交| 99久久婷婷国产| 福利视频网站一区二区三区| 精品亚洲欧美一区| 美腿丝袜在线亚洲一区| 午夜精彩视频在线观看不卡| 亚洲黄网站在线观看| 中文字幕亚洲在| 国产精品乱码一区二区三区软件| ww亚洲ww在线观看国产| 欧美大胆人体bbbb| 欧美一区二区成人| 91精品国产高清一区二区三区| 在线观看免费亚洲| 色美美综合视频| 色综合久久中文字幕| av在线不卡免费看| www.日韩在线| 99久久99久久免费精品蜜臀| 成人网在线播放| 成人18视频在线播放| 不卡欧美aaaaa| 成人黄色免费短视频| 国产精品白丝jk黑袜喷水| 国产精品夜夜嗨| 懂色av一区二区夜夜嗨| 成人激情免费网站| 91网站在线播放| 欧美综合亚洲图片综合区| 欧洲另类一二三四区| 日本韩国精品在线| 欧美日韩国产小视频在线观看| 3atv一区二区三区| 欧美成人猛片aaaaaaa| 久久综合色8888| 欧美激情一区不卡| 国产精品不卡在线观看| 亚洲精品欧美专区| 日本美女视频一区二区| 色婷婷久久一区二区三区麻豆| 91视频91自| 欧美日韩成人综合天天影院| 精品久久久久久久久久久久久久久 | 久久er精品视频| 国内精品免费**视频| youjizz国产精品| 色哟哟一区二区三区| 日韩一区二区三区电影| 久久久精品国产免费观看同学| 亚洲欧美日韩中文播放| 天天影视涩香欲综合网| 国产精品另类一区| 精品一区二区三区不卡| 亚洲精品免费一二三区| 午夜国产精品一区| 激情综合色播激情啊| 成人免费视频网站在线观看| 日本伦理一区二区| 欧美一区二区视频在线观看 | 欧美一区二区三区播放老司机 | 亚洲专区一二三| 日本大胆欧美人术艺术动态| 成人久久18免费网站麻豆| 欧美色图12p| 国产日产欧美一区二区视频| 亚洲国产日韩综合久久精品| 精品一区二区三区免费毛片爱 | 国产乱国产乱300精品| 麻豆一区二区在线| 成人动漫一区二区| 欧美一区二区视频在线观看2022 | 26uuu精品一区二区在线观看| 成人欧美一区二区三区白人 | 成人丝袜视频网| 欧美日韩精品一区二区天天拍小说| 日韩一区二区中文字幕| 成人欧美一区二区三区白人 | 亚洲成人资源在线| 国产精品 欧美精品| 欧美日韩另类一区| 中文成人综合网| 天堂影院一区二区| 99热这里都是精品| 亚洲精品在线电影| 亚洲aaa精品| 色婷婷综合久色| 国产精品视频你懂的| 久久国产乱子精品免费女| 欧美系列一区二区| 亚洲欧美日韩国产成人精品影院 | 国产精品私人影院| 久久丁香综合五月国产三级网站| 91麻豆免费观看| 国产欧美综合在线| 精品无人码麻豆乱码1区2区 | 一区二区三区在线视频免费观看| 国产一区二区福利视频| 在线电影一区二区三区| 亚洲精品欧美专区| 91浏览器在线视频| 亚洲欧洲99久久| 成人免费毛片嘿嘿连载视频| 精品剧情在线观看| 另类小说色综合网站| 欧美一区二区三区免费大片| 天天色综合天天| 欧美日本在线视频| 偷偷要91色婷婷| 91 com成人网| 肉丝袜脚交视频一区二区| 在线欧美一区二区| 一级精品视频在线观看宜春院| 国产精品一二三四区| 欧美不卡一区二区三区| 久久国产精品无码网站| 亚洲精品一区二区三区福利| 美女免费视频一区二区| 日韩女优电影在线观看| 久久99蜜桃精品| 欧美精品一区二区三| 人妖欧美一区二区| 日韩欧美在线123| 日韩av网站免费在线| 欧美日韩国产乱码电影| 一区二区三区在线免费| 色婷婷综合久久久| 亚洲va欧美va人人爽午夜| 欧美群妇大交群中文字幕| 五月天激情综合网| 精品久久国产字幕高潮| 国产一区福利在线| 中文字幕在线一区| 一本大道av一区二区在线播放| 亚洲一区二区在线观看视频| 91麻豆精品国产无毒不卡在线观看 | 在线成人午夜影院| 理论片日本一区| 欧美极品美女视频| 色悠悠亚洲一区二区| 视频一区国产视频| 久久久久久久久岛国免费| 99精品热视频| 日韩精品视频网站| 久久精品综合网| 91美女片黄在线观看| 午夜免费久久看| 久久久噜噜噜久久中文字幕色伊伊| aa级大片欧美| 午夜精品福利久久久| 久久精品日韩一区二区三区| 一本到不卡免费一区二区| 日本在线不卡一区| 国产欧美日韩另类一区| 欧美性做爰猛烈叫床潮| 美日韩一级片在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 欧美亚洲国产一区在线观看网站| 麻豆国产欧美日韩综合精品二区| 国产精品毛片久久久久久| 欧美曰成人黄网| 国产一区不卡视频| 亚洲一区二区欧美日韩 | 精品不卡在线视频| 91猫先生在线| 精品一区二区三区免费毛片爱| 亚洲日本在线视频观看| 日韩欧美一区中文| 在线一区二区三区做爰视频网站| 美女爽到高潮91| 一区二区三区国产| 国产婷婷色一区二区三区四区 | 免费观看30秒视频久久| 国产精品国模大尺度视频| 69精品人人人人| av电影在线观看完整版一区二区| 免费看欧美美女黄的网站| 日韩一区在线免费观看| 日韩欧美的一区| 91小视频免费观看| 激情综合色播五月| 亚洲一区在线视频| 欧美国产精品v|