⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ospf_constants.h

📁 vxworks下ospf协议栈
💻 H
字号:
/* ospf_constants.h - ospf constants*//* Copyright 2000-2003 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------02m,03jul03,ram    Backed out SPR#88600 workaround02l,11jun03,ram    SPR#88965 Separate route table and LSDB hash parameters and                   increase LSDB hash parameters.02k,28may03,agi    Addedd code inspection changes02g,26may03,agi    Added OSPF_MAXIMUM_FILE_SIZE, OSPF_RAMDRIVE_VOLUME_NAME                   OSPF_CONFIGURATION_FILE_NAME02i,26may03,htm    Stampede issue# 24 - Adding OSPF_MAX_PKT_SIZE to be used in                    ospf_vx_ip_output() instead of the magic number 1000. 02h,26may03,dsk    SPR 88600 fix for stuck in EXCHANGE_START (timer added                    to restart if stuck in exchange start state too long)02g,09may03,agi    added ospf task related constants02f,10apr03,mwv    SPR 85906 update define for OSPF_MAXIMUM_IP_HEADER_SIZE02e,21mar03,kc     Fixed SPR#87023 - changed OSPF_INPUT_TASK_STACK_SIZE                   from 6K to 8K. Removed unused OSPF_MAPI_TASK_STACK_SIZE                   define.02d,17feb03,mwv    SPR 85906 define max ip header size 02c,14jan03,smr    SPR 78250 Need to correct hash table size to accomodate 255.02b,06jan03,ram	   SPR 85432 Changes to allow more OSPF external route processing02a,09dec02,ram	   SPR 83418 Added support for OSPF external type 1 & 201y,03dec02,mwv    Update the version information, spr 8462601x,16apr02,jkw    One copy of external and type 11 lsa01w,09apr02,jkw    Sequence number wrap.01v,13oct01,kc     Dynamic configuration changes.01u,30sep01,kc     Added OSPF_DEFAULT_POLL_INTERVAL define.01t,12aug01,aos    Add OSPF version constants01s,26sep00,reshma Added WindRiver CopyRight01r,25sep00,reshma RFC-1587 implementation for OSPF NSSA Option, also tested against ANVL.01q,20jul00,reshma Unix compatibility related changes.01p,06jul00,reshma Removed unnecessary header files and defines.01o,04apr00,reshma Added some MIB support (Read only).                   Passed all important ANVL OSPF tests.01n,23dec99,reshma Compatibility with VxWorks-IP and VxWorks RTM-interface01m,19may99,jack   redefined OSPF_PATRICIA_32_BITS_KEY_MAX_BIT_POSITION as per fixes in			 patricia01l,28dec98,jack   Compiled and added some comments01k,11nov98,jack   Config changes, linted and big endian changes01j,30oct98,jack   Incorporate changes for compilation on Vxworks01i,23aug98,jack   ANVL tested OSPF with PATRICIA tree route table and no recursion01h,10aug98,jack   PATRICIA Route Table Based OSPF Code Base01g,08jul98,jack   Patricia RT table related changes - need to be tested01f,16jun98,jack   Added new const OSPF_EXTERNAL_LSA_QUEUE_PROCESS_INTERVAL01e,04jun98,jack   Integration with RTM and BGP01d,10jul97,cindy  Pre-release v1.52b01c,10feb97,cindy  Release Version 1.5201b,22oct97,cindy  Release Version 1.5001a,05jun96,cindy  First Beta Release*/#if !defined (_OSPF_CONSTANTS_H_)#define _OSPF_CONSTANTS_H_#define	OSPF_PROTOCOL_ID_VALUE	89#define	OSPF_VERSION 2#define OSPF_REV		     "2.3"#define OSPF_REV_TYPE        "0"#define OSPF_BUILD		     __DATE__#if !defined (NUMBER_OF_IP_PORTS)    #define NUMBER_OF_IP_PORTS 16#endif /* NUMBER_OF_IP_PORTS */#define MAXIMUM_IP_OPTION_LENGTH								40				/* Largest option field, bytes */#define NO_SUCH_PORT												0xffff#if !defined (PRINT_BUFFER_SIZE)	#define PRINT_BUFFER_SIZE										150#endif /* PRINT_BUFFER_SIZE *//* SPR 85906 -- BEGIN */ #define OSPF_MAXIMUM_IP_HEADER_SIZE ((ULONG) 60)    /* largest size for IP header */#define RFC1745_EGP_ORIGEGP_ROUTE_TAG 0x9000			/* BGP routes reached via OSPF, ext adv originated by some other ASBR  */ 	   /* 4.3.2 RFC 1745 */#define RFC1745_IGP_TO_OSPF_ROUTE_TAG 0xc000 		/* IGP dynamic routes etc. */			/* IGP, local_AS */				   /* 4.3.4 RFC 1745 */#define RFC1745_EGP_ORIGIGP_ROUTE_TAG_PER_AS 0xd000 /* BGP routes with orig IGP, next_hop AS */	/* IGP, Local_AS, Next_hop_as */ /* 4.3.5 RFC 1745 DO not use for now */#define RFC1745_BGP_TO_OSPF_ROUTE_TAG 0xe000		/* BGP origin */#define OSPF_INTERNAL 0xffff#define 	NUMBER_OF_OSPF_PORTS		NUMBER_OF_IP_PORTS#define 	NUMBER_OF_OSPF_AREAS		NUMBER_OF_IP_PORTS#define		NUMBER_OF_OSPF_AREA_ADDRESS_RANGES	16#define	OSPF_NUMBER_OF_INTERFACE_STATES	7#define	OSPF_NUMBER_OF_INTERFACE_EVENTS	7#define	OSPF_NUMBER_OF_NEIGHBOR_STATES	8#define	OSPF_NUMBER_OF_NEIGHBOR_EVENTS	13#define	OSPF_BACKBONE	0x00000000L#define	OSPF_NBMA_DEFAULT_HELLO					30#define	OSPF_BROADCAST_DEFAULT_HELLO			10#define	OSPF_POINT_TO_POINT_DEFAULT_HELLO		30#define	OSPF_VIRTUAL_DEFAULT_HELLO				60/* SPR#88965 *//* OSPF LSDB hash paramters */#define OSPF_HASH_TABLE_SIZE	512L#define	OSPF_HASH_MASK			511L/* SPR#88965 *//* OSPF routing table hash parameters * These values cannot be changed*/#define OSPF_RT_HASH_TABLE_SIZE 256L#define OSPF_RT_HASH_MASK       255L#define	OSPF_LSRefreshTime		(1800)#define	OSPF_MinLSArrival		((ULONG) 0x00000001)#define	OSPF_MinLSInterval		((ULONG) 0x00000005)#define	OSPF_LSInfinity			0xFFFFFF#define  OSPF_EXTERNAL_LSA_QUEUE_PROCESS_INTERVAL 10 /* Routerware Inc. Specific */#define	OSPF_CheckAge						(300)#define	OSPF_MAXIMUM_AGE_DIFFERENCE	((USHORT) 900)#define	OSPF_MAXIMUM_AGE			((USHORT) 3600)#define	OSPF_ALL_UP_NEIGHBORS	   		0x00000001#define	OSPF_ALL_ELIGIBLE_NEIGHBORS		0x00000002#define	OSPF_ALL_EXCHANGE_NEIGHBORS		0x00000003#define	OSPF_DESIGNATED_ROUTER_AND_BACKUP_DESIGNATED_ROUTER	0x00000004#define	OSPF_ADDR_ALLSPF	0xe0000005	/* 224.0.0.5 */#define	OSPF_ADDR_ALLDR	0xe0000006	/* 224.0.0.6 */#define OSPF_IP_TTL_FOR_OSPF_PACKET 0x01	  /* RFC 1583 Appendix A.1 */#define OSPF_IP_TTL_FOR_UNI_CAST_VLINK_OSPF_PACKET 0x80	  /* VLINK: Virtual Link*/#define	OSPF_DefaultDestination 0x00000000L#define	OSPF_DefaultMask        0x00000000L#define	OSPF_DEFAULT_TRANSMIT_DELAY	1#define	OSPF_DEFAULT_COST		1#define	OSPF_DEFAULT_ROUTER_DEAD_INTERVAL	40#define	OSPF_DEFAULT_PRIORITY	1#define	OSPF_DEFAULT_RETRANSMIT_INTERVAL	5	/* was 5  */#define OSPF_DEFAULT_POLL_INTERVAL         120#define	OSPF_ACKNOWLEDGEMENT_INTERVAL		2#define	OSPF_ROUTING_TABLE_BUILD_INTERVAL	2  /* WAS 10 */#define	OSPF_MAXIMUM_PACKET_SIZE_FOR_VIRTUAL_LINK 	512	/* does not include the IP header */#define	OSPF_PACKET_SIZE ((ULONG) 24)#define	OSPF_HELLO_HEADER_SIZE ((ULONG) 20)#define	OSPF_DATABASE_HEADER_SIZE	((ULONG) 8)#define	OSPF_LS_HEADER_SIZE ((ULONG) 20)#define	OSPF_LS_UPDATE_HEADER_SIZE ((ULONG) 4)#define	OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER_SIZE ((ULONG) 24)#define	OSPF_NETWORK_LINK_ADVERTISEMENT_HEADER_SIZE ((ULONG) 24)#define	OSPF_SUMMARY_LINK_ADVERTISEMENT_HEADER_SIZE ((ULONG) 28)#define	OSPF_EXTERNAL_LINK_ADVERTISEMENT_HEADER_SIZE ((ULONG) 36)/*opaque lsa header size jkw*/#define	OSPF_TYPE_9_LINK_ADVERTISEMENT_HEADER_SIZE ((ULONG) 20)#define	OSPF_TYPE_10_LINK_ADVERTISEMENT_HEADER_SIZE ((ULONG) 20)#define	OSPF_TYPE_11_LINK_ADVERTISEMENT_HEADER_SIZE ((ULONG) 20)#define	OSPF_DB_PIECE_SIZE	((ULONG) 20)#define	OSPF_LS_REQUESTED_ADVERTISEMENT_SIZE ((ULONG) 12)#define	OSPF_ROUTER_LINK_PIECE_SIZE  ((ULONG) 12)#define	OSPF_NETWORK_LINK_PIECE_SIZE ((ULONG) 4)#define	OSPF_EXTERNAL_LINK_METRIC_PIECE_SIZE ((ULONG) 12)#define	OSPF_ROUTER_LINK_METRIC_PIECE_SIZE ((ULONG) 4)#define OSPF_HOST_NET_MASK 				0xFFFFFFFF#define	OSPF_ASE_bit_E	0x80000000#define	OSPF_AUTHENTICATION_NONE			0	/* No authentication */#define	OSPF_AUTHENTICATION_SIMPLE		1	/* Simple password */#define	OSPF_AUTHENTICATION_MD5			2	/* MD5 crypto checksum */#define	OSPF_AUTHENTICATION_SIMPLE_SIZE	8#define	OSPF_AUTHENTICATION_MD5_SIZE	16#define	OSPF_AUTHENTICATION_SIZE		16#define	OSPF_MD5_A_INIT	0x67452301#define	OSPF_MD5_B_INIT	0xefcdab89#define	OSPF_MD5_C_INIT	0x98badcfe#define	OSPF_MD5_D_INIT	0x10325476#define	OSPF_IF_MULTICAST_ALLSPF		0x100000	/* Joined All SPF group */#define	OSPF_IF_MULTICAST_ALLDR			0x200000	/* Joined All DR group */#define	OSPF_NUMBER_OF_INLINE_COMPUTATIONS		8#define	OSPF_MASK_FOR_UNEVEN_BITS					(OSPF_NUMBER_OF_INLINE_COMPUTATIONS - 1)#define	OSPF_INLINED_SHIFT							3#define	OSPF_FINAL_CHECKSUM_SHIFT					8#define	OSPF_NUMBER_OF_ITERATIONS_BEFORE_MOD	4096#define	OSPF_LOG2_OF_NUMBER_OF_ITERATIONS		12#define	OSPF_MOD_MASK									(OSPF_NUMBER_OF_ITERATIONS_BEFORE_MOD - 1)#define	OSPF_NUMBER_OF_INLINE_ITERATIONS		(OSPF_NUMBER_OF_ITERATIONS_BEFORE_MOD/OSPF_NUMBER_OF_INLINE_COMPUTATIONS)#define	OSPF_MODULUS									255#define OSPF_ENABLE_EXTERNAL_ROUTING 0x02#define OSPF_NOT_ENABLE_EXTERNAL_ROUTING 0x00#define OSPF_STARTING_AREA_ID_FOR_VIRTUAL_INTERFACE 0xff000000#define OSPF_CONVERT_IP_ADDRESS_TO_DOT_FORMAT_FOR_DEBUG ospf_convert_ip_address_to_dot_format#if defined __OSPF_DEBUG__	#define OSPF_PRINTF_PACKET ospf_printf	#define OSPF_PRINTF_INTERFACE ospf_printf	#define OSPF_PRINTF_NEIGHBOR ospf_printf	#define OSPF_PRINTF_MEMORY	ospf_printf	#define OSPF_PRINTF_DEBUG	ospf_printf	#define OSPF_DEBUG_PATRICIA_PRINTF ospf_printf	#define OSPF_PRINTF_PATRICIA_RT ospf_printf#else	#define OSPF_PRINTF_PACKET ospf_printf_stub	#define OSPF_PRINTF_INTERFACE ospf_printf_stub	#define OSPF_PRINTF_NEIGHBOR ospf_printf_stub	#define OSPF_PRINTF_MEMORY	ospf_printf_stub	#define OSPF_PRINTF_DEBUG	ospf_printf_stub	#define OSPF_PRINTF_PATRICIA_RT ospf_printf_stub#endif#define OSPF_PRINTF_ROUTING_TABLE ospf_printf#define OSPF_PRINTF_ALARM ospf_printf#define OSPF_PRINTF_SNMP ospf_printf#define OSPF_PRINTF_RTM ospf_printf#define OSPF_PRINTF_DB_OVERFLOW ospf_printf#define OSPF_PRINTF_SEARCH ospf_printf#define OSPF_PRINTF_PROLOGUE ospf_printf#define OSPF_CONVERT_IP_ADDRESS_TO_DOT_FORMAT_FOR_ALARM ospf_convert_ip_address_to_dot_format#define OSPF_CONVERT_IP_ADDRESS_TO_DOT_FORMAT_FOR_ROUTING_TABLE ospf_convert_ip_address_to_dot_format#define ROUTE_MATCH_WITH_ADDRESS_RANGE	1#define ROUTE_SUBSUMED_BY_ADDRESS_RANGE	2#define RANGE_STATUS_DO_NOT_ADVERTISE	3#if !defined (__BIT_FIELDS_CAN_BE_ENUMS__)	#if defined (_MSC_VER)		#define BIT_FIELD(enum_,enum_name) unsigned char	#else		#define BIT_FIELD(enum_,enum_name) UINT	#endif#endif#if defined BIT_FIELD#undef BIT_FIELD	#define BIT_FIELD(enum_,enum_name) unsigned char#endif#define MAXIMUM_IP_OPTION_LENGTH								40				/* Largest option field, bytes */#define	PRINT_BUFFER_SIZE	150#define NUMBER_OF_IP_PORTS		16 	/* Legacy Constant from old IP*/#define MAXIMUM_ETHERNET_DATA_SIZE 1500		/* Legacy Constant from old v8022str.h */#define RTM_HANDLE ULONG#if (_BYTE_ORDER == _LITTLE_ENDIAN ) /*#$-NOTE:note36-$#*/	#define ospf_min min#endif/*raw socket maximum receive ospf packet jkw*/#define MAX_BUFSIZE  8192/*raw socket end of change*/#define MAXSIZE_OSPF_AUTH_KEY    256L/* opaque lsa maximum opaque type lsas jkw */#define MAX_OPAQUE_NUM 3/* opaque lsa redefined for array index jkw */#define TYPE_9_LSA 1#define TYPE_10_LSA 2#define TYPE_11_LSA 3#define OSPF_OPAQUE_ALIGNMENT 4#define TYPE_7_LSA 7#define LS_EXTERNAL_LSA 1#define LS_TYPE_11_LSA 1/*RFC 1765*/#define OSPF_DEFAULT_EXTERNAL_LSDB_LIMIT -1;#define OSPF_DEFAULT_EXIT_OVERFLOW_TIMER 0;/* Traffic Engineering Extension Constants */#define OSPF_TE_ROUTER_ADDRESS_TLV_TYPE 1#define OSPF_TE_LINK_TLV_TYPE 2#define OSPF_TE_SUB_LINK_TYPE 1#define OSPF_TE_SUB_LINK_ID 2#define OSPF_TE_SUB_LOCAL_ADDRESS 3#define OSPF_TE_SUB_REMOTE_ADDRESS 4#define OSPF_TE_SUB_METRIC 5#define OSPF_TE_SUB_MAXIMUM_BANDWIDTH 6#define OSPF_TE_SUB_MAXIMUM_RESERVABLE_BANDWIDTH 7#define OSPF_TE_SUB_UNRESERVED_BANDWIDTH 8#define OSPF_TE_SUB_RESOURCE_CLASS_COLOR 9#define OSPF_TE_LINK_TYPE_PADDING 3#define	OSPF_1K_BLOCKS 1024#define OSPF_INPUT_TASK_STACK_SIZE (8 * OSPF_1K_BLOCKS)#define OSPF_TIMER_TASK_STACK_SIZE (6 * OSPF_1K_BLOCKS)#define OSPF_HELLO_TIMER_TASK_STACK_SIZE (6 * OSPF_1K_BLOCKS)#define OSPF_SPF_TASK_STACK_SIZE   (6 * OSPF_1K_BLOCKS)#define OSPF_RTM_TASK_STACK_SIZE   RTM_TASK_STACK_SIZE  /* defined in rtm_constants.h */ #if defined (__OSPF_MIB__)#define OSPF_MAPI_TASK_STACK_SIZE  (4 * OSPF_1K_BLOCKS)#endif (__OSPF_MIB__) #define OSPF_TIMER_TASK_PRIORITY   100#define OSPF_HELLO_TIMER_TASK_PRIORITY  90#define OSPF_INPUT_TASK_PRIORITY     100#if defined (__OSPF_MIB__)#define OSPF_MAPI_TASK_PRIORITY    150#endif (__OSPF_MIB__)#define OSPFV3_TASK_NAME_SIZE   11 /* 10 chars + null terminator *//* SPR 83418 -- Begin */#define OSPF_EXTERNAL_METRIC_TYPE_1 1#define OSPF_EXTERNAL_METRIC_TYPE_2 2#define OSPF_EXTERNAL_DEFAULT_METRIC 20/* SPR 83418 -- End *//* SPR 85432 -- Begin */#define OSPF_CLEANUP_INTERVAL  (60 * 30)    /* 30 minutes */#define MAX_EXTERNAL_ROUTES_PROCESSED 250/* SPR 85432 -- End *//* Size of maximum ospf pkt to be sent by ospf_vx_ip_output().    If you changed this const make sure the calling task has enough stack   size. */#define OSPF_MAX_PKT_SIZE           MAXIMUM_ETHERNET_DATA_SIZE#ifdef INCLUDE_TMS_MODS#define OSPF_MAXIMUM_FILE_SIZE          512#else#define OSPF_MAXIMUM_FILE_SIZE          4000#endif /* INCLUDE_TMS_MODS */#define OSPF_RAMDRIVE_VOLUME_NAME       "DEV1:"#define OSPF_CONFIGURATION_FILE_NAME    "config"#if defined (__VxDEBUG__)        #define TRACE                   printf        #define LOG                     logMsg#else        #define TRACE        #define LOG#endif /*__VxDEBUG__*/#endif /* _OSPF_CONSTANTS_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -