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

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

?? ospf_flood.c

?? vxworks下ospf協議棧
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* ospf_flood.c - used for flooding routines *//* Copyright 1998-2003 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01l,21jul03,agi     Fixed compiler warnings for opaque LSAs 02j,11jul03,kkz     Fixed crash in ospf_examine_each_neighbor_and_add_advertisement_to_the_retransmission_list_if_necessary01k,23jun03,agi     Fixed flooding logic - do not construct retransmit list if                    it is not to be used01g,29may03,kkz     SPR 87375 - ANVL testcase 2.5 - LSAs being flooded back out                    receiving interface need to be put on retransmit list01f,26may03,kkz     SPR 87372 - comment update01e,22may03,kkz     SPR 88613 - change boundary condition02a,22apr03,ram     SPR#76812 Modifications for OSPF performance enhancements01d,20feb03,kc      Fixed SPR#86139 - rename inject_default_route_if_stub_area to                    inject_summary_lsa_into_stub_area in the routine                    ospf_flood_advertisement_throughout_a_specific_area().01d,24dec02,dsk fixed SPR#75194, ANVL 27.1501c,09dec02,hme     Fixed SPR#75796 ANVL 37.101b,19nov02,mwv     Merge TMS code SPR 8428401v,16apr02,jkw     One copy of external and type 11 lsa01u,30jan02,jkw     Fix routes not being propagated.01t,09dec02,jkw     Send link state advertisement with OSPF_MAXIMUM_AGE for                    premature aging.01s,20dec01,jkw     Removed sptr_area->sptr_interfaces structure.01r,11oct01,jkw     Set pointer to NULL after table_free.01q,03aug01,jkw     Compiler warning fixes01p,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_flood.c is used for flooding OSPF packets.This file is used when an OSPF packets needs to be flooded out to other OSPF routers.*/#include "ospf.h"#if defined (__OSPF_VIRTUAL_STACK__)#include "ospf_vs_lib.h"#endif /* __OSPF_VIRTUAL_STACK__ *//********************************************************************************************************************************/static char *cptr_ls_type_string[] = {"Stub","Router","Network","Summary Network","Summary AS Boundary Router","AS External",    "Bad LS Type"};static enum BOOLEAN advertisement_was_flooded_back_out_receiving_interface;/********************************************************************************************************************************/static void ospf_flood_advertisement_throughout_the_entire_autonomous_system  (OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_advertisement,    OSPF_INTERFACE *sptr_interface_advertisement_received_on,OSPF_NEIGHBOR *sptr_neighbor_advertisement_received_from, enum BOOLEAN advertisement_installed);static void ospf_flood_advertisement_throughout_a_specific_area (OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_advertisement,OSPF_AREA_ENTRY *sptr_area,    OSPF_INTERFACE *sptr_interface_advertisement_received_on,OSPF_NEIGHBOR *sptr_neighbor_advertisement_received_from, enum BOOLEAN advertisement_installed);/*opaque lsa added new prototype ospf_flood_advertisement_throughout_a_link_local_scope jkw*/#if defined (__OPAQUE_LSA__)static void ospf_flood_advertisement_throughout_a_link_local_scope (OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_advertisement,OSPF_AREA_ENTRY *sptr_area,    OSPF_INTERFACE *sptr_interface_advertisement_received_on,OSPF_NEIGHBOR *sptr_neighbor_advertisement_received_from, enum BOOLEAN advertisement_installed);#endif /* __OPAQUE_LSA__ */static void ospf_flood_advertisement_out_eligible_interface (OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_advertisement,    OSPF_INTERFACE *sptr_interface,OSPF_INTERFACE *sptr_interface_advertisement_received_on,    OSPF_NEIGHBOR *sptr_neighbor_advertisement_received_from, enum BOOLEAN advertisement_installed);static enum BOOLEAN ospf_examine_each_neighbor_and_add_advertisement_to_the_retransmission_list_if_necessary (OSPF_INTERFACE *sptr_interface,    OSPF_LS_DATABASE_NODE **ptr_to_sptr_database_list,OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_advertisement,    OSPF_NEIGHBOR *sptr_neighbor_advertisement_received_from, enum BOOLEAN advertisement_installed);static enum BOOLEAN ospf_update_ls_request_list_for_this_adjacency (OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_advertisement,    OSPF_NEIGHBOR *sptr_neighbor);static OSPF_LS_DATABASE_NODE *ospf_add_advertisement_to_the_link_state_retransmission_list_for_the_adjacency (    OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_advertisement,OSPF_NEIGHBOR *sptr_neighbor,OSPF_LS_DATABASE_NODE *sptr_database_list,    enum BOOLEAN advertisement_was_added_to_a_retransmission_list, enum BOOLEAN *found_lsa, enum BOOLEAN advertisement_installed);/*************************************************************************** ospf_flood_advertisement_out_some_subset_of_the_routers_interfaces - flood advertisements out interfaces** This routine will call the functions to flood out advertisements* over virtual links, throughout areas, and throughout the whole* autonomous system.** <sptr_advertisement> Advertisement header** <sptr_area> Area associated with the advertisement** <sptr_interface_advertisement_received_on> Interface advertisement was received on** <sptr_neighbor_advertisement_received_from> Neighbor advertisement was received on** <advertisement_installed> Boolean to tell if advertisement is already installed** RETURNS: TRUE or FALSE** ERRNO: N/A** NOMANUAL*//****************************************************************************//* section 13.3 of OSPF specification (page 138) */enum BOOLEAN ospf_flood_advertisement_out_some_subset_of_the_routers_interfaces (OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_advertisement,    OSPF_AREA_ENTRY *sptr_area,OSPF_INTERFACE *sptr_interface_advertisement_received_on,OSPF_NEIGHBOR *sptr_neighbor_advertisement_received_from, enum BOOLEAN advertisement_installed){    OSPF_INTERFACE_NODE *sptr_interface_node = NULL;    OSPF_INTERFACE_NODE *sptr_next_interface_node = NULL;    bool backbone_present;    bool fully_adjacent_on_virtual_link;    OSPF_AREA_ENTRY *sptr_temp_area;    enum BOOLEAN I_am_an_area_border_router;    backbone_present = FALSE;    fully_adjacent_on_virtual_link = FALSE;    OSPF_PRINTF_PROLOGUE (OSPF_PROLOGUE_PRINTF, "OSPF: Entering ospf_flood_advertisement_out_some_subset_of_the_routers_interfaces\r\n");    advertisement_was_flooded_back_out_receiving_interface = FALSE;    /* Virtual link updates */    /* Stop flooding of summaries when the Virtual Link at non backbone ABR is not up  -bhanu */    if (sptr_advertisement->ls_header.type > OSPF_LS_NETWORK)        {        I_am_an_area_border_router = ospf_check_if_area_border_router ();        if (I_am_an_area_border_router == TRUE)            {            for (sptr_temp_area = ospf.sptr_area_list; sptr_temp_area != NULL; sptr_temp_area = sptr_temp_area->sptr_forward_link)                {                if (sptr_temp_area->area_id == OSPF_BACKBONE )                    {                    backbone_present = TRUE;                    break;                    }                }            if ( backbone_present == FALSE )                {                for ( sptr_interface_node = ospf.sptr_configured_virtual_links; sptr_interface_node != NULL; sptr_interface_node = sptr_next_interface_node)                {                    sptr_next_interface_node = sptr_interface_node->sptr_forward_link;                    if (sptr_interface_node->sptr_interface != NULL)                    {                        if (sptr_interface_node->sptr_interface->sptr_neighbor != NULL)                        {                            if (sptr_interface_node->sptr_interface->sptr_neighbor->state == OSPF_NEIGHBOR_FULL )                            {                            fully_adjacent_on_virtual_link = TRUE;                            break;                            }                        }                    }                }                if ( fully_adjacent_on_virtual_link == FALSE )                    {                    /* even though we dont have a fully adjacent neighbor, we should send those LSAs with max age set i.e. we are flushing out summaries we sent out earlier */                    if ( sptr_advertisement->ls_header.age != OSPF_MAXIMUM_AGE )                        {                        return (advertisement_was_flooded_back_out_receiving_interface);                        /* because even though we are the ABR, we dont have the BackBone and we are not fully adjacent on Virtual Link - bhanu  */                        }                    }                }            }        }    if (sptr_advertisement->ls_header.type == OSPF_LS_AS_EXTERNAL)        {        ospf_flood_advertisement_throughout_the_entire_autonomous_system (sptr_advertisement, sptr_interface_advertisement_received_on,            sptr_neighbor_advertisement_received_from, advertisement_installed);        }    /*opaque lsa flood out some subset of the routers interfaces jkw     RFC 2370 Section 3.1 item 3*/#if defined (__OPAQUE_LSA__)    else if (sptr_advertisement->ls_header.type == OSPF_LS_TYPE_11)        {        ospf_flood_advertisement_throughout_the_entire_autonomous_system (sptr_advertisement, sptr_interface_advertisement_received_on,            sptr_neighbor_advertisement_received_from, advertisement_installed);        }    /*opaque lsa flood out link-local flooding scope jkw      RFC 2370 Section 3.1 item 1*/    else if (sptr_advertisement->ls_header.type == OSPF_LS_TYPE_9)        {        ospf_flood_advertisement_throughout_a_link_local_scope (sptr_advertisement, sptr_area, sptr_interface_advertisement_received_on,            sptr_neighbor_advertisement_received_from, advertisement_installed);        }#endif /* __OPAQUE_LSA__ */    else{        /* SPR 88613 - remove code for ANVL 27.15.  It is replaced by a change in         * ospf_inter_area_route_calculation.c for SPR 88330         */        ospf_flood_advertisement_throughout_a_specific_area (sptr_advertisement, sptr_area, sptr_interface_advertisement_received_on,            sptr_neighbor_advertisement_received_from, advertisement_installed);        }    return (advertisement_was_flooded_back_out_receiving_interface);}/*************************************************************************** ospf_flood_advertisement_throughout_the_entire_autonomous_system - flood advertisements throughout the autonomous system** This routine will the advertisement throughout the whole* autonomous system.  This is called for AS_EXTERNAL LSAs and LS_TYPE_11 LSAs,* neither of which should ever be flooded into a stub area.** <sptr_advertisement> Advertisement header** <sptr_area> Area associated with the advertisement** <sptr_interface_advertisement_received_on> Interface advertisement was received on** <sptr_neighbor_advertisement_received_from> Neighbor advertisement was received on** <advertisement_installed> Boolean to tell if advertisement is already installed** RETURNS: N/A** ERRNO: N/A** NOMANUAL*//****************************************************************************//* section 13.3 of OSPF specification (page 138) */static void ospf_flood_advertisement_throughout_the_entire_autonomous_system  (OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_advertisement,    OSPF_INTERFACE *sptr_interface_advertisement_received_on,OSPF_NEIGHBOR *sptr_neighbor_advertisement_received_from, enum BOOLEAN advertisement_installed){    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_PRINTF_PROLOGUE (OSPF_PROLOGUE_PRINTF, "OSPF: Entering ospf_flood_advertisement_throughout_the_entire_autonomous_system\r\n");    for (sptr_area = ospf.sptr_area_list; sptr_area != NULL; sptr_area = sptr_next_area)        {        sptr_next_area = sptr_area->sptr_forward_link;#if defined  (__NSSA__)        if( (sptr_area->flags._bit.stub == FALSE) && (sptr_area->flags._bit.nssa == FALSE))#else        if (sptr_area->flags._bit.stub == FALSE)#endif /*__NSSA__*/            {            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)                    {                    if (sptr_interface->type != OSPF_VIRTUAL_LINK)                        {                        /* SPR 87372 - remove duplicate IF                        if (sptr_interface->area_id == sptr_area->area_id) */                        ospf_flood_advertisement_out_eligible_interface (sptr_advertisement, sptr_interface, sptr_interface_advertisement_received_on,                            sptr_neighbor_advertisement_received_from, advertisement_installed);                        }                    }                }            }        }    return;}/*************************************************************************** ospf_flood_advertisement_throughout_a_specific_area - flood advertisements throughout a specific area** This routine will the advertisement throughout the specified* area.** <sptr_advertisement> Advertisement header** <sptr_area> Area associated with the advertisement** <sptr_interface_advertisement_received_on> Interface advertisement was received on** <sptr_neighbor_advertisement_received_from> Neighbor advertisement was received on** <advertisement_installed> Boolean to tell if advertisement is already installed** RETURNS: N/A** ERRNO: N/A** NOMANUAL*//****************************************************************************//* section 13.3 of OSPF specification (page 138) */static void ospf_flood_advertisement_throughout_a_specific_area (OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_advertisement,OSPF_AREA_ENTRY *sptr_area,    OSPF_INTERFACE *sptr_interface_advertisement_received_on,OSPF_NEIGHBOR *sptr_neighbor_advertisement_received_from, enum BOOLEAN advertisement_installed){    OSPF_INTERFACE *sptr_interface = NULL;    OSPF_INTERFACE *sptr_next_interface = NULL;    enum OSPF_INTERFACE_TYPE interface_type_received_on;    OSPF_PRINTF_PROLOGUE (OSPF_PROLOGUE_PRINTF, "OSPF: Entering ospf_flood_advertisement_throughout_a_specific_area\r\n");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一二三区在线观看| 奇米一区二区三区av| 在线电影一区二区三区| 国产.欧美.日韩| 丝袜亚洲另类欧美综合| 国产精品国产a| 精品久久人人做人人爽| 欧美午夜一区二区三区免费大片| 国产盗摄一区二区| 蜜臀av一区二区在线观看| 亚洲综合免费观看高清完整版在线 | 中文字幕免费一区| 5858s免费视频成人| av在线不卡网| 国产精品1区二区.| 久久国产精品99精品国产| 亚洲一区在线视频| 亚洲日本青草视频在线怡红院| 久久综合色播五月| 日韩精品一区二区三区视频播放| 欧美日韩色一区| 91福利区一区二区三区| 97se亚洲国产综合自在线| 国产成人av电影免费在线观看| 另类成人小视频在线| 日韩精彩视频在线观看| 一区二区三区欧美日| 亚洲少妇30p| 中文字幕在线免费不卡| 国产精品视频线看| 中文字幕免费一区| 国产精品视频一区二区三区不卡| 久久精子c满五个校花| 精品国产sm最大网站| 日韩一区二区电影| 日韩免费观看高清完整版| 欧美一区二区啪啪| 欧美高清视频一二三区 | 国产亚洲欧美日韩在线一区| 日韩欧美激情一区| 欧美一级免费观看| 日韩一区二区电影| 日韩视频国产视频| 26uuu亚洲综合色欧美| 久久久久久亚洲综合| 国产亚洲欧洲997久久综合| 久久综合色天天久久综合图片| www.欧美日韩国产在线| 国产精品一区二区在线观看不卡| 国产精品灌醉下药二区| 国产精品久久久久婷婷二区次| 中文字幕成人网| 国产精品麻豆久久久| 午夜欧美一区二区三区在线播放| 天堂久久一区二区三区| 精品中文字幕一区二区小辣椒| 美国三级日本三级久久99| 激情偷乱视频一区二区三区| 成人免费毛片aaaaa**| 欧美电影免费观看完整版| 久久综合精品国产一区二区三区| 国产精品久久免费看| 一区二区三区精品视频在线| 日韩在线一区二区三区| 国产一区二区在线免费观看| av午夜精品一区二区三区| 欧美亚洲自拍偷拍| 日韩女优视频免费观看| 国产女同互慰高潮91漫画| 亚洲精品欧美专区| 三级久久三级久久| 国产91精品入口| 欧美午夜宅男影院| 久久久久国产精品免费免费搜索| 国产精品国模大尺度视频| 亚洲成精国产精品女| 激情文学综合网| 色狠狠一区二区| 精品国产乱码久久久久久浪潮| 中文字幕一区二区不卡| 日本不卡123| jlzzjlzz亚洲日本少妇| 欧美精品久久99久久在免费线| 久久久99精品免费观看| 亚洲第一福利视频在线| 福利视频网站一区二区三区| 91精品国产综合久久精品麻豆 | 色视频一区二区| 日韩欧美一区二区不卡| 最新日韩av在线| 看片网站欧美日韩| 欧美在线一区二区三区| 国产亚洲综合av| 亚洲成av人片一区二区| 成人黄色大片在线观看| 日韩精品一区二区三区中文不卡| 综合在线观看色| 国产精品亚洲成人| 欧美日韩成人一区二区| 亚洲人精品午夜| 国产精品影视网| 日韩一区二区三区视频在线观看| 亚洲激情成人在线| 成人av资源在线观看| 精品欧美乱码久久久久久| 亚洲国产精品精华液网站| av欧美精品.com| 欧美精品一区二区久久久| 国产东北露脸精品视频| 日韩女同互慰一区二区| 午夜婷婷国产麻豆精品| 在线影院国内精品| 亚洲欧美一区二区视频| 国产成人午夜视频| 欧美电视剧在线观看完整版| 午夜电影一区二区| 精品污污网站免费看| 亚洲精品成人天堂一二三| 91在线视频播放| 国产精品灌醉下药二区| 成人做爰69片免费看网站| 久久久噜噜噜久噜久久综合| 日本午夜精品视频在线观看| 欧美日韩国产精选| 亚洲国产欧美在线| 91成人免费在线| 一区二区三区蜜桃| 日本精品视频一区二区| 一区二区在线观看免费视频播放| 91麻豆福利精品推荐| 国产精品国产自产拍在线| av在线一区二区| 亚洲人成在线播放网站岛国| 色天天综合色天天久久| 亚洲精品高清视频在线观看| 在线日韩一区二区| 亚洲自拍另类综合| 欧美久久婷婷综合色| 日韩avvvv在线播放| 日韩欧美专区在线| 韩国精品久久久| 欧美成人r级一区二区三区| 久久99久久99精品免视看婷婷 | 欧美日韩国产免费| 日韩精品欧美精品| 日韩美一区二区三区| 国产一区二区三区av电影| 国产蜜臀av在线一区二区三区| 成人免费视频免费观看| 亚洲欧美另类在线| 在线观看91精品国产麻豆| 久久精品国产秦先生| 亚洲国产精品成人综合色在线婷婷 | 免费日本视频一区| www激情久久| 成人在线视频一区| 亚洲黄色录像片| 欧美一区二区三区免费观看视频| 国内外成人在线| 中文字幕在线一区二区三区| 欧美三级三级三级爽爽爽| 奇米色一区二区三区四区| 久久久噜噜噜久久中文字幕色伊伊 | 久久成人免费电影| 国产丝袜美腿一区二区三区| 91亚洲精华国产精华精华液| 视频一区二区三区中文字幕| 久久久久久久久一| 日本精品免费观看高清观看| 老色鬼精品视频在线观看播放| 国产精品第五页| 欧美一区二区三区在| 欧美日韩国产a| 国产精品一区免费在线观看| 亚洲女厕所小便bbb| 日韩一区二区免费电影| 成人av电影观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 中文字幕精品—区二区四季| 欧美日韩精品免费| 高清不卡一二三区| 香港成人在线视频| 中文字幕av免费专区久久| 欧美日韩久久一区二区| 国产一区二区在线视频| 午夜国产精品影院在线观看| 国产精品福利一区二区| 日韩精品一区二区三区视频在线观看| 99精品热视频| 国产一区免费电影| 午夜av电影一区| 亚洲人成7777| 久久网站最新地址| 欧美高清视频在线高清观看mv色露露十八 | 亚洲免费观看在线视频| 精品剧情v国产在线观看在线| 色狠狠一区二区| 岛国av在线一区| 韩国成人在线视频| 男女男精品视频|