📄 ospf_enums.h
字号:
/* ospf_enums.h - OSPF enums *//* Copyright 2000-2003 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------02e,18aug03,agi removed OSPF_MD_ALGORITHM, OSPF now uses common code added copyright02d,29may03,agi added OSPF_MD_ALGORITHM02c,27may03,agi removed the SPF task, added code inspection changes02b,09may03,agi added OSPF tasks related enums02a,22apr03,ram SPR#76812 Modifications for OSPF performance enhancements01v,19nov02,mwv Merge TMS code SPR 8428401u,09apr02,jkw Sequence number wrap.01t,23jul01,jkw Added in routine to delete items in a container and the container.01s,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,04aug98,jack Enum types added in the definition of OSPF_LS_TYPE to facilitate processing of flags in LS_ROUTER - Added OSPF_LS_ROUTER_ABR and OSPF_LS_ROUTER_ASBR01f,08jul98,jack Patricia RT table related changes - need to be tested01e,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_ENUMS_H_)#define _OSPF_ENUMS_H_enum OSPF_RETURN_FLAGS{ OSPF_NO_PROBLEM = 0x0, OSPF_NO_BUFFERS = 0x1, OSPF_BAD_REQUEST = 0x2};enum OSPF_UNION_PACKET_TYPES{ OSPF_HELLO_PACKET = 0x01, OSPF_DATABASE_DESCRIPTION_PACKET = 0x02, OSPF_LINK_STATE_REQUEST_PACKET = 0x03, OSPF_LINK_STATE_UPDATE_PACKET = 0x04, OSPF_LINK_STATE_ACKNOWLEDGEMENT_PACKET = 0x05};enum OSPF_PACKET_STATE{ GOOD_RECEIVE = 0x00, OSPF_ERROR_ACKNOWLEDGEMENT_BAD = 0x01, OSPF_ERROR_ACKNOWLEDGEMENT_DUPLICATE = 0x02, OSPF_ERROR_ACKNOWLEDGEMENT_STATE = 0x03, OSPF_ERROR_ACKNOWLEDGEMENT_TYPE = 0x04, OSPF_ERROR_DATABASE_DESCRIPTION_E_BIT = 0x05, OSPF_ERROR_DATABASE_DESCRIPTION_ROUTER_ID = 0x06, OSPF_ERROR_DATABASE_DESCRIPTION_STATE = 0x07, OSPF_ERROR_DATABASE_DESCRIPTION_TYPE = 0x08, OSPF_ERROR_HELLO_E_BIT = 0x09, OSPF_ERROR_HELLO_ID = 0x0a, OSPF_ERROR_HELLO_MASK = 0x0b, OSPF_ERROR_HELLO_ROUTER_DEAD_INTERVAL = 0x0c, OSPF_ERROR_HELLO_TIMER = 0x0d, OSPF_ERROR_HELLO_VIRTUAL = 0x0e, OSPF_ERROR_OSPF_AUTHENTICATION_KEY = 0x0f, OSPF_ERROR_OSPF_AUTHENTICATION_TYPE = 0x10, OSPF_ERROR_OSPF_INTERFACE_DOWN = 0x11, OSPF_ERROR_OSPF_PACKET_TYPE = 0x12, OSPF_ERROR_REQUEST_BOGUS = 0x13, OSPF_ERROR_REQUEST_EMPTY = 0x14, OSPF_ERROR_UPDATE_STATE = 0x15, STOP_PROCESSING_PACKET = 0x16, /* nssa bit */ OSPF_ERROR_HELLO_N_BIT = 0x17, OSPF_ERROR_DATABASE_DESCRIPTION_N_BIT = 0x18, /*opaque lsa error option jkw*/ OSPF_ERROR_OPAQUE_OPTION = 0x19, OSPF_ERROR_DATABASE_DESCRIPTION_MTU_MISMATCH = 0x1a};enum OSPF_NEIGHBOR_EVENT{ OSPF_HELLO_RECEIVED = 0x0000, OSPF_START = 0x01, OSPF_TWO_WAY_RECEIVED = 0x02, OSPF_NEGOTIATION_DONE = 0x03, OSPF_EXCHANGE_DONE = 0x04, OSPF_BAD_LINK_STATE_REQUEST = 0x05, OSPF_LOADING_DONE = 0x06, OSPF_ADJACENCY_OK = 0x07, OSPF_SEQUENCE_NUMBER_MISMATCH = 0x08, OSPF_ONE_WAY = 0x09, OSPF_KILL_NEIGHBOR = 0x0a, OSPF_INACTIVITY_TIMER = 0x0b, OSPF_DOWN_INDICATION_FROM_LOWER_LEVEL_PROTOCOLS_RECEIVED = 0x0c};enum OSPF_NEIGHBOR_MODE{ OSPF_CLEAR_MODE = 0x00, OSPF_SLAVE = 0x01, OSPF_MASTER = 0x02, OSPF_SLAVE_HOLD = 0x04 /* holding the last database summary delay */};enum OSPF_NEIGHBOR_STATE{ OSPF_NEIGHBOR_DOWN = 0x00, OSPF_NEIGHBOR_ATTEMPT = 0x01, OSPF_NEIGHBOR_INITIALIZING = 0x02, OSPF_NEIGHBOR_2_WAY = 0x03, OSPF_NEIGHBOR_EXCHANGE_START = 0x04, OSPF_NEIGHBOR_EXCHANGE = 0x05, OSPF_NEIGHBOR_LOADING = 0x06, OSPF_NEIGHBOR_FULL = 0x07};enum OSPF_INTERFACE_EVENT{ OSPF_INTERFACE_UP = 0x00, OSPF_WAIT_TIMER = 0x01, OSPF_BACKUP_SEEN = 0x02, OSPF_NEIGHBOR_CHANGE = 0x03, OSPF_LOOP_INDICATION = 0x04, OSPF_UNLOOP_INDICATION = 0x05, OSPF_INTERFACE_DOWN = 0x06};enum OSPF_INTERFACE_STATE{ OSPF_INTERFACE_IS_DOWN = 0x00, OSPF_INTERFACE_LOOPBACK = 0x01, OSPF_INTERFACE_WAITING = 0x02, OSPF_INTERFACE_POINT_TO_POINT = 0x03, OSPF_INTERFACE_DESIGNATED_ROUTER_OTHER = 0x04, OSPF_INTERFACE_BACKUP_DESIGNATED_ROUTER = 0x05, OSPF_INTERFACE_DESIGNATED_ROUTER = 0x06};enum OSPF_INTERFACE_TYPE{ OSPF_POINT_TO_POINT = 0x01, OSPF_BROADCAST = 0x02, OSPF_NBMA = 0x03, OSPF_POINT_TO_MULTIPOINT = 0x04, OSPF_VIRTUAL_LINK = 0x05};enum OSPF_SEQUENCE_STATE{ OSPF_NORMAL = 0x00, OSPF_WAITING_FOR_MAXIMUM_SEQUENCE_INSTANCE_TO_BE_FLUSHED = 0x01, OSPF_DONE_FLUSHING_MAXIMUM_SEQUENCE_INSTANCE = 0x02};/* Link State Types */enum OSPF_LS_TYPE{ OSPF_LS_ROUTER = 0x01, OSPF_LS_NETWORK = 0x02, OSPF_LS_SUMMARY_NETWORK = 0x03, OSPF_LS_SUMMARY_AS_BOUNDARY_ROUTER = 0x04, OSPF_LS_AS_EXTERNAL = 0x05, /* Interpretation flags in LS_ROUTER for Routers convenience */#if defined (__NSSA__) OSPF_LS_MULTICAST = 0x06, OSPF_LS_TYPE_7 = 0x07,#endif /* __NSSA__ */ /*opaque lsa new lsa types jkw*/#if defined (__OPAQUE_LSA__) OSPF_LS_TYPE_9 = 0x09, OSPF_LS_TYPE_10 = 0x0a, OSPF_LS_TYPE_11 = 0x0b, OSPF_LS_MAX = 0x0c,#else /* __OPAQUE_LSA__ */ OSPF_LS_MAX = 0x08,#endif /* __OPAQUE_LSA__ */ OSPF_LS_ROUTER_ABR = 0x0d, OSPF_LS_ROUTER_ASBR = 0x0e};enum OSPF_ROUTER_LINK_TYPE{ OSPF_ROUTER_LINK_TYPE_PPP = 0x1, OSPF_ROUTER_LINK_TYPE_TRANSIT_NETWORK = 0x2, OSPF_ROUTER_LINK_TYPE_STUB_NETWORK = 0x3, OSPF_ROUTER_LINK_TYPE_VIRTUAL = 0x4};enum OSPF_ACKNOWLEDGEMENT_RETURN_TYPE{ OSPF_NO_ACKNOWLEDGEMENTS_LEFT = 0x00, OSPF_ACKNOWLEDGEMENTS_LEFT = 0x01};enum OSPF_ROUTING_TABLE_UPDATE_ACTION{ OSPF_NO_ACTION = 0x00, OSPF_REPLACE_PATH = 0x01, OSPF_ADD_PATH = 0x02, OSPF_DELETE_PATH = 0x03 /* RTM ### changes */};enum OSPF_ROUTE_STATUS{ /* No new data under a routing table node or next_hop_block */ OSPF_ROUTE_IS_NOT_NEW = 0x00, /* * New data under a routing table node or next_hop_block. * can be a new next hop block under a routing table node or a new routing table node. * or an old next hop block is not available any more. */ OSPF_ROUTE_IS_NEW = 0x01, /* * This routing table node or next block is no longer available */ OSPF_ROUTE_IS_NOT_AVAILABLE_NOW = 0x02, /* * doesn't matter */ OSPF_ROUTE_STATUS_DONT_CARE = 0x03};enum OSPF_ROUTE_DESTINATION_TYPE{ OSPF_DESTINATION_TYPE_NETWORK = 0x00, OSPF_DESTINATION_TYPE_ASBR = 0x01, /* autonomous system border router */ OSPF_DESTINATION_TYPE_ABR = 0x02, /* area border router */ OSPF_DESTINATION_TYPE_VIRTUAL = 0x03, OSPF_DESTINATION_TYPE_ASE = 0x04, /* external to the autonomous system */ OSPF_DESTINATION_TYPE_WILDCARD = 0xFF};enum OSPF_ROUTE_PATH_TYPE{ OSPF_ROUTE_PATH_TYPE_INTRA = 0x00, OSPF_ROUTE_PATH_TYPE_INTER = 0x01, OSPF_ROUTE_PATH_TYPE_1_EXTERNAL = 0x02, OSPF_ROUTE_PATH_TYPE_2_EXTERNAL = 0x03, OSPF_ROUTE_PATH_TYPE_WILDCARD = 0xFF};enum OSPF_COUNTER_ACTION_TYPE{ OSPF_INCREMENT_COUNTERS = 0x0, OSPF_DECREMENT_COUNTERS = 0x1};enum OSPF_PRINTF_GROUPS{ OSPF_INTERFACE_PRINTF = 0x0, OSPF_NEIGHBOR_PRINTF = 0x1, OSPF_MEMORY_PRINTF = 0x2, OSPF_ALARM_PRINTF = 0x3, OSPF_SNMP_PRINTF = 0x4, OSPF_PACKET_PRINTF = 0x5, OSPF_ROUTING_TABLE_PRINTF = 0x6, OSPF_DEBUG_PRINTF = 0x7, OSPF_RTM_PRINTF = 0x08, OSPF_PATRICIA_DEBUG_PRINTF = 0x09, OSPF_DB_OVERFLOW_PRINTF = 0x0A, OSPF_SEARCH_PRINTF = 0x0B, OSPF_PROLOGUE_PRINTF = 0x0C};enum OSPF_SEARCH_TYPE{ OSPF_SEARCH_LSA_TYPE = 0x01, OSPF_SEARCH_LSA_ID = 0x02, OSPF_SEARCH_ADVERTISING_ROUTER = 0x03};enum OSPF_MODE{ PASSIVE = 0x00, ACTIVE = 0x01};typedef signed long seq_t; /* signed 32 bit number */typedef enum { OSPFINVALDLSSEQ = 0x80000000L, /* Invalid LS sequence number (reserved or unused) */ OSPFINITLSSEQ = 0x80000001L, /* Initial LS Sequence value */ OSPFMAXLSSEQ = 0x7fffffffL, /* Maximum LS Sequence value */ OSPFLSINVALID = 0x80000000L /* Invalid LS Sequence value */} SEQNO_T;/* SPR#76812 *//* used for routing table indexing*/enum OSPF_ROUTE_TABLE_TYPE{ OSPF_ROUTE_TABLE_NETWORK = 0x00, OSPF_ROUTE_TABLE_ROUTER = 0x01, OSPF_ROUTE_TABLE_MAX = 0x02};typedef enum { OSPF_TASK_STATE_NOT_CREATED = 0, OSPF_TASK_STATE_CREATED, OSPF_TASK_STATE_INIT_COMPLETE, OSPF_TASK_STATE_RUNNING} OSPF_TASK_STATES;typedef enum{ OSPF_TASK_TIMER, OSPF_TASK_HELLO_TIMER, OSPF_TASK_INPUT, OSPF_TASK_RTM, OSPF_NUM_TASKS} OSPF_TASKS;#endif /* _OSPF_ENUMS_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -