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

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

?? ospf_transmit.c

?? vxworks下ospf協議棧
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* ospf_transmit.c - OSPF transmit *//* Copyright 2000-2003 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------02f,18aug03,agi Changed call to ospf_MD_string() to common code mdString()02e,30jul03,agi Changed call to MD_string() to ospf_MD_string()02d,26may03,agi Changed rwos_get_system_elapsed_time_second() to                ospf_get_system_elapsed_time_second()02c,22apr03,ram SPR#76812 Modifications for OSPF performance enhancements02b,03dec02,ram	SPR 84312 - Change elapsed time to return seconds02a,08oct02,agi Fixed compiler warnings 25,12november,jkw			Virtual link hello fix. 24,13october01,kc			Dynamic configuration changes. 23,13october01,br			Virtual link updates 22,22september01,kc		Removed references to port number in ospf_send_packet() 21,23august01,jkw			Fixed compiler warnings. 20,20june01,jkw			Added unnumbered link support 19,11may01,aos				Added null pointer checks 18,1may01,aos				In ospf_get_an_ip_send_packet() removed fixed size cluster size to packet_size 17,26september00,reshma	Added WindRiver CopyRight 16 25september00,reshma	RFC-1587 implementation for OSPF NSSA Option, also tested against ANVL. 15,07july00,reshma			Unix compatibility related changes. 14,04april00,reshma		Added some MIB support (Read only).Passed all important ANVL OSPF tests. 13,23december99,reshma		Compatibility with VxWorks-IP and VxWorks RTM-interface 12,13august99,jack			ifdefed lsl control calls 11,28december98,jack		Compiled and added some comments 10,11november98,jack		Config changes, linted and big endian changes 09,30october98,jack		Incorporate changes for compilation on Vxworks 08,23august98,jack			ANVL tested OSPF with PATRICIA tree route table and no recursion 07,10august98,jack			PATRICIA Route Table Based OSPF Code Base 06,04june98,jack			Integration with RTM and BGP 05,24april98,jack			RTM changes 04,10july97,cindy			Pre-release v1.52b 03,02october97,cindy		Release Version 1.52 02,22october96,cindy		Release Version 1.50 01,05june96,cindy			First Beta Release*//*DESCRIPTIONospf_transmit.c is used for transmiting OSPF packets to the appropriate destinations.  This filefinds the destinations for the packets and calls the appropriate functions to transmit the OSPFpacket.This file is used every time an OSPF packet needs to be transmitted.*/#include "ospf.h"#if defined (__OSPF_VIRTUAL_STACK__)#include "ospf_vs_lib.h"#endif /* __OSPF_VIRTUAL_STACK__ */#include <net/mbuf.h>#include <netBufLib.h>#include <net/mbuf.h>#include <tickLib.h>/**************************************************************************************************************************************/static STATUS ospf_initialize_ospf_packet_header (OSPF_HEADER *sptr_packet,enum OSPF_UNION_PACKET_TYPES type, ULONG *ulptr_length /* in host order */,	OSPF_INTERFACE *sptr_interface);static STATUS ospf_initialize_checksum_and_authentication (OSPF_HEADER *sptr_packet,ULONG *ulptr_length /* in host order */,	OSPF_INTERFACE *sptr_interface);static OSPF_AUTHENTICATION_KEY *ospf_get_best_key_to_use_for_md5_authentication (OSPF_INTERFACE *sptr_interface);static void ospf_send_packet_to_all_neighbors_in_up_state (OSPF_HEADER *sptr_packet,ULONG length /* in host order */,	OSPF_INTERFACE *sptr_interface,enum BOOLEAN free_packet);static void ospf_send_packet_to_all_eligible_neighbors (OSPF_HEADER *sptr_packet,ULONG length /* in host order */,	OSPF_INTERFACE *sptr_interface,enum BOOLEAN free_packet);static void ospf_send_packet_to_all_neighbors_in_exchange_state (OSPF_HEADER *sptr_packet,ULONG length /* in host order */,	OSPF_INTERFACE *sptr_interface,enum BOOLEAN free_packet);static void ospf_send_packet_to_designated_router_and_backup_designated_router (OSPF_HEADER *sptr_packet,ULONG length /* in host order */,	OSPF_INTERFACE *sptr_interface,enum BOOLEAN free_packet);static void ospf_send_packet (OSPF_HEADER *sptr_packet,ULONG length /* in host order */,ULONG destination_address,	OSPF_INTERFACE *sptr_interface,enum BOOLEAN free_packet);static ULONG ospf_virtual_link_convert_rid_to_interface_addresss( ULONG destination_address, OSPF_AREA_ENTRY *sptr_transit_area );/**********************************************************************************//* section 8.1 of OSPF specification (page 54-56) */void ospf_tx_packet (OSPF_HEADER *sptr_packet,OSPF_INTERFACE *sptr_interface,enum OSPF_UNION_PACKET_TYPES type,	ULONG length /* in host_order */,ULONG destination,enum BOOLEAN free_packet){	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_tx_packet\r\n");	ospf_initialize_ospf_packet_header (sptr_packet, type, &length /* in host order */, sptr_interface);	switch (destination)									/* Handle OSPF_NBMA send cases */		{		case OSPF_ALL_UP_NEIGHBORS:			{			ospf_send_packet_to_all_neighbors_in_up_state (sptr_packet, length /* in host order */, sptr_interface, free_packet);			break;			}		case OSPF_ALL_ELIGIBLE_NEIGHBORS:			{			ospf_send_packet_to_all_eligible_neighbors (sptr_packet, length /* in host order */, sptr_interface, free_packet);			break;			}		case OSPF_ALL_EXCHANGE_NEIGHBORS:			{			ospf_send_packet_to_all_neighbors_in_exchange_state (sptr_packet, length /* in host order */, sptr_interface, free_packet);			break;			}		case OSPF_DESIGNATED_ROUTER_AND_BACKUP_DESIGNATED_ROUTER:			{			ospf_send_packet_to_designated_router_and_backup_designated_router (sptr_packet, length /* in host order */, sptr_interface,				free_packet);			break;			}		default:			{			ospf_send_packet (sptr_packet, length /* in host order */, destination, sptr_interface, free_packet);			break;			}		}	return;}/**************************************************************************************************************************************/static STATUS ospf_initialize_ospf_packet_header (OSPF_HEADER *sptr_packet,enum OSPF_UNION_PACKET_TYPES type, ULONG *ulptr_length /* in host order */,	OSPF_INTERFACE *sptr_interface){	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_initialize_ospf_packet_header\r\n");	sptr_packet->version = OSPF_VERSION;	sptr_packet->type = (BYTE_ENUM (OSPF_UNION_PACKET_TYPES)) type;	sptr_packet->router_id = ospf.router_id;	sptr_packet->router_id = host_to_net_long (sptr_packet->router_id);	sptr_packet->length = (USHORT) *ulptr_length;	sptr_packet->length = host_to_net_short (sptr_packet->length);	if (sptr_interface->type == OSPF_VIRTUAL_LINK)		{		sptr_packet->area_id = OSPF_BACKBONE;		}	else		{		sptr_packet->area_id = host_to_net_long (sptr_interface->sptr_area->area_id);		}	ospf_initialize_checksum_and_authentication (sptr_packet, ulptr_length /* in host order */, sptr_interface);	return OK;}/**************************************************************************************************************************************/static STATUS ospf_initialize_checksum_and_authentication (OSPF_HEADER *sptr_packet,ULONG *ulptr_length /* in host order */,	OSPF_INTERFACE *sptr_interface){	OSPF_AUTHENTICATION_KEY *sptr_authentication_key;	BYTE bptr_digest[OSPF_AUTHENTICATION_SIZE];	BYTE *bptr_end_of_packet;	USHORT index;	ULONG length_of_OSPF_packet;	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_initialize_checksum_and_authentication\r\n");	switch (sptr_interface->authentication.type)		{		case OSPF_AUTHENTICATION_NONE:			{			sptr_packet->authentication_type = OSPF_AUTHENTICATION_NONE;			sptr_packet->authentication_type = host_to_net_short (sptr_packet->authentication_type);			memset (sptr_packet->authentication_field.key_or_plain_text_passwd, 0x0, OSPF_AUTHENTICATION_SIMPLE_SIZE);			sptr_packet->checksum = 0x0000;			sptr_packet->checksum = calculate_ip_checksum (NULL, (BYTE *) sptr_packet, (USHORT) *ulptr_length /* in host order */);			break;			}		case OSPF_AUTHENTICATION_SIMPLE:			{			sptr_packet->authentication_type = OSPF_AUTHENTICATION_SIMPLE;			sptr_packet->authentication_type = host_to_net_short (sptr_packet->authentication_type);			memset (sptr_packet->authentication_field.key_or_plain_text_passwd, 0x0, OSPF_AUTHENTICATION_SIMPLE_SIZE);			sptr_packet->checksum = 0x0000;			sptr_packet->checksum = calculate_ip_checksum (NULL, (BYTE *) sptr_packet, (USHORT) *ulptr_length /* in host order */);			memcpy ((void*) &(sptr_packet->authentication_field.key_or_plain_text_passwd), (void*) &(sptr_interface->authentication.key_or_plain_text_passwd), OSPF_AUTHENTICATION_SIMPLE_SIZE);			break;			}		case OSPF_AUTHENTICATION_MD5:			{			length_of_OSPF_packet = *ulptr_length;			sptr_packet->authentication_type = OSPF_AUTHENTICATION_MD5;			sptr_packet->authentication_type = host_to_net_short (sptr_packet->authentication_type);			sptr_packet->checksum = 0x0000;			/* Initialize MD5 fields */			sptr_packet->authentication_field.md5.offset = 0x0000;			sptr_authentication_key = ospf_get_best_key_to_use_for_md5_authentication (sptr_interface);			sptr_packet->authentication_field.md5.key_ID = sptr_authentication_key->key_ID;			sptr_packet->authentication_field.md5.authentication_data_length = OSPF_AUTHENTICATION_MD5_SIZE;			/* SPR 84312 -- Begin */			sptr_packet->authentication_field.md5.cryptographic_sequence_number = ospf_get_system_elapsed_time_second ();			/* Sequence is current time */			/* SPR 84312 -- End */			sptr_packet->authentication_field.md5.cryptographic_sequence_number =				host_to_net_long (sptr_packet->authentication_field.md5.cryptographic_sequence_number);			/* append secret key to the end of the OSPF packet */			bptr_end_of_packet = (BYTE *) sptr_packet;			for (index = 0x0000; index < length_of_OSPF_packet; ++index)				{				++bptr_end_of_packet;				/* go to end of packet */				}			memcpy ((void *) bptr_end_of_packet, (const void *) (sptr_authentication_key->md5_16byte_password), (size_t) OSPF_AUTHENTICATION_MD5_SIZE);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲乱码国产乱码精品精可以看| 欧洲在线/亚洲| 国产成人综合在线播放| 色综合欧美在线视频区| 精品国产亚洲一区二区三区在线观看| 中文字幕中文字幕一区二区 | 久久久亚洲高清| 一区二区三区在线观看网站| 国产精品一区久久久久| 538在线一区二区精品国产| 亚洲视频每日更新| 国产91丝袜在线播放九色| 69堂成人精品免费视频| 亚洲综合一二区| 91在线视频播放| 国产精品污网站| 国产一区二区免费在线| 欧美α欧美αv大片| 亚洲18色成人| 欧美日韩三级一区二区| 亚洲精品乱码久久久久久| 成人精品国产免费网站| 久久精品夜色噜噜亚洲a∨| 麻豆成人久久精品二区三区红| 欧美日韩一区高清| 一区二区三区在线观看国产| 91亚洲精品一区二区乱码| 中文字幕精品—区二区四季| 国产精品亚洲а∨天堂免在线| 精品久久久久av影院| 免费不卡在线观看| 日韩欧美高清一区| 久久机这里只有精品| 日韩欧美你懂的| 韩国成人精品a∨在线观看| 欧美成人一级视频| 国产综合色视频| 国产精品欧美一级免费| 成人午夜看片网址| 亚洲色图欧美在线| 欧美影视一区在线| 麻豆精品视频在线| 久久精品亚洲乱码伦伦中文| 成人高清在线视频| 樱花影视一区二区| 制服丝袜中文字幕亚洲| 日本vs亚洲vs韩国一区三区| 精品入口麻豆88视频| 国产大陆a不卡| 亚洲综合激情网| 亚洲综合免费观看高清完整版在线 | 极品尤物av久久免费看| 日韩一区二区视频在线观看| 国产在线精品一区二区三区不卡| 亚洲国产经典视频| 欧美性色欧美a在线播放| 日本女人一区二区三区| 91精品国产综合久久精品性色| 久久精品国产免费看久久精品| 日韩欧美国产不卡| 91美女视频网站| 日本视频在线一区| 国产精品午夜春色av| 欧美最新大片在线看| 极品瑜伽女神91| 樱花影视一区二区| 久久一留热品黄| 日本精品裸体写真集在线观看| 日本成人在线视频网站| 国产精品全国免费观看高清| 欧洲一区二区三区在线| 国内外成人在线| 亚洲愉拍自拍另类高清精品| 欧美xingq一区二区| 91年精品国产| 久久99精品久久久| 9i看片成人免费高清| 国产日韩欧美综合在线| 国产69精品久久99不卡| 亚洲成人精品在线观看| 国产蜜臀av在线一区二区三区| 欧美喷潮久久久xxxxx| 欧美日韩一区二区三区在线| 久久97超碰色| 婷婷丁香激情综合| 国产精品乱码妇女bbbb| 欧美色精品在线视频| 国产美女娇喘av呻吟久久| 久久久不卡影院| 欧美探花视频资源| 国产在线乱码一区二区三区| 国产精品99久久久久久似苏梦涵| 成人午夜伦理影院| 日韩激情中文字幕| 国产精品区一区二区三区| 久久精品国产久精国产| 欧美激情一区二区三区全黄| 正在播放一区二区| 日韩欧美aaaaaa| 韩国av一区二区三区| 亚洲va国产va欧美va观看| 亚洲精品伦理在线| 一区二区三区欧美日韩| 国产三级精品三级| 久久久一区二区| 国产在线精品一区二区| 中文字幕成人av| 久久亚区不卡日本| 精品国产区一区| 欧美va在线播放| 日韩欧美国产高清| 日韩精品成人一区二区在线| 18成人在线视频| 一区二区三区在线视频观看58| 色综合久久中文字幕综合网| 成人av在线电影| 国产1区2区3区精品美女| 国产不卡视频一区二区三区| 国产成人综合视频| 欧美性受xxxx| 欧美日韩国产天堂| 欧美一区二区黄| 欧美电影免费提供在线观看| 精品国产乱码久久久久久夜甘婷婷 | 国产成人精品aa毛片| 国产成人精品一区二区三区网站观看| 国产精品99久久久久| 国产.欧美.日韩| 91蜜桃免费观看视频| 欧美在线999| 日韩免费高清电影| 国产香蕉久久精品综合网| 国产精品午夜久久| 一区二区三区四区亚洲| 天天av天天翘天天综合网 | 国产精品99久| 国产老妇另类xxxxx| 国产麻豆精品theporn| 国产精品18久久久久久vr| 丁香六月久久综合狠狠色| 99re这里只有精品首页| 欧美日韩久久一区| 678五月天丁香亚洲综合网| 久久影视一区二区| 一区二区三区在线视频播放| 免费在线视频一区| 成人免费高清在线| 欧美日韩性生活| 国产区在线观看成人精品| 国产高清久久久久| 国产成人aaa| 日本精品一级二级| 精品国产一区二区三区久久久蜜月| 中文字幕精品在线不卡| 在线视频综合导航| 久久精品一区四区| 亚洲国产一区二区视频| 国内精品国产成人| 精品视频1区2区| 国产欧美日韩卡一| 奇米四色…亚洲| 色婷婷亚洲综合| 337p日本欧洲亚洲大胆精品 | 久久综合久久综合亚洲| 一区二区国产视频| 国产精品综合av一区二区国产馆| 在线观看亚洲一区| 亚洲国产精品高清| 玖玖九九国产精品| 欧美日韩一区二区不卡| 国产精品第一页第二页第三页| 视频一区欧美日韩| 91免费国产视频网站| 精品国产乱码久久久久久牛牛 | 亚洲丝袜制服诱惑| 国产精品一区二区x88av| 91精品久久久久久久99蜜桃 | 欧美系列在线观看| 国产亚洲欧美色| 免费在线观看视频一区| 在线视频欧美区| 中文字幕亚洲成人| 丁香婷婷综合激情五月色| 欧美一区二区三区男人的天堂| 一区二区在线观看视频| 丰满亚洲少妇av| 久久久久久电影| 国产一区二区三区四区五区美女| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品综合久久| 欧美日韩一级片网站| 国产精品久久午夜夜伦鲁鲁| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲国产精品传媒在线观看| 国产一区二区三区在线观看免费| 日韩一区二区三区四区 | 成熟亚洲日本毛茸茸凸凹| 欧美大片国产精品| 免费av网站大全久久| 欧美日韩一区三区四区|