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

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

?? ospf_timer.c

?? vxworks下ospf協議棧
?? C
?? 第 1 頁 / 共 4 頁
字號:
/* ospf_timer.c - OSPF timer *//* Copyright 2000-2003 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------  03d,17jul03,agi     Fixed opaque lsa processing03c,04jul03,agi     Fixed compiler error03b,03jul03,ram     Backed out SPR#88600 workaround03a,24jun03,agi     Fixed ospfTimer crash02z,15may03,asr	    Changes to make OSPF virtual stack compatible02y,26may03,agi     Changed rwos_get_system_elapsed_time_second() to                    ospf_get_system_elapsed_time_second()                    Added code inspection changes02x,26may03,dsk     SPR 88600 fix for stuck in EXCHANGE_START (timer added                    to restart if stuck in exchange start state too long)02w,14may03,agi     Changed RWOS semaphores to vxWorks semaphores02v,15may03,ram     SPR#88410 Fix for external route refresh update02u,22apr03,ram	    SPR#76812 Modifications for OSPF performance enhancements02t,20mar03,mwv     SPR 87019 possible reference to NULL pointer02s,29jan03,mwv     SPR 85893 set the ls_database_pending_delete when max age02r,06jan03,ram	 	SPR 85432 Changes to allow more OSPF external route processing02q,03dec02,ram     SPR 84312 - Change elapsed time to return seconds02p,19nov02,mwv     Merge TMS code SPR 8428402o,08oct02,agi     Fixed compiler warnings02n,18sep02,agi     Removed ospf_flood_advertisement_out_some_subset_of_the_routers                    _ interfaces() calls from ospf_age_the_type_11_link_state_                    database()02m,10jul02,jkw		Fix UNH 5.3 test.02l,06jun02,kc      Remove the unneeded rw_container_create_iterator() and                    rw_container_free_iterator() from ospf_age_the_link_state_database()                    and ospf_age_the_type_11_link_state_database().02k,05jun02,kc      Do not reset ospf_external_lsa_count in ospf_router_timer()02j,22apr02,ark     Added in fixes for Virtual links02i,19apr02,jkw     Fix memory leak for external lsas.02h,16apr02,jkw     One copy of external and type 11 lsa02g,09apr09,jkw     Sequence number wrap.02f,11feb02,delia   Removed CSPF build from ospf_router_timer ISR. Added Release RWOS                    semaphore on forced exit from ISR02e,20dec01,jkw     Removed sptr_area->sptr_interfaces structure.02d,12nov,jkw       Virtual link hello fix.02c,18oct01,ak      Added support for database overflow API's.02b,13oct01,kc      Dynamic configuration changes.02a,13oct01,br      Hello timer fix. SPR 7092001z,14aug01,kc      ospf_router_timer(): release rwos_ospf_mutex semaphore if error.01y,26jun01,jkw     Move global variables to ospf_globals.h for cleanup01x,19jun01,aos     Calling to ospf_clean_up_retransmit_lists_affiliated_with_this_                    advertisement () function before freeing the LS database entry.01w,21may01,jkw     Add updates for point to point01v,26sep00,reshma  Added WindRiver CopyRight01u,25sep00,reshma  RFC-1587 implementation for OSPF NSSA Option, also tested against                    ANVL.01t,07jul00,reshma  Unix compatibility related changes.01s,04apr00,reshma  Added some MIB support (Read only). Passed all important ANVL OSPF                    tests.01r,23dec99,reshma  Compatibility with VxWorks-IP and VxWorks RTM-interface01q,13aug99,jack    ifdefed lsl control calls01p,28may99,jack    Fixes in PPP related stuff01o,28dec98,jack    Compiled and added some comments01n,13nov98,jack    Changes related to introducing queuing in OSPF to RTM interface and                    bug fix on the external route additions path (to RTM)01m,11nov98,jack    Config changes, linted and big endian changes01l,30oct98,jack    Incorporate changes for compilation on Vxworks01k,23aug98,jack    ANVL tested OSPF with PATRICIA tree route table and no recursion01j,10aug98,jack    PATRICIA Route Table Based OSPF Code Base01i,06aug98,jack    In function, ospf_age_the_link_state_database, added the condition                    (sptr_database_entry->ls_database_freeme == FALSE) to check before                    calling ospf_flood_advertisement_out_some_subset_of_the_routers_                    interfaces and set sptr_database_entry->ls_database_freeme = TRUE01h,16jun98,jack    Corrected syntax error01g,16jun98,jack    Changes related to external_routes queuing and the queue processing01f,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_timer.c is used for sending OSPF packets, calculating the routing table,exporting routes, and aging the link state database on a periodic basis.This file is used every second as a timer.*/#include "ospf.h"#if defined (__OSPF_VIRTUAL_STACK__)#include "ospf_vs_lib.h"#endif /* __OSPF_VIRTUAL_STACK__ *//****************************************************************************/static void ospf_age_the_link_state_database (OSPF_AREA_ENTRY *sptr_area);static void ospf_age_the_external_link_state_database (OSPF_AREA_ENTRY *sptr_area, enum BOOLEAN first_pass_external);#if defined (__OPAQUE_LSA__)static void ospf_age_the_type_11_link_state_database (OSPF_AREA_ENTRY *sptr_area, enum BOOLEAN first_pass_external);#endif /* __OPAQUE_LSA__ */static void ospf_send_periodic_hello_packets (OSPF_INTERFACE *sptr_interface);static void ospf_retransmit_database_and_ls_request_packets (OSPF_INTERFACE *sptr_interface);static void ospf_retransmit_link_state_advertisements (OSPF_INTERFACE *sptr_interface);static void ospf_send_link_state_advertisements_that_were_queued_up_during_MinLSInterval (OSPF_AREA_ENTRY *sptr_area);IMPORT bool ospf_mib_initialize( void );/******************************************************************************** ospf_hello_timer - OSPF hello timer** This function executes the OSPF hello timer.  It ets called every* <hello_interval> seconds.** RETURNS: N/A*//* SPR 85432 -- Begin */void ospf_hello_timer ()    {    OSPF_AREA_ENTRY *sptr_area = NULL;    OSPF_INTERFACE *sptr_interface = NULL;    OSPF_PRINTF_PROLOGUE (        OSPF_PROLOGUE_PRINTF, "OSPF: Entering ospf_hello_timer\r\n");    /* asr: set virtual stack context to ensure all calls from the hello     * timer task use the correct stack context     */#if defined (VIRTUAL_STACK)    virtualStackNumTaskIdSet (ospf.ospf_vsid);#endif /* VIRTUAL_STACK */    if (semTake (ospf_config_mutex, WAIT_FOREVER) == ERROR)        {        return;        }    for (sptr_area = ospf.sptr_area_list;         sptr_area != NULL;         sptr_area = sptr_area->sptr_forward_link)        {        for (sptr_interface = sptr_area->sptr_interfaces;             sptr_interface != NULL;             sptr_interface = sptr_interface->sptr_forward_link)            {            if ((sptr_interface->area_id == sptr_area->area_id) ||               ((sptr_interface->type == OSPF_VIRTUAL_LINK) &&               (sptr_interface->area_id == OSPF_BACKBONE) &&               (sptr_area->area_id == OSPF_STARTING_AREA_ID_FOR_VIRTUAL_INTERFACE)))                {                ospf_send_periodic_hello_packets (sptr_interface);                }            }        }    ospf.hello_1_second_counter = 0x00000000L;    semGive (ospf_config_mutex);    }/* SPR 85432 -- End *//********************************************************************************* ospf_router_timer - OSPF router timer** This function gets called every tick.*/void ospf_router_timer ()    {    OSPF_AREA_ENTRY *sptr_area = NULL;    OSPF_AREA_ENTRY *sptr_next_area = NULL;    OSPF_INTERFACE *sptr_interface = NULL;    OSPF_INTERFACE *sptr_next_interface = NULL;    OSPF_NEIGHBOR *sptr_neighbor;    OSPF_NEIGHBOR *sptr_next_neighbor;    enum OSPF_NEIGHBOR_STATE neighbors_old_state;    enum OSPF_ACKNOWLEDGEMENT_RETURN_TYPE return_type;    ULONG ip_address;    enum BOOLEAN first_pass_external = TRUE;    OSPF_PRINTF_PROLOGUE (        OSPF_PROLOGUE_PRINTF, "OSPF: Entering ospf_router_timer\r\n");    /* asr: set virtual stack context to ensure all calls from the     * timer task use the correct stack context     */#if defined (VIRTUAL_STACK)    virtualStackNumTaskIdSet (ospf.ospf_vsid);#endif /* VIRTUAL_STACK */    /* take the ospf global semaphore to access ospf datastructures */    if (semTake (ospf_global_mutex, WAIT_FOREVER) == ERROR)        {        return;        }    if (ospf.timer_enabled == FALSE)		{        semGive (ospf_global_mutex);		return;		}	ospf.ospf_maxaged_lsas_removed_this_tick = 0x0;	sptr_neighbor = NULL;#if defined (__OSPF_DB_OVERFLOW_SUPPORT__)	if ((ospf.in_overflow_state == TRUE) && (ospf.ospf_exit_overflow_interval !=0))	    {		if(ospf.force_out_of_overflow_state == TRUE)		    {			ospf.force_out_of_overflow_state = FALSE;			ospf_db_overflow_timer = ospf.ospf_exit_overflow_interval;			ospf.in_overflow_state = FALSE;			OSPF_PRINTF_DB_OVERFLOW (OSPF_DB_OVERFLOW_PRINTF, "OSPF: The Router has been forced out of Overflow State\n");            semGive (ospf_global_mutex); /* release semaphore taken by this ISR before leaving ISR */			return;		    }		if(ospf.reset_ospf_exit_overflow_interval == TRUE)		    {			--ospf_db_overflow_timer;			OSPF_PRINTF_DB_OVERFLOW (OSPF_DB_OVERFLOW_PRINTF, "OSPF: The Exit Overflow Timer will be reset in %ld seconds\n",ospf_db_overflow_timer);			if(ospf_db_overflow_timer == 0)			    {				ospf_db_overflow_timer = ospf.ospf_exit_overflow_interval;				ospf.in_overflow_state = FALSE;				ospf.reset_ospf_exit_overflow_interval = FALSE;				OSPF_PRINTF_DB_OVERFLOW (OSPF_DB_OVERFLOW_PRINTF, "OSPF: The Exit Overflow Timer has been reset and out of Overflow State\n");			    }		    }		else		    {			--ospf_db_overflow_timer;			OSPF_PRINTF_DB_OVERFLOW (OSPF_DB_OVERFLOW_PRINTF, "OSPF: The Exit Overflow Timer will be reset in %ld seconds\n",ospf_db_overflow_timer);			if(ospf_db_overflow_timer == 0)			    {				ospf_db_overflow_timer = ospf.ospf_exit_overflow_interval;				ospf.in_overflow_state = FALSE;				OSPF_PRINTF_DB_OVERFLOW (OSPF_DB_OVERFLOW_PRINTF, "OSPF: The Exit Overflow Timer has been reset and out of Overflow State\n");			    }		    }	    }	if ((ospf.in_overflow_state == TRUE) && (ospf.ospf_exit_overflow_interval == 0))        {		if (ospf.force_out_of_overflow_state == TRUE)		    {			ospf.force_out_of_overflow_state = FALSE;			ospf.in_overflow_state = FALSE;			OSPF_PRINTF_DB_OVERFLOW (OSPF_DB_OVERFLOW_PRINTF, "OSPF: The Router has been forced out of Overflow State\n");            }        }#endif /*__OSPF_DB_OVERFLOW_SUPPORT__*/    ospf.ospf_queue_interval_counter++;    for (sptr_area = ospf.sptr_area_list;         sptr_area != NULL;         sptr_area = sptr_next_area)        {        sptr_next_area = sptr_area->sptr_forward_link;        ++sptr_area->periodic_MinLSInterval_time_counter;#if !defined (__OSPF_VIRTUAL_LINK__)        if ((sptr_area->MinLSInterval_timer_enabled == TRUE) &&            (sptr_area->periodic_MinLSInterval_time_counter > OSPF_MinLSInterval))            {            ospf_send_link_state_advertisements_that_were_queued_up_during_MinLSInterval (sptr_area);            sptr_area->periodic_MinLSInterval_time_counter = 0x00000000L;            }#else /*__OSPF_VIRTUAL_LINK__*/        if ((sptr_area->periodic_MinLSInterval_time_counter > OSPF_MinLSInterval))            {            ospf_send_link_state_advertisements_that_were_queued_up_during_MinLSInterval (sptr_area);            sptr_area->periodic_MinLSInterval_time_counter = 0x00000000L;            }#endif  /* __OSPF_VIRTUAL_LINK__ */        ospf_age_the_link_state_database (sptr_area);								/* section 14, (page 145) */        ospf_age_the_external_link_state_database (sptr_area, first_pass_external);						/* section 14, (page 145) */#if defined (__OPAQUE_LSA__)        ospf_age_the_type_11_link_state_database (sptr_area, first_pass_external);								/* section 14, (page 145) */#endif /* __OPAQUE_LSA__ */        first_pass_external = FALSE;        for (sptr_interface = sptr_area->sptr_interfaces;             sptr_interface != NULL;             sptr_interface = sptr_next_interface)            {            sptr_next_interface = sptr_interface->sptr_forward_link;            if ((sptr_interface->area_id == sptr_area->area_id) ||

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久一区二区国产| 国产在线观看免费一区| 91婷婷韩国欧美一区二区| 日本一区二区成人在线| 国产精品77777竹菊影视小说| 精品国产91久久久久久久妲己| 久久99国产精品麻豆| 久久久久久久久久久久久夜| 不卡一卡二卡三乱码免费网站| 国产精品国产馆在线真实露脸| 97国产一区二区| 丝袜亚洲精品中文字幕一区| 日韩精品一区二区三区四区视频| 国产一区二区三区在线看麻豆| 国产日韩欧美精品电影三级在线| 91在线无精精品入口| 亚洲乱码精品一二三四区日韩在线| 欧美午夜精品理论片a级按摩| 日韩av网站免费在线| 久久久久一区二区三区四区| 色综合久久久久综合体桃花网| 午夜视频在线观看一区二区| 久久亚洲捆绑美女| 91色在线porny| 久久国产剧场电影| 亚洲精品高清在线观看| 精品国产髙清在线看国产毛片| 成人性生交大片免费看视频在线 | 欧美激情综合网| 欧美午夜宅男影院| 国内精品免费**视频| 亚洲影院久久精品| 2017欧美狠狠色| 欧美网站一区二区| 国产成人综合网| 视频在线在亚洲| 中文字幕中文乱码欧美一区二区| 91精品国产全国免费观看| 成年人国产精品| 精品一区二区三区欧美| 亚洲综合久久久| 中文欧美字幕免费| 欧美一区二区视频在线观看| 色婷婷精品久久二区二区蜜臂av| 久久99精品一区二区三区| 亚洲影院久久精品| 国产精品国产三级国产专播品爱网 | 日本道精品一区二区三区| 激情小说欧美图片| 亚洲成av人影院在线观看网| 国产精品久久久久影院色老大| 日韩欧美一区在线| 欧美综合天天夜夜久久| 成人免费av网站| 国模套图日韩精品一区二区 | 首页国产丝袜综合| 亚洲精品成人悠悠色影视| 久久婷婷一区二区三区| 制服.丝袜.亚洲.中文.综合| 色欧美乱欧美15图片| 成人美女视频在线观看18| 极品尤物av久久免费看| 奇米色777欧美一区二区| 亚洲超碰97人人做人人爱| 一区二区三区在线视频免费观看| 国产精品私房写真福利视频| 久久久www成人免费无遮挡大片 | 欧美三级三级三级| 色综合久久久网| 日本高清不卡aⅴ免费网站| 成人av片在线观看| 国产.欧美.日韩| 国产成人精品午夜视频免费| 国产一区二区导航在线播放| 精品在线你懂的| 激情六月婷婷久久| 韩日精品视频一区| 国产精选一区二区三区| 韩日av一区二区| 国产一区二区伦理| 国产91精品一区二区麻豆网站| 国产一区二区剧情av在线| 国产精品一区二区在线播放| 成人午夜私人影院| 99re6这里只有精品视频在线观看| 91老司机福利 在线| 91福利视频在线| 91麻豆精品国产| 欧美变态口味重另类| 精品精品国产高清一毛片一天堂| 欧美一级黄色片| 久久日韩粉嫩一区二区三区| 国产欧美1区2区3区| 亚洲视频中文字幕| 亚洲丰满少妇videoshd| 免费在线观看不卡| 国产精品一区一区| 91亚洲国产成人精品一区二三| 色综合激情五月| 欧美剧情电影在线观看完整版免费励志电影 | 91国产免费看| 91精品视频网| 国产亚洲美州欧州综合国| 亚洲欧美激情小说另类| 爽爽淫人综合网网站| 国产一区二区福利视频| 91久久精品国产91性色tv| 91 com成人网| 久久久久久久久久电影| 亚洲午夜免费福利视频| 国内精品嫩模私拍在线| 色婷婷av一区二区三区之一色屋| 在线播放中文字幕一区| 国产欧美日韩另类一区| 一个色妞综合视频在线观看| 精品一区二区三区香蕉蜜桃| 91小视频在线免费看| 精品国产乱子伦一区| 成人免费在线播放视频| 美女视频黄 久久| 成人91在线观看| 欧美xxxxxxxx| 亚洲午夜一二三区视频| 久久不见久久见免费视频7| 99国产精品久久久久久久久久| 日韩一二三四区| 亚洲免费高清视频在线| 国产乱妇无码大片在线观看| 欧美日韩免费电影| 中文字幕av不卡| 免费观看一级欧美片| 在线亚洲高清视频| 国产精品视频麻豆| 麻豆精品在线视频| 欧美乱妇一区二区三区不卡视频| 欧美国产视频在线| 久久av资源站| 欧美日韩不卡视频| 亚洲精品高清视频在线观看| 国产馆精品极品| 日韩欧美色电影| 亚洲成人免费电影| 色婷婷激情一区二区三区| 中文字幕乱码日本亚洲一区二区 | 亚洲丝袜美腿综合| 国产91清纯白嫩初高中在线观看| 91精品久久久久久久91蜜桃| 亚洲免费观看高清完整版在线观看 | 91精品91久久久中77777| 欧美国产日本视频| 狠狠狠色丁香婷婷综合激情| 欧美一区二区三区在线看| 亚洲国产成人porn| 色狠狠av一区二区三区| 国产精品女主播av| 国产成人精品免费| 久久久av毛片精品| 国内久久婷婷综合| 久久中文娱乐网| 精品一区二区三区久久久| 欧美一区在线视频| 日韩精品亚洲一区| 欧美一区二区三区的| 天天色综合天天| 91精品免费观看| 捆绑调教一区二区三区| 日韩一区二区高清| 久久99久久久久| 精品久久人人做人人爽| 久久99国产精品久久99果冻传媒| 日韩精品一区二区三区在线观看| 麻豆专区一区二区三区四区五区| 91精品福利在线一区二区三区| 日韩电影免费一区| 欧美一区二区成人6969| 久久精品久久综合| 国产欧美一区视频| 不卡的av电影| 亚洲精品videosex极品| 在线观看www91| 天天色综合天天| ww久久中文字幕| 成人av在线资源| 亚洲综合小说图片| 日韩亚洲欧美综合| 国产精品系列在线观看| 中文字幕日本不卡| 欧美三级日本三级少妇99| 日韩影院在线观看| 亚洲精品在线网站| 不卡高清视频专区| 亚洲成人av一区二区三区| 欧美v国产在线一区二区三区| 国产高清成人在线| 亚洲男人的天堂一区二区| 欧美美女直播网站| 国产精品123区| 亚洲自拍偷拍九九九| 精品少妇一区二区三区在线视频| 国产传媒一区在线|