亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
色伊人久久综合中文字幕| 亚洲高清一区二区三区| 国产美女主播视频一区| 久久只精品国产| 国产揄拍国内精品对白| 国产亚洲综合色| 成人aa视频在线观看| 国产精品久久久久久福利一牛影视 | 亚洲精品国产无天堂网2021| 99久久久久久| 夜夜精品视频一区二区| 欧美亚洲综合网| 久久精工是国产品牌吗| 亚洲精品在线三区| www.成人在线| 一区二区在线观看免费| 91麻豆精品国产自产在线| 奇米一区二区三区| 国产免费观看久久| 精品视频一区二区三区免费| 日本人妖一区二区| 欧美国产精品专区| 欧美在线三级电影| 激情五月播播久久久精品| 中文天堂在线一区| 欧美日韩一二区| 国产精品一区在线| 亚洲综合图片区| 精品国产免费久久| 色综合久久综合网97色综合 | 精品裸体舞一区二区三区| 国产91精品一区二区麻豆网站| 日韩理论片中文av| 欧美电视剧免费观看| 色综合天天综合网天天狠天天 | 精品国产一区二区三区不卡 | 欧美亚洲国产一区二区三区va | 日本不卡1234视频| 欧美激情艳妇裸体舞| 欧美精品一二三四| 国产成人av电影在线观看| 亚洲综合在线免费观看| 欧美xxxxx牲另类人与| 色欧美片视频在线观看| 国产麻豆精品一区二区| 亚洲在线免费播放| 久久综合色综合88| 欧美性大战久久久久久久蜜臀| 毛片不卡一区二区| 一二三四社区欧美黄| 久久久久久毛片| 欧美一区二区播放| 色国产精品一区在线观看| 国产在线视频精品一区| 午夜av一区二区| 亚洲视频图片小说| 国产亚洲欧美日韩日本| 日韩三级电影网址| 欧美三级三级三级| 91在线高清观看| 国产精品18久久久久| 蜜臀av一区二区三区| 亚洲一区二区三区中文字幕 | 国产一区免费电影| 天堂精品中文字幕在线| 一区二区在线看| 亚洲欧美国产77777| 欧美激情一区二区三区| 国产日韩v精品一区二区| 日韩精品一区国产麻豆| 884aa四虎影成人精品一区| 色噜噜狠狠一区二区三区果冻| 成人精品国产免费网站| 国产成人aaaa| 国产精品影音先锋| 亚洲一区二区三区在线播放| 伦理电影国产精品| 欧美一区二区三区在线| 91浏览器打开| 91免费精品国自产拍在线不卡| 丰满少妇久久久久久久| 国产一区二区伦理| 国内精品第一页| 国产在线精品免费av| 九九视频精品免费| 激情综合网最新| 国产一区二区毛片| 成人黄色777网| av在线不卡免费看| 欧美在线免费播放| 欧美色图天堂网| 制服丝袜在线91| 日韩免费看网站| www久久久久| 国产精品卡一卡二卡三| 亚洲欧美一区二区久久| 一区二区三区四区蜜桃| 亚洲18色成人| 精品一区二区久久久| 国产成人av一区| 91在线观看高清| 制服丝袜中文字幕一区| 精品久久久久99| 国产女人18水真多18精品一级做 | 国产精品色婷婷久久58| 亚洲天堂av一区| 亚洲成人动漫精品| 久久99在线观看| 国产成人自拍在线| 99国内精品久久| 欧美性色综合网| 日韩一本二本av| 国产精品国产三级国产aⅴ无密码| 亚洲激情一二三区| 久久国产福利国产秒拍| 成人久久18免费网站麻豆 | 欧美一区二区不卡视频| 精品久久免费看| 亚洲欧美日韩电影| 久久精品国产一区二区| jvid福利写真一区二区三区| 欧美丝袜自拍制服另类| 26uuu国产日韩综合| 中文字幕一区二区不卡 | 日韩视频一区二区| 中文字幕精品一区| 丝袜诱惑亚洲看片| 成人高清视频在线| 欧美女孩性生活视频| 国产精品久久久久婷婷二区次| 蜜臀久久99精品久久久画质超高清 | 国产老肥熟一区二区三区| 91官网在线免费观看| 久久精品人人爽人人爽| 丝袜美腿成人在线| 91老司机福利 在线| 久久亚区不卡日本| 丝袜亚洲精品中文字幕一区| jlzzjlzz欧美大全| 久久先锋影音av鲁色资源网| 天堂在线一区二区| 在线观看一区日韩| 国产精品国产三级国产a| 国产在线播放一区| 欧美一级欧美三级| 亚洲一区二区在线免费观看视频| bt欧美亚洲午夜电影天堂| 精品久久久网站| 日韩福利视频网| 欧美日韩亚洲国产综合| 亚洲视频一区二区在线观看| 国产成人福利片| 久久夜色精品一区| 久久成人久久鬼色| 91精品国产免费| 亚洲va中文字幕| 欧美羞羞免费网站| 亚洲图片另类小说| av中文字幕不卡| 中文字幕欧美激情一区| 国产精品1024久久| 久久久亚洲综合| 国产在线精品一区二区 | 国产精品久久三区| 国产成人午夜视频| 2024国产精品| 国产一区二区按摩在线观看| 久久亚洲影视婷婷| 国产成人免费xxxxxxxx| 久久久久88色偷偷免费| 国内精品久久久久影院薰衣草| wwwwxxxxx欧美| 国产成人av电影免费在线观看| 欧美激情一区二区在线| 成人夜色视频网站在线观看| 欧美激情一区二区三区全黄| 91美女蜜桃在线| 亚洲精品v日韩精品| 欧美综合一区二区三区| 午夜不卡av免费| 国产精品资源站在线| 亚洲成av人片| 国产日产精品1区| 欧美精品自拍偷拍| 99国产一区二区三精品乱码| 麻豆精品在线播放| 亚洲国产一区二区a毛片| 久久久久久夜精品精品免费| 色吧成人激情小说| 99久久99久久综合| 97久久超碰国产精品电影| 久久精品在线免费观看| 美女视频一区二区| 精品福利一区二区三区| 美女视频一区二区| 久久久国产精品午夜一区ai换脸| 国产拍欧美日韩视频二区| 91免费版pro下载短视频| 精品国产免费人成电影在线观看四季 | 波多野结衣中文字幕一区|