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

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

?? ospf_dynamic_config.c

?? vxworks下ospf協(xié)議棧
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
/* ospf_dynamic_config.c - API for dynamic reconfiguration *//* Copyright 1998-2003 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------02t,30jun03,agi Fixed SPR#88879, ospf does not clean up external LSDB when an                 interface is brought down02s,06jun03,htm Fixed SPR#86153 - Inside ospf_dynamic_create_interface() Set area_id of                 virtual interface to backbone/pseudo area_id not to the transit area id. 02r,02jun03,asr Renamed route_proto to route_protocol02q,09may03,kc  Fixed SPR#88389 - Added route_proto and is_default_route                arguments to ospf_dynamic_flush_external_routes().02p,12may03,asr Changes to make OSPF virtual stack compatible02o,27apr03,kc  Fixed SPR#86625 - added ospf_dynamic_send_default_summary_lsa().                Modified ospf_dynamic_create_interface() and ospf_dynamic_reinit_interface()                to originate a default summary lsa if the interface is attached to a                stub area that is configured to send area summary.02n,15may03,kkz SPR 88613 - Area Address range rewrite:                - correct use of "active" flag for address ranges, to track active links                - when area address range changes status, correctly age out old                LSAs and advertise appropriate new one(s)                - fix a logic error in ospf_dynamic_reinit_interface()02m,23may03,agi Changed RWOS semaphores to vxWorks semaphores02l,22apr03,ram	SPR#76812 Modifications for OSPF performance enhancements02k,18mar03,kkz SPR 86531 - Fixed ospf_dynamic_reinit_interface() to check ABR status AFTER                calling ospf_dynamic_reset_interface()02j,05mar03,mwv SPR 86274 fix a logic error in ospf_dynamic_reinit_interface()02i,19nov02,kc  Fixed ospf_dynamic_reset_interface() and ospf_dynamic_reinit_interface()                to send router lsa to all other connected areas if the area border router                status has changed. Fixed ospf_dynamic_reset_interface() to flush                self-originated network lsa if ncessary. Also modified                ospf_dynamic_create_interface() and ospf_dynamic_destroy_interface() to                send the router lsa using the ospf_notify_areas_for_abr_change(). Flush                self-originated network lsa using ospf_flush_network_link_advertisement()                in the ospf_dynamic_destroy_interface(). SPR 84478, 84485, 8448602h,03oct02,hme Fixed TSR# 291665 (SPR 83674)                ospf_dynamic_create_interface() and                ospf_dynamic_destroy_interface() needs to send out router lsa                to all areas if the ABR status for the router is changed when                interface is added or deleted.02g,08oct02,agi Fixed compiler warnings02f,22jun02,kc  Do not saved low-level interface handler when dynamically create                an interface.02e,05jun02,kc  Modified ospf_dynamic_config_overflow() to correctly set the                force_out_of_overflow_state to TRUE when bringing the router out                of the overflow state.02d,31may02,kc  Fixed MIPS32 compiler warnings.02c,24may02,kc  Modified ospf_dynamic_create_interface() to save a local copy of the                if_flags and if_index (retrieved from ifnet_structure) to the                OSPF_INTERFACE data structure.02b,23apr02,kc  Properly keep track the number of areas, stub areas, nssa, virtual                interfaces, interfaces and area aggregations that have been configured.                Explicitly reset the linked list head pointer for area, stub area,                nssa, virtual interface, interfaces and area aggregations to NULL                if the counter for such data structure is zero.02a,23apr02,kc  Fixed ospf_dynamic_create_interface() - don't join multicast group                and don't attempt to obtain the low-level interface handler if                interface type is virtual link.01z,23apr02,kc  Modified ospf_dynamic_destroy_interface() to also remove the virtual                link instance from the virtual interface linked list.01x,19apr02,kc  Force routing table to rebuild when an interface is removed                in ospf_dynamic_destroy_interface().01w,18apr02,kc  Fixed SPR #74432 - Added ospf_dynamic_export_external_routes()                and ospf_dynamic_flush_external_routes() routines.01v,19apr02,jkw Fix memory leak for external lsas.01u,10apr02,kc  Remerged changed to ospf_dynamic_init_unnumbered_interface() -                added net_to_host_long(inet_addr(theAddr)) and ifunit().01t,10apr02,kc  Remerged changes for unnumbered interface support. Added new                ospf_dynamic_init_unnumbered_interface() function.01s,04apr02,kc  Changed ospf_dynamic_create_virtIntf() to complete all the necessary                virtual link setup before invoking ospf_dynamic_create_interface().                link setup has been completed.01r,01apr02,kc  Modified ospf_dynamic_destroy_interface() to fix crashes when                deleting the first interface on the interface list. The pointer                to the interface list needs to be adjusted for all areas configured.01q,01apr02,kc  Fixed ospf_dynamic_destroy_area() to remove the stub/nssa entry                and to free memory allocated for the area entry.01p,25mar02,kc  Fixed ospf_dynamic_cleanup_area() again - set the forward pointer                for the shortest_path_first_tree to NULL after freeing the memory                pointed to by the given pointer.01o,22mar02,kc  Fixed ospf_dynamic_cleanup_area() - explictly set the pointer pointed                to by sptr_candidate and sptr_summary_advertisement_list_head to                NULL after freeing the memory pointed to by the given pointer.01n,22mar02,kc  Fixed SPR74261. Added ospf_dynamic_init_area_hash_list() function.                Fixed ospf_dynamic_reinit_interface() to correctly put the interface                onto the newly configured area.01m,07feb02,kc  Modified ospf_dynamic_create_interface() to group all calls to                ospf_multicast_group_request() together.01l,22jan02,kc  Modified ospf_dynamic_destroy_interface() to fix crashes when                deleting an interface. Also modified ospf_dynamic_create_area()                to initialize the interface list for the area correctly.01k,17jan02,kc  Fixed ospf_dynamic_create_interface() - get low level interface                handler from os.01j,21dec01,kc  Fixed ospf_dynamic_destroy_interface() routine.01i,20dec01,jkw Removed sptr_area->sptr_interfaces structure.01h,13dec01,kc  Added ospf_dynamic_calculate_spf() routine.01g,07dec01,kc  Added ospf_dynamic_reset_interface() and                ospf_dynamic_reinit_interface() routines.01f,23oct01,kc  Fixed type error - renamed ospf_dynamic_destory_neighbor() to                ospf_dynamic_destroy_neighbor01e,21oct01,kc  Added ospf_dynamic_config_overflow() and                ospf_dynamic_flush_opaque_lsa() routines.01d,20oct01,kc  Added ospf_dynamic_create_area_range() and                ospf_dynamic_destroy_area_range() routines.01c,20oct01,kc  Added ospf_dynamic_destory_neighbor() routine.01b,17oct01,kc  Modified ospf_dynamic_reinit_area to only create a new instance of                stub/nssa if it is not already exist.01a,24sep01,kc  Initial file creation.*//*DESCRIPTIONThis module contains various helper functions used by the OSPF ManagmentInterface to configure the OSPF. The intention of this module is to encapsulateall the OSPF specific implementation detail from the MIB API. Notice that thismodule does not acquire any locking mechanism to ensure mutual exclusion whenaccessing the global OSPF data structure. It is the caller responsibility toensure such locking mechanism takes place before calling functions in thismodule.*//* VxWorks standard includes */#include <stdio.h>#include <stdlib.h>#include <vxWorks.h>/* OSPF includes */#include "ospf.h"#if defined (__OSPF_VIRTUAL_STACK__)#include "ospf_vs_lib.h"#endif /* __OSPF_VIRTUAL_STACK__ *//********************************************************************************* ospf_dynamic_cleanup_area - dynamically clean up a given area** This routine dynamically clean up all summary advertisements, link state database* and shortest path information associated with an area. This routine is identical to* the ospf_free_all_the_associated_area_pointers() except that this routine does not* free the allocated memory for the area range.** <sptr_area> OSPF area** RETURNS: N/A** ERRNO: N/A** NOMANUAL*/LOCAL void ospf_dynamic_cleanup_area(OSPF_AREA_ENTRY* sptr_area){    OSPF_ADVERTISEMENT_NODE   *sptr_summary_lsa_list;    OSPF_ADVERTISEMENT_NODE   *sptr_summary_head;    OSPF_ADVERTISEMENT_NODE   *sptr_next_summary_lsa_list;    /* Free area's summary_advertisements */    sptr_summary_head = sptr_area->sptr_summary_advertisement_list_head;    for (sptr_summary_lsa_list = sptr_summary_head;  sptr_summary_lsa_list != NULL;         sptr_summary_lsa_list = sptr_next_summary_lsa_list )    {        sptr_next_summary_lsa_list = sptr_summary_lsa_list->sptr_forward_link;        ospf_remove_node_from_list((OSPF_GENERIC_NODE **)&sptr_summary_head,                                   (OSPF_GENERIC_NODE*) sptr_summary_lsa_list);        table_free ((void*) sptr_summary_lsa_list );        sptr_summary_lsa_list  = NULL;    }    /* Free area's shortest_path tree */    if ( sptr_area->shortest_path_first_tree.sptr_next_hop != NULL )    {        ospf_free_entire_list(                (OSPF_GENERIC_NODE*)sptr_area->shortest_path_first_tree.sptr_next_hop );    }    ospf_free_areas_shortest_path_tree_nodes (sptr_area->sptr_candidate);    ospf_free_areas_link_state_database (sptr_area);    /* explicitly reset all the area pointers */    sptr_area->shortest_path_first_tree.sptr_forward_link = NULL;    sptr_area->shortest_path_first_tree.sptr_backward_link = NULL;    sptr_area->shortest_path_first_tree.sptr_next_hop = NULL;    sptr_area->sptr_summary_advertisement_list_head = NULL;    sptr_area->sptr_candidate = NULL;    return;}/***************************************************************************************** ospf_dynamic_init_area_hash_list - dynamically reinitialize hash table for an area** This routine dynamically reinitialize the hash table for an OSPF Area.** <sptr_area> OSPF area** RETURNS: N/A** ERRNO: N/A** NOMANUAL*/LOCAL void ospf_dynamic_init_area_hash_list( OSPF_AREA_ENTRY  *sptr_area ){    enum OSPF_LS_TYPE ls_type;    ULONG index;    OSPF_LS_DATABASE_HEAD *sptr_ls_database_head;#if !defined (__NSSA__)    for (ls_type = OSPF_LS_ROUTER; ls_type <= OSPF_LS_AS_EXTERNAL; ++ls_type)#else    for (ls_type = OSPF_LS_ROUTER; ls_type <= OSPF_LS_TYPE_7; ++ls_type)#endif /*__NSSA__*/    {#if defined (__NSSA__)        if (ls_type == OSPF_LS_MULTICAST )            continue;#endif /*__NSSA__*/        for (index = 0x00000000L, sptr_ls_database_head = &(sptr_area->ls_database_hash_table[ls_type][index]); /* for each hash list */            index < OSPF_HASH_TABLE_SIZE; ++index, sptr_ls_database_head = &(sptr_area->ls_database_hash_table[ls_type][index]))        {            sptr_ls_database_head->sptr_linear_database_entry = NULL;            sptr_ls_database_head->sptr_avl_database_entry = NULL;            sptr_ls_database_head->rerun = FALSE;        }    }#if defined (__OPAQUE_LSA__)    for (ls_type = TYPE_9_LSA; ls_type <= TYPE_11_LSA; ++ls_type)    {        for (index = 0x00000000L, sptr_ls_database_head = &(sptr_area->opaque_ls_database_hash_table[ls_type][index]);   /* for each hash list */             index < OSPF_HASH_TABLE_SIZE; ++index, sptr_ls_database_head = &(sptr_area->opaque_ls_database_hash_table[ls_type][index]))        {            sptr_ls_database_head->sptr_linear_database_entry = NULL;            sptr_ls_database_head->sptr_avl_database_entry = NULL;            sptr_ls_database_head->rerun = FALSE;        }    }#endif /* __OPAQUE_LSA__ */    return;}/********************************************************************************* ospf_dynamic_destroy_neighbor - dynamically destory an OSPF Neighbor** This routine dynamically destory an OSPF Neighbor. The adjancies with the* neighbor will be destroyed. Neighbor will be removed from the interface list* and all link-state database associated with this neighbor will be removed from* OSPF** <sptr_interface> OSPF interface** <sptr_neighbor> OSPF neighbor associated with interface** RETURNS: N/A** ERRNO: N/A** NOMANUAL*/void ospf_dynamic_destroy_neighbor( OSPF_INTERFACE *sptr_interface,                                    OSPF_NEIGHBOR *sptr_neighbor )    {    if ( (sptr_interface == NULL) || (sptr_neighbor == NULL) )        return;    /* SPR#76812 */    semTake (ospf_config_mutex, WAIT_FOREVER);    /* remove this neighbor from the interface's neighbor list */    ospf_remove_node_from_list((OSPF_GENERIC_NODE **)&(sptr_interface->sptr_neighbor),                               (OSPF_GENERIC_NODE *)sptr_neighbor); 	semGive (ospf_config_mutex);    /* free all memory occupied by this neighbor instance */    ospf_free_neighbor(sptr_neighbor);    }/**************************************************************************************** ospf_dynamic_tear_down_neighbors - tear down the neighbor's adjacency** This routine tear down the neighbr's adjacency. It removes all the link state* advertisements associates with this neighbor.** <sptr_interface> OSPF interface** RETURNS: N/A** ERRNO: N/A** NOMANUAL*/void ospf_dynamic_tear_down_neighbors(OSPF_INTERFACE *sptr_interface){    OSPF_NEIGHBOR *sptr_neighbor;    OSPF_NEIGHBOR *sptr_next_neighbor;    enum BOOLEAN  down;    if ( sptr_interface == NULL )        return;    down = TRUE;  /* tell 'em we are going down */    for (sptr_neighbor = sptr_interface->sptr_neighbor; sptr_neighbor != NULL;         sptr_neighbor = sptr_next_neighbor )    {        sptr_next_neighbor = sptr_neighbor->sptr_forward_link;;        ospf_clear_advertisements_from_lists(sptr_interface, sptr_neighbor);        /* send empty hello to tell this neighbor that this interface is going away */        ospf_send_hello(sptr_interface, NULL, down);        /* destory the neighbor */        ospf_dynamic_destroy_neighbor( sptr_interface, sptr_neighbor );    }    return;}/***************************************************************************************** ospf_dynamic_validate_area - validate if an OSPF Area exists** This routine validates if the given OSPF Area ID is valid.** <area_id> OSPF area identifier** RETURNS: TRUE or FALSE** ERRNO: N/A** NOMANUAL*/enum BOOLEAN ospf_dynamic_validate_area( ULONG area_id ){

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产福利一区二区三区视频| 91偷拍与自偷拍精品| 综合久久国产九一剧情麻豆| 欧美日韩一区二区三区四区 | 亚洲精品一区二区三区影院| 色婷婷亚洲婷婷| 国产69精品久久久久毛片| 麻豆91在线看| 亚洲电影激情视频网站| 亚洲欧美一区二区三区国产精品| 日韩欧美国产综合一区| 欧美日韩精品二区第二页| 成人激情视频网站| 久久99精品久久久久久动态图 | 国产精品国产三级国产a | 日韩亚洲欧美综合| 色婷婷综合久色| 成人av影视在线观看| 国产自产视频一区二区三区| 首页国产欧美日韩丝袜| 亚洲线精品一区二区三区| 国产精品视频在线看| 久久久国产综合精品女国产盗摄| 日韩欧美一区二区不卡| 欧美卡1卡2卡| 91黄色激情网站| 91国偷自产一区二区三区成为亚洲经典| 成人一区二区三区中文字幕| 91小视频免费观看| www.亚洲国产| 成人av资源在线| 成人国产亚洲欧美成人综合网| 国产精品资源站在线| 国产在线国偷精品免费看| 久久国产精品免费| 久久国产精品露脸对白| 蜜桃视频在线观看一区二区| 另类中文字幕网| 久久成人免费网| 激情综合色播五月| 精品一二三四区| 国产精品一区免费在线观看| 国产福利视频一区二区三区| 成人深夜在线观看| hitomi一区二区三区精品| 99精品桃花视频在线观看| av激情亚洲男人天堂| 色诱亚洲精品久久久久久| 一本色道久久综合亚洲91| 91黄色激情网站| 欧美老肥妇做.爰bbww| 欧美一区二区三区日韩视频| 日韩精品一区国产麻豆| 久久一留热品黄| 国产精品久久毛片| 亚洲啪啪综合av一区二区三区| 亚洲高清免费观看| 老司机午夜精品| 国产成人精品一区二区三区四区 | 亚洲国产综合色| 免费人成网站在线观看欧美高清| 精品一区二区av| 成人av集中营| 欧美日韩电影在线播放| 久久丝袜美腿综合| 亚洲日穴在线视频| 成人av电影观看| 精品视频一区 二区 三区| 日韩一二三区视频| 国产精品麻豆99久久久久久| 亚洲香蕉伊在人在线观| 精品一区二区三区在线观看国产| 成人免费毛片aaaaa**| 欧美亚一区二区| xf在线a精品一区二区视频网站| 国产精品麻豆一区二区| 亚洲超碰97人人做人人爱| 国产激情视频一区二区在线观看| 99精品视频在线观看| 日韩一区二区在线观看视频| 国产精品女上位| 蜜臂av日日欢夜夜爽一区| www.亚洲激情.com| 欧美一区二区在线看| 国产精品伦理一区二区| 视频一区视频二区在线观看| 丁香婷婷综合激情五月色| 欧美喷潮久久久xxxxx| 欧美极品aⅴ影院| 日本伊人色综合网| 欧美一区二区免费视频| 91年精品国产| 久久嫩草精品久久久精品| 亚洲国产综合人成综合网站| 丁香婷婷综合五月| 欧美成人vr18sexvr| 亚洲人成精品久久久久久| 国产一区二区三区四区五区美女| 色天使色偷偷av一区二区| 国产三级精品三级| 日本欧美久久久久免费播放网| av高清不卡在线| 久久精品日产第一区二区三区高清版| 亚洲国产aⅴ天堂久久| 不卡的av电影| 久久久久久久久久看片| 免费观看成人鲁鲁鲁鲁鲁视频| 91蜜桃传媒精品久久久一区二区| 久久影院电视剧免费观看| 亚洲国产一区二区三区青草影视| 不卡的av在线播放| 国产色综合一区| 久久精品国产亚洲aⅴ| 欧美日韩国产123区| 亚洲精品视频在线观看网站| 国产福利一区二区三区视频| 精品久久一二三区| 91高清视频在线| 国产精品国模大尺度视频| 国产一区二区三区四区五区美女| 日韩欧美一区在线观看| 亚洲一区在线观看视频| 色综合久久久久久久| 亚洲欧洲精品成人久久奇米网| 国产一区二区三区在线看麻豆| 欧美电视剧在线观看完整版| 免费成人小视频| 日韩一区国产二区欧美三区| 日韩1区2区日韩1区2区| 欧美一级欧美三级在线观看| 丝袜亚洲另类欧美| 制服丝袜日韩国产| 日韩国产在线观看| 欧美一区二区三区播放老司机| 日韩二区三区四区| 日韩欧美国产一区二区三区| 国内精品视频一区二区三区八戒| 精品国产三级电影在线观看| 国内国产精品久久| 国产欧美综合在线| 成人毛片在线观看| 亚洲免费观看高清完整| 色综合天天性综合| 亚洲最大色网站| 欧美日韩高清一区| 美腿丝袜一区二区三区| 久久青草欧美一区二区三区| 国产69精品一区二区亚洲孕妇 | 亚洲精品久久久久久国产精华液| 色婷婷亚洲精品| 水蜜桃久久夜色精品一区的特点| 欧美一区永久视频免费观看| 韩国一区二区三区| 国产精品天美传媒| 99精品视频在线观看免费| 亚洲伦理在线精品| 欧美无砖专区一中文字| 蜜臀久久99精品久久久久宅男| 久久一区二区三区四区| av色综合久久天堂av综合| 性欧美大战久久久久久久久| 日韩免费视频线观看| 成人动漫一区二区| 亚洲愉拍自拍另类高清精品| 日韩一区国产二区欧美三区| 成人晚上爱看视频| 亚洲自拍偷拍欧美| 亚洲精品一区二区三区福利| 91原创在线视频| 日日夜夜精品视频天天综合网| 精品国产伦一区二区三区观看方式| 成人午夜精品一区二区三区| 午夜成人免费电影| 久久久午夜精品| 欧洲一区在线观看| 国产精品综合av一区二区国产馆| 亚洲色图20p| 日韩欧美高清dvd碟片| 成人av电影观看| 在线观看一区日韩| 韩国女主播成人在线| 亚洲欧美日本在线| 2021久久国产精品不只是精品| 一本到不卡精品视频在线观看| 久久精品国产99久久6| 中文字幕制服丝袜成人av | 色av成人天堂桃色av| 美国一区二区三区在线播放| ●精品国产综合乱码久久久久| 日韩欧美激情一区| 在线观看视频一区二区欧美日韩| 国产精品自拍一区| 日韩一区精品视频| 亚洲欧美日韩电影| 国产欧美日韩视频在线观看| 欧美一级片在线| 欧美日韩亚洲综合| va亚洲va日韩不卡在线观看| 国产一区视频在线看| 日韩成人免费看|