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

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

?? ospf_vx_ip_adaptation.c

?? vxworks下ospf協議棧
?? C
?? 第 1 頁 / 共 2 頁
字號:
                    /* Does the interface that matched this? */                    if (intf_addr == destination_address)                        {                        /* There is an interface that matched with this ospf packet, but                           can't use it yet. just saved it */                        sptr_saved_interface = sptr_interface;                                            /* continue to scan through the rest of the interface to see if                           an unnumbered interface also match this packet */                        for (sptr_interface = sptr_saved_interface;                              sptr_interface != NULL;                             sptr_interface = sptr_interface->sptr_forward_link)                             {                             /* if the interface is unnumbered then get the interface */                             if (sptr_interface->unnumbered_dest_ip == source_address)                                 {                                 sptr_saved_interface = sptr_interface;                                 break;                                 }                             }                        /* at this point the interface is either unnumbered or numbered */                        sptr_interface = sptr_saved_interface;                        break;                        }                    }       /* for loop */#else   /* __UNNUMBERED_LINK__ver1.0 */                /* it is unicast - got destination address in the ip header */                for (sptr_interface = ospf.sptr_interface_list;                      sptr_interface != NULL;                     sptr_interface = sptr_next_interface)                    {                    sptr_next_interface = sptr_interface->sptr_forward_link;                    destination_address = ip_header->ip_dst.s_addr;                    destination_address = net_to_host_long (destination_address);                    intf_addr = sptr_interface->address;                                        if (intf_addr == destination_address)                        {                        break;                        }                    }#endif  /* __UNNUMBERED_LINK__ver1.0 */                }   /* if (IN_MULTICAST (destination_address)) */            /* if can't find matching interface, ignore the packet */            if ( sptr_interface == NULL )                {                OSPF_PRINTF_DEBUG(OSPF_ALARM_PRINTF,                        "dropped recvpkt - recvif not found!\n");                semGive (ospf_global_mutex);                continue;                }            /* call ospf_router_rx_packet() to process the packet */            ospf_router_rx_packet (                sptr_interface,                (OSPF_PACKET *)ospf_receive_message_buffer,                (USHORT)ip_header->ip_len, ip_header->ip_src.s_addr,                ip_header->ip_dst.s_addr);            /* release the mutex */            semGive (ospf_global_mutex);            }        }    }/**************************************************************************************** ospf_vx_ip_output - packet send routine** This is packet send routine. If packet needs to be multicast <flag_multicast is set>,* it calls setsockopt() to specify the network interface through which the multicast* packet is sent.** RETURNS: N/A*/void ospf_vx_ip_output (OSPF_HEADER *sptr_packet, ULONG source_address, bool flag_multicast, ULONG destination_address, ULONG length /* in host order */, enum BOOLEAN free_packet){    struct  sockaddr_in dest;    struct  in_addr localIpAddr;        int     status;        ULONG   source_ip_address = 0x00000000;        ULONG   destination_ip_address = 0x00000000;    /* HME Fix SPR#81451 Begin */#if defined(ENABLE_IP_HDRINCL)    struct in_addr src;    unsigned int bOpt=1;           char ospfSignalData [OSPF_MAX_PKT_SIZE];    /* Contents of signal */    int ipPktLength = IPHL + length;    struct ip * 	pIph;    OSPF_HEADER * 	pOspfh;#endif    /* HME Fix SPR#81451 End */    /* asr: set virtual stack context */    #if defined (VIRTUAL_STACK)        virtualStackNumTaskIdSet (ospf.ospf_vsid);    #endif /* VIRTUAL_STACK */        if ( sptr_packet == NULL )    {        OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF,"OSPF:invalid transmit data\n");        return;    }    /* HME Fix SPR#81451 Begin */    source_ip_address = source_address;    source_ip_address = host_to_net_long(source_ip_address);    /* HME Fix SPR#81451 End */    if (flag_multicast == true)    {        localIpAddr.s_addr = source_ip_address;        /* call setsockopt to select an outgoing interface for multicasting the packet */        if (setsockopt (ipSock, IPPROTO_IP, IP_MULTICAST_IF, (char *)&localIpAddr,                        sizeof(localIpAddr)) != OK)        {            OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "OSPF:setsockopt failed for tranmit\n");            if (free_packet)            {                buffer_free(sptr_packet);                                sptr_packet = NULL;            }            return;        }    }    /* send the packet using the raw socket */    destination_ip_address = destination_address;    destination_ip_address = host_to_net_long(destination_ip_address);    dest.sin_addr.s_addr = destination_ip_address;    dest.sin_family = AF_INET;/* HME Fix SPR#81451 Begin */   #if defined(ENABLE_IP_HDRINCL)    /* enable IP_HDRINCL option */    if (setsockopt(ipSock, IPPROTO_IP, IP_HDRINCL, (char *)&bOpt, sizeof(bOpt)) != OK) {                OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "OSPF:setsockopt IP_HDRINCL failed \n");        return;    }    /* Check whether the size of ospfSignalData is larger than ipPktLength */    if (ipPktLength > OSPF_MAX_PKT_SIZE)     {        OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "OSPF: Ospf pkt size is too big (ipPktLength > OSPF_MAX_PKT_SIZE) \n");        return;    }        /* Create an IP packet and copy the OSPF packet to it*/    bzero (ospfSignalData, ipPktLength);    pIph = (struct ip *)ospfSignalData;    src.s_addr = source_ip_address;    ipHeaderCreate(IPPROTO_OSPF, &src, &dest.sin_addr, (struct ip *)pIph, htons(ipPktLength)); /* HME Fix SPR#69807 & SPR#72167  Begin*/    pIph->ip_tos = TOS_BYTE_VALUE;/* HME Fix SPR#69807 & SPR#72167  End*/        /* copy original OSPF data into the IP packet */    pOspfh = (OSPF_HEADER *) (ospfSignalData + IPHL);    bcopy( (const char *)sptr_packet, (char *) pOspfh, length);       /* send the IP packet */    status = sendto(ipSock, (void *)pIph, ipPktLength, 0, (struct sockaddr *)&dest,                   sizeof(dest));#else        status = sendto(ipSock, (void *)sptr_packet, length, 0, (struct sockaddr *)&dest,                    sizeof(dest));#endif/* HME Fix SPR#81451 End */    if (free_packet)    {        buffer_free(sptr_packet);                sptr_packet = NULL;    }    return;}/************************************************************************/#if defined (__OSPF_ROUTER_STACK__)void ospf_ctlinput    (    unsigned long intf,     unsigned short intf_index,     int intf_flags    )    {        bool interface_found;#if defined (NOT_SUPPORTED_YET)        ULONG port_number;#endif /* NOT_SUPPORTED_YET */        OSPF_INTERFACE *sptr_interface = NULL;        OSPF_INTERFACE *sptr_next_interface = NULL;        ULONG ip_address = 0x00000000;        interface_found = false;        for (sptr_interface = ospf.sptr_interface_list;              sptr_interface != NULL;              sptr_interface = sptr_next_interface)            {            sptr_next_interface = sptr_interface->sptr_forward_link;            ip_address = sptr_interface->address;            ip_address = host_to_net_long(ip_address);            if(intf_index == sptr_interface->ifnet_index)                {                if( intf_flags & IFF_UP )                    {                    semTake (ospf_global_mutex, WAIT_FOREVER);                    ospf_indicate_lower_level_interface_state_change (                        sptr_interface,                         true);                    semGive (ospf_global_mutex);                    interface_found = true;                    break;                    }                else                    {                    semTake (ospf_global_mutex, WAIT_FOREVER);                    ospf_indicate_lower_level_interface_state_change (                        sptr_interface,                         false);                    semGive (ospf_global_mutex);                    interface_found = true;                    break;                    }                }            }    if (interface_found  == false)        {        OSPF_PRINTF_ALARM (            OSPF_ALARM_PRINTF,             "OSPF: ospf_ctlinput() called, but interface is not found \r\n");        }    }/*********************************************************************************************************************************************************************/#else /* __OSPF_ROUTER_STACK__ */void ospf_ctlinput (int command, struct sockaddr *sa,register struct ip *ip){        ULONG interface_address;        bool interface_found;    OSPF_INTERFACE *sptr_interface = NULL;        OSPF_INTERFACE *sptr_next_interface = NULL;        struct sockaddr_in *address;        PARAMETER_NOT_USED (ip);        interface_found = false;        if (command == PRC_IFDOWN)                {                address = (struct sockaddr_in *) sa;                interface_address = (ULONG) (address->sin_addr.s_addr);                interface_address = ntohl (interface_address);                OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "OSPF: ospf_ctlinput() called, %lx \r\n", interface_address);        interface_found = false;        semTake (ospf_global_mutex, WAIT_FOREVER);         for ( sptr_interface = ospf.sptr_interface_list; sptr_interface != NULL;              sptr_interface = sptr_next_interface)        {                        sptr_next_interface = sptr_interface->sptr_forward_link;            if ( sptr_interface->address == interface_address)            {                ospf_indicate_lower_level_interface_state_change (sptr_interface, false);                interface_found = true;                break;            }        }                semGive (ospf_global_mutex);                if (interface_found  == false)                        {                        OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "OSPF: ospf_ctlinput() called, but interface is not found \r\n");                        }                }#if defined (NOT_SUPPORTED_YET)        if (command == PRC_IFUP)                {                address = (struct sockaddr_in *) sa;                interface_address = (ULONG) (address->sin_addr.s_addr);                interface_address = ntohl (interface_address);                OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "OSPF: ospf_ctlinput() called, %lx \r\n", interface_address);        interface_found = false;                semTake (ospf_global_mutex, WAIT_FOREVER);                for (sptr_interface = ospf.sptr_interface_list; sptr_interface != NULL;              sptr_interface = sptr_next_interface)        {                        sptr_next_interface = sptr_interface->sptr_forward_link;            if (sptr_interface->address == interface_address)            {                ospf_indicate_lower_level_interface_state_change (sptr_interface, true);                interface_found = true;                break;            }        }                 semGive (ospf_global_mutex);                if (interface_found  == false)                        {                        OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "OSPF: ospf_ctlinput() called, but interface is not found \r\n");                        }                }#endif        /* More commands - PRC_XXX will be supported in future */        return;}#endif /* __OSPF_ROUTER_STACK__ *//************************************************************************/void ospf_indicate_lower_level_interface_state_change (OSPF_INTERFACE* sptr_ospf_interface, bool new_state){        if (sptr_ospf_interface == NULL)                {                OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "OSPF: ospf_indicate_lower_level_interface_state_change() called, but interface is NULL \r\n");                return;                }        if (new_state == false /* down */)                {                if (sptr_ospf_interface->state != OSPF_INTERFACE_IS_DOWN)                        {                        ospf_execute_interface_state_machine( OSPF_INTERFACE_DOWN,                                sptr_ospf_interface->state, sptr_ospf_interface );                        sptr_ospf_interface->sptr_area->build_router = TRUE;                        ospf_generate_network_and_router_link_state_advertisements (sptr_ospf_interface);                        OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "OSPF: INTERFACE DOWN with address (HEX) %lx\r\n", sptr_ospf_interface->address);                        }                }        else if (new_state == true /* up */)                {                if (sptr_ospf_interface->state == OSPF_INTERFACE_IS_DOWN)                        {                        sptr_ospf_interface->state = OSPF_INTERFACE_WAITING;                        ospf_execute_interface_state_machine (OSPF_INTERFACE_UP, OSPF_INTERFACE_IS_DOWN, sptr_ospf_interface);                        sptr_ospf_interface->sptr_area->build_router = TRUE;                        ospf_generate_network_and_router_link_state_advertisements (sptr_ospf_interface);                        OSPF_PRINTF_ALARM (OSPF_ALARM_PRINTF, "OSPF: INTERFACE UP with address (HEX) %lx\r\n", sptr_ospf_interface->address);                        }                }        return;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频一区二区三区免费| 日韩欧美国产综合在线一区二区三区| 一区二区三区四区亚洲| 欧美一级黄色片| 91麻豆6部合集magnet| 国产一区二区三区黄视频| 亚洲一区二区在线播放相泽| 国产精品丝袜久久久久久app| 56国语精品自产拍在线观看| 91偷拍与自偷拍精品| 国产精品中文字幕日韩精品| 秋霞av亚洲一区二区三| 亚洲一区欧美一区| 中文字幕日本乱码精品影院| 久久久久久亚洲综合| 日韩欧美国产综合在线一区二区三区| 色综合欧美在线| 国产成人av影院| 国内成人精品2018免费看| 天天色图综合网| 亚洲一二三专区| 亚洲免费观看高清在线观看| 国产精品日产欧美久久久久| 欧美国产丝袜视频| 国产亚洲综合色| 国产亚洲欧洲997久久综合| 精品黑人一区二区三区久久| 日韩一区二区免费在线观看| 欧美剧情电影在线观看完整版免费励志电影| 99视频一区二区三区| zzijzzij亚洲日本少妇熟睡| 成人精品gif动图一区| 成人午夜精品一区二区三区| 国产一区二区电影| 国产精品一区在线观看你懂的| 韩国精品久久久| 国产一区二区三区| 国产露脸91国语对白| 国产乱码精品一区二区三区av | 亚洲自拍偷拍欧美| 亚洲黄色小说网站| 亚洲午夜影视影院在线观看| 亚洲国产精品影院| 午夜精品久久久久久久| 亚洲bdsm女犯bdsm网站| 日本不卡1234视频| 国内久久婷婷综合| 成人一级视频在线观看| 成人高清免费观看| 一本高清dvd不卡在线观看| 91福利精品视频| 欧美日韩一区二区三区高清| 777欧美精品| 欧美精品一区二区久久婷婷| 久久久99久久| 亚洲视频免费看| 亚洲一区二区中文在线| 免费观看日韩av| 国产乱对白刺激视频不卡| 成人午夜视频免费看| 91国在线观看| 日韩美女一区二区三区| 欧美激情一区二区三区蜜桃视频| 国产精品对白交换视频| 亚洲一区av在线| 久久精品国产99国产精品| 高清日韩电视剧大全免费| 99国产精品久久| 欧美日韩中文另类| 欧美精品一区在线观看| 中文字幕一区在线观看| 丝袜亚洲精品中文字幕一区| 国产一区二区三区免费观看| 色域天天综合网| 欧美一级生活片| 国产精品国产精品国产专区不蜜| 亚洲成a人片在线不卡一二三区| 久久国产综合精品| 91在线国产观看| 91精品国产欧美一区二区| 久久色.com| 亚洲小说欧美激情另类| 国产一区二区不卡老阿姨| 在线中文字幕不卡| 精品欧美一区二区三区精品久久| 国产精品美女视频| 奇米四色…亚洲| 色一情一伦一子一伦一区| 精品乱码亚洲一区二区不卡| 一区二区三区四区激情| 国精产品一区一区三区mba桃花 | 亚洲欧洲日本在线| 日韩精品一级中文字幕精品视频免费观看| 久久99热国产| 欧美日韩国产成人在线91| 国产欧美一区视频| 美女脱光内衣内裤视频久久影院| 91网上在线视频| 国产丝袜美腿一区二区三区| 秋霞国产午夜精品免费视频| 91久久国产最好的精华液| 国产欧美精品日韩区二区麻豆天美| 日韩电影在线免费看| 91在线精品秘密一区二区| 久久久精品免费网站| 日韩av在线播放中文字幕| 91国偷自产一区二区三区成为亚洲经典 | 国产精品天天摸av网| 美女视频一区二区| 欧美性一二三区| 中文字幕一区二区三区av| 国产在线观看一区二区| 欧美肥胖老妇做爰| 亚洲一区二区在线视频| 99re成人精品视频| 久久久久国产精品厨房| 久久aⅴ国产欧美74aaa| 欧美一级欧美三级在线观看| 亚洲mv在线观看| 在线视频观看一区| 亚洲精品第一国产综合野| 成人av在线网站| 中文字幕av一区二区三区免费看 | 精品成a人在线观看| 日韩高清在线电影| 欧美另类高清zo欧美| 亚洲乱码精品一二三四区日韩在线| 成人精品小蝌蚪| 国产精品久久久久久亚洲伦 | 欧美在线看片a免费观看| 亚洲欧美日韩久久| 高清成人免费视频| 欧美国产精品劲爆| 国产精品系列在线观看| 国产亚洲欧洲一区高清在线观看| 国产一区二区三区四区五区入口 | 综合久久国产九一剧情麻豆| www.日韩av| 亚洲精品国产a久久久久久| 97久久超碰国产精品| 亚洲日本在线观看| 色婷婷亚洲精品| 亚洲一区二区三区中文字幕| 欧美在线小视频| 日韩精品一区第一页| 国产精品国产三级国产aⅴ中文| 国产精品亚洲第一区在线暖暖韩国| 久久精品夜色噜噜亚洲aⅴ| 国产精品一二三| 国产精品美女久久久久久久久久久| 不卡免费追剧大全电视剧网站| 国产精品家庭影院| 欧美视频在线观看一区| 天天综合色天天综合色h| 日韩精品综合一本久道在线视频| 精品无码三级在线观看视频| 欧美经典三级视频一区二区三区| 99久久久精品| 午夜电影网亚洲视频| www久久久久| 色综合天天视频在线观看| 亚洲电影在线播放| 日韩欧美国产综合在线一区二区三区| 黄色日韩网站视频| 亚洲欧美区自拍先锋| 91精品国产综合久久精品app| 国产综合久久久久久鬼色| 国产精品每日更新| 91久久精品国产91性色tv| 青娱乐精品视频| 中文字幕一区二区在线观看| 欧美日韩精品一二三区| 国产高清在线精品| 亚洲一区二区三区视频在线播放| 欧美一区二区女人| www.综合网.com| 日韩成人伦理电影在线观看| 国产精品女同互慰在线看| 91精品国产综合久久小美女| 成人激情免费视频| 青青草精品视频| 亚洲欧美国产高清| 精品sm捆绑视频| 91福利小视频| 国产成人免费视频一区| 香蕉av福利精品导航| 国产精品久久久爽爽爽麻豆色哟哟| 欧美肥大bbwbbw高潮| 高清不卡一二三区| 日韩在线a电影| 亚洲三级免费电影| 久久婷婷久久一区二区三区| 欧美日韩1区2区| 成人av电影在线播放| 精品一区二区三区免费观看| 一区二区三区在线观看国产| 国产欧美日韩麻豆91| 日韩一区二区麻豆国产| 色综合天天综合| 国产suv精品一区二区三区|