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

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

?? ospf_flood.c

?? vxworks下ospf協議棧
?? C
?? 第 1 頁 / 共 3 頁
字號:
    OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_advertisement,    OSPF_NEIGHBOR *sptr_neighbor_advertisement_received_from,    enum BOOLEAN advertisement_installed    )    {    OSPF_NEIGHBOR *sptr_neighbor = NULL;    OSPF_NEIGHBOR *sptr_next_neighbor = NULL;    enum BOOLEAN advertisement_was_added_to_a_retransmission_list = FALSE;    enum BOOLEAN done_processing_this_neighbor;    enum BOOLEAN found_lsa = TRUE;    OSPF_PRINTF_PROLOGUE (        OSPF_PROLOGUE_PRINTF,        "OSPF: Entering ospf_examine_each_neighbor_and_add_advertisement_to_the_retransmission_list_if_necessary\r\n");    for (sptr_neighbor = sptr_interface->sptr_neighbor;         sptr_neighbor != NULL;         sptr_neighbor = sptr_next_neighbor)        {        sptr_next_neighbor = sptr_neighbor->sptr_forward_link;        /* section 13.3, item (1a) - (page 139) */        if (sptr_neighbor->state < OSPF_NEIGHBOR_EXCHANGE)            {            continue;            }        /* section 13.3, item (1b) - (page 139) */        if ((sptr_neighbor->state == OSPF_NEIGHBOR_EXCHANGE) ||            (sptr_neighbor->state == OSPF_NEIGHBOR_LOADING))            {            done_processing_this_neighbor = ospf_update_ls_request_list_for_this_adjacency (sptr_advertisement, sptr_neighbor);            if (done_processing_this_neighbor == TRUE)                {                continue;                }            }        /*         * If the advertisement was learned from the this neighbor skip         * to next neighbor on the interface list         */        if (sptr_neighbor_advertisement_received_from != NULL)            {        if (sptr_neighbor->address == sptr_neighbor_advertisement_received_from->address)            {            continue;            }            }       /*opaque lsa examine each neighbor retransmission list jkw*/        /*RFC 2370 Section 3.1 item 4*/#if defined (__OPAQUE_LSA__)        if ((sptr_advertisement->ls_header.type == OSPF_LS_TYPE_9) ||            (sptr_advertisement->ls_header.type == OSPF_LS_TYPE_10) ||            (sptr_advertisement->ls_header.type == OSPF_LS_TYPE_11))            {            if (sptr_neighbor->opaque_capability == FALSE)                {                continue;                }            }#endif (__OPAQUE_LSA__)        /* section 13.3, item (1d) - (page 139) */        *ptr_to_sptr_database_list = ospf_add_advertisement_to_the_link_state_retransmission_list_for_the_adjacency (sptr_advertisement,            sptr_neighbor, *ptr_to_sptr_database_list, advertisement_was_added_to_a_retransmission_list, &found_lsa, advertisement_installed);        /* Added change as per TMS PR #1590               Return FALSE if failed to add advertisement to retransmission list*/        if (( *ptr_to_sptr_database_list == NULL ) && (found_lsa == TRUE))            {            advertisement_was_added_to_a_retransmission_list = FALSE;            }        else            {            advertisement_was_added_to_a_retransmission_list = TRUE;            }        }    return (advertisement_was_added_to_a_retransmission_list);    }/*************************************************************************** ospf_update_ls_request_list_for_this_adjacency - update link state request list for adjacency** This routine will update the link state request list* for the adjacency for a particular neighbor.** <sptr_advertisement> Advertisement to be added to retransmit list** <sptr_neighbor> OSPF neighbor** RETURNS: TRUE or FALSE** ERRNO: N/A** NOMANUAL*//*************************************************************************************//* section 13.3, item (1b) - (page 139) */static enum BOOLEAN ospf_update_ls_request_list_for_this_adjacency (OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_advertisement,    OSPF_NEIGHBOR *sptr_neighbor){    OSPF_LS_DATABASE_ENTRY database_entry;    OSPF_LS_REQUEST *sptr_ls_request =NULL;    OSPF_LS_HEADER ls_header;    enum TEST return_test_type;    enum BOOLEAN done_processing_this_neighbor;    OSPF_PRINTF_PROLOGUE (OSPF_PROLOGUE_PRINTF, "OSPF: Entering ospf_update_ls_request_list_for_this_adjacency\r\n");    done_processing_this_neighbor = FALSE;    database_entry.advertisement.sptr_router = sptr_advertisement;    sptr_ls_request = ospf_find_advertisement_on_neighbors_ls_request_list (sptr_neighbor, &database_entry);    if (sptr_ls_request != NULL)        {        /*         * ospf_check_if_more_recent () requires two variables of type OSPF_LS_HEADER as input.  So transfer the necessary fields from         * the OSPF_LS_REQUEST structure to a temporary OSPF_LS_HEADER structure so we can call the routine properly.         */        ospf_transfer_fields_from_ls_request_structure_to_ls_header_structure (sptr_ls_request, &ls_header);        /* section 13.3, item (1b), bullet #1 - (page 139) */        return_test_type = ospf_check_if_more_recent (&ls_header, &(sptr_advertisement->ls_header), 0x00000000L);        if (return_test_type == PASS)            {            OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Advertisement is less recent\r\n");            done_processing_this_neighbor = TRUE;            }        else            {            /* section 13.3, item (1b), bullet #2 and #3 - (page 139) */            OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Deleting advertisement from Link state request list\r\n");            ospf_remove_node_from_list ((OSPF_GENERIC_NODE **) &(sptr_neighbor->sptr_ls_request[sptr_advertisement->ls_header.type]),                (OSPF_GENERIC_NODE *) sptr_ls_request);            table_free ((void *) sptr_ls_request);            sptr_ls_request = NULL;            --sptr_neighbor->ls_request_queue_count;            if ((sptr_neighbor->ls_request_queue_count == 0x0000) && (sptr_neighbor->state == OSPF_NEIGHBOR_LOADING))                {                ospf_execute_neighbor_state_machine (OSPF_LOADING_DONE, sptr_neighbor->state, sptr_neighbor->sptr_interface, sptr_neighbor);                }            sptr_neighbor->ls_request_list_has_changed = TRUE;            /* section 13.3, item (1b), bullet #2 - (page 139) */            return_test_type = ospf_check_if_same_instance (&ls_header, &(sptr_advertisement->ls_header), 0x00000000L);            if (return_test_type == PASS)                {                OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Advertisement is the same instance\r\n");                done_processing_this_neighbor = TRUE;                }            }        }    return (done_processing_this_neighbor);}/*************************************************************************** ospf_add_advertisement_to_the_link_state_retransmission_list_for_the_adjacency - add advertisement to retransmission list** This routine will update the retransmission list* for the adjacency for a particular neighbor.** <sptr_advertisement> Advertisement to be added to retransmit list** <sptr_neighbor> OSPF neighbor** <sptr_database_list> Database list** <advertisement_was_added_to_a_retransmission_list> Boolean if advertisement was added to retransmission list** <advertisement_installed> Boolean to check if advertisement is installed** RETURNS: OSPF_LS_DATABASE_NODE * or NULL** ERRNO: N/A** NOMANUAL*/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_LS_DATABASE_ENTRY *sptr_database_entry =NULL;    OSPF_LS_DATABASE_ENTRY *sptr_database_entry_fill_retrans_info =NULL;    OSPF_LS_DATABASE_NODE *sptr_database_node =NULL;    OSPF_LS_DATABASE_NODE *sptr_lsdb_node =NULL;    OSPF_NEIGHBOR_LIST *sptr_neighbor_retrans_info =NULL;    ULONG link_state_id =0;    ULONG advertising_router =0;    USHORT age = 0x0000;    OSPF_PRINTF_PROLOGUE (OSPF_PROLOGUE_PRINTF, "OSPF: Entering ospf_add_advertisement_to_the_link_state_retransmission_list_for_the_adjacency\r\n");    sptr_database_node = NULL;    sptr_lsdb_node = NULL;    sptr_neighbor_retrans_info = NULL;    PARAMETER_NOT_USED (sptr_database_node);    PARAMETER_NOT_USED (sptr_lsdb_node);    PARAMETER_NOT_USED (sptr_neighbor_retrans_info);    link_state_id = sptr_advertisement->ls_header.id;    link_state_id = net_to_host_long (link_state_id);    advertising_router = sptr_advertisement->ls_header.advertising_router;    advertising_router = net_to_host_long (advertising_router);    if (advertisement_installed == TRUE)    {        /* SPR#76812 */        sptr_database_entry_fill_retrans_info = ospf_find_LSA(sptr_neighbor->sptr_interface->sptr_area,                                                              link_state_id, advertising_router,                                                              sptr_advertisement->ls_header.type);    }    if (sptr_database_entry_fill_retrans_info == NULL)        {        *found_lsa = FALSE;        }    sptr_database_entry = (OSPF_LS_DATABASE_ENTRY *) table_malloc (1, sizeof (OSPF_LS_DATABASE_ENTRY));    if (sptr_database_entry == NULL)        {        ospf_print_memory_error_message_and_free_buffer_if_necessary ((void *) NULL, "OSPF_LS_DATABASE_ENTRY");        *found_lsa = TRUE;        return (NULL);        }    memset (sptr_database_entry, 0x00, sizeof (OSPF_LS_DATABASE_ENTRY));    if (sptr_database_entry_fill_retrans_info == NULL)        {        sptr_database_entry->advertisement.sptr_router = sptr_advertisement;        }    else        {        sptr_database_entry->advertisement.sptr_router = sptr_database_entry_fill_retrans_info->advertisement.sptr_router;        }    age = sptr_advertisement->ls_header.age;    age = net_to_host_short(age);    if (age == OSPF_MAXIMUM_AGE)        {        sptr_database_entry->advertisement.sptr_router->ls_header.age = sptr_advertisement->ls_header.age;        }    if (sptr_database_entry_fill_retrans_info != NULL)        {        ospf_add_database_entry_to_neighbor_retransmit_list (sptr_neighbor, sptr_database_entry );        ospf_add_neighbor_to_database_retransmit_list (sptr_database_entry_fill_retrans_info, sptr_neighbor);        }    if (advertisement_was_added_to_a_retransmission_list == FALSE)      /* first time, so initialize database list */        {        sptr_database_list = (OSPF_LS_DATABASE_NODE *) table_malloc (1, sizeof (OSPF_LS_DATABASE_NODE));        if (sptr_database_list == NULL)            {            ospf_print_memory_error_message_and_free_buffer_if_necessary ((void *) sptr_database_entry, "OSPF_LS_DATABASE_NODE");            *found_lsa = TRUE;            return (NULL);            }        memset (sptr_database_list, 0x00, sizeof (OSPF_LS_DATABASE_NODE));        sptr_database_list->sptr_forward_link = NULL;        sptr_database_list->sptr_backward_link = NULL;        sptr_database_list->sptr_ls_database_entry = sptr_database_entry;        sptr_database_list->flood = TRUE;        sptr_database_list->periodic_retransmit_time_counter = 0x00000000L;        }    *found_lsa = TRUE;    return (sptr_database_list);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费精品视频最新在线| 国产精品二三区| 国产一区二区三区免费看| 精品欧美乱码久久久久久1区2区| 国产一区二区不卡在线| 国产精品久久久久aaaa樱花| 91搞黄在线观看| 日韩va亚洲va欧美va久久| 亚洲精品一区二区三区99| 国产成人在线视频网站| 亚洲免费av观看| 337p亚洲精品色噜噜狠狠| 国产精品一区专区| 亚洲男女一区二区三区| 欧美日韩二区三区| 国产成人精品www牛牛影视| 亚洲精品欧美综合四区| 日韩欧美亚洲国产另类| 成人天堂资源www在线| av在线播放成人| 国产视频一区在线播放| 欧美裸体一区二区三区| 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲成a人v欧美综合天堂下载| 欧美体内she精视频| 玖玖九九国产精品| 国产精品嫩草影院com| 欧美三级电影网| 国产成人免费视频精品含羞草妖精 | 亚洲欧美日韩国产综合在线| 国产午夜精品久久久久久久 | 99国产一区二区三精品乱码| 久久这里都是精品| 国产精品一区二区在线看| 亚洲三级在线观看| 日韩免费一区二区| 色综合欧美在线| 久草中文综合在线| 亚洲超碰精品一区二区| 国产精品久久影院| 2023国产一二三区日本精品2022| 色网综合在线观看| 国产盗摄一区二区三区| 日韩av电影天堂| 亚洲欧美日韩一区二区 | 亚洲国产精品激情在线观看| 欧美日韩一区三区四区| 99视频在线精品| 国产精品夜夜嗨| 欧美96一区二区免费视频| 亚洲精品美腿丝袜| 国产精品少妇自拍| 国产亚洲1区2区3区| 欧美一区二区三区四区视频| 色婷婷精品久久二区二区蜜臂av | www.色精品| 国产美女精品在线| 久久不见久久见免费视频7| 五月婷婷激情综合网| 亚洲欧洲综合另类在线| 中文字幕一区二区三区四区| 久久久久久久久久久久久女国产乱 | 亚洲免费在线播放| 亚洲特黄一级片| 国产精品电影一区二区三区| 国产亚洲一区二区三区四区| 久久综合资源网| 久久夜色精品一区| 精品成人私密视频| 日韩精品一区二区三区视频播放| 中文字幕一区二区三区精华液 | 成人综合婷婷国产精品久久免费| 麻豆国产精品官网| 精品一区精品二区高清| 久久国产日韩欧美精品| 国产麻豆日韩欧美久久| 国产成都精品91一区二区三| 国产精品夜夜嗨| 成人网在线免费视频| caoporen国产精品视频| 91在线观看视频| 精品sm在线观看| 日韩精品一区二区三区在线播放 | 欧美国产精品中文字幕| 国产午夜精品一区二区三区视频 | 欧美另类变人与禽xxxxx| 欧美男男青年gay1069videost| 欧美日韩亚洲丝袜制服| 欧美日韩国产大片| 欧美电影免费观看高清完整版| 精品日韩99亚洲| 国产精品美女久久久久久久久久久 | 亚洲午夜久久久久| 日韩精品一级中文字幕精品视频免费观看 | 粉嫩一区二区三区在线看| 国产成人免费av在线| 99re免费视频精品全部| 欧美中文字幕久久| 日韩欧美精品在线视频| 国产精品色在线观看| 一区二区理论电影在线观看| 天堂久久久久va久久久久| 精品一区二区在线免费观看| 成人午夜在线播放| 欧美视频中文字幕| 日韩一区二区三区四区| 国产精品免费看片| 日韩中文字幕一区二区三区| 国产一区二区三区四区五区美女 | 久久午夜羞羞影院免费观看| 中文一区二区完整视频在线观看| 中文字幕中文在线不卡住| 国产精品久久久久久久久久久免费看| 免费一级欧美片在线观看| 精品对白一区国产伦| 国产人妖乱国产精品人妖| 伊人一区二区三区| 韩国女主播成人在线观看| 色播五月激情综合网| 精品国产乱码久久| 首页亚洲欧美制服丝腿| 国产91综合一区在线观看| 欧美天堂一区二区三区| 国产色爱av资源综合区| 亚洲va国产va欧美va观看| 国产一区二三区好的| 欧美日韩中文字幕一区二区| 国产蜜臀av在线一区二区三区| 亚洲国产成人91porn| 成人短视频下载| 精品人伦一区二区色婷婷| 亚洲一区二区三区视频在线播放| 国产一区二区三区四| 欧美日韩成人在线一区| 中文字幕一区二区三区四区不卡| 久久99精品国产| 在线成人午夜影院| 亚洲综合区在线| 不卡的电视剧免费网站有什么| 欧美白人最猛性xxxxx69交| 亚洲国产精品一区二区www在线 | 国产一区二区三区不卡在线观看| 欧美日韩久久久久久| 亚洲欧洲成人自拍| 国产精品一品视频| 欧美一区二区三区在线观看视频| 亚洲精品一卡二卡| 97久久人人超碰| 中文字幕av一区二区三区免费看| 国产一区在线精品| 欧美成人a∨高清免费观看| 亚洲一二三区在线观看| 91影院在线观看| 亚洲成av人影院在线观看网| 亚洲免费观看高清完整| 免费美女久久99| 91精品国产美女浴室洗澡无遮挡| 夜夜夜精品看看| 日本韩国一区二区三区| 奇米影视一区二区三区| 欧美精三区欧美精三区| 午夜婷婷国产麻豆精品| 欧美色倩网站大全免费| 香蕉久久一区二区不卡无毒影院 | 风间由美一区二区三区在线观看| 2024国产精品| 国产经典欧美精品| 日本一区二区成人在线| 成人一级黄色片| 国产精品蜜臀av| 91女人视频在线观看| 亚洲综合丁香婷婷六月香| 欧美无人高清视频在线观看| 亚洲 欧美综合在线网络| 欧美精品一卡两卡| 免费成人在线观看| 26uuu精品一区二区| 国产大片一区二区| 亚洲视频在线观看一区| 欧美性猛交xxxx黑人交| 日本不卡高清视频| 久久嫩草精品久久久久| 成人av综合在线| 亚洲尤物在线视频观看| 欧美一区二区三区在线看| 国产美女精品在线| 日韩理论片在线| 欧美一区二区女人| 国产黄人亚洲片| 亚洲精品一二三四区| 7777精品伊人久久久大香线蕉完整版| 久久精品国产精品亚洲精品| 国产免费成人在线视频| 色狠狠一区二区| 美女视频网站久久| 同产精品九九九| 精品国产电影一区二区| 99久久伊人久久99| 视频精品一区二区| 国产欧美一区二区精品仙草咪|