Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1998, Microsoft Corporation
Module: msdp\msdprm.h
Abstract: Contains type definitions and declarations for MSDP, used by the IP Router Manager.
Revistion History: Dave Thaler May-21-1999 Created. --*/
#ifndef _MSDPRM_H_
#define _MSDPRM_H_
//---------------------------------------------------------------------------
// CONSTANT DECLARATIONS
//---------------------------------------------------------------------------
#define MSDP_CONFIG_VERSION_500 500
//---------------------------------------------------------------------------
// constants identifying MSDP's MIB tables
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// constants used for the field MSDP_GLOBAL_CONFIG::LoggingLevel
//---------------------------------------------------------------------------
#define MSDP_LOGGING_NONE 0
#define MSDP_LOGGING_ERROR 1
#define MSDP_LOGGING_WARN 2
#define MSDP_LOGGING_INFO 3
//---------------------------------------------------------------------------
// STRUCTURE DEFINITIONS
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// struct: MSDP_IPV4_PEER_CONFIG
//
// This MIB entry describes per-peer configuration.
// All IP address fields must be in network order.
//---------------------------------------------------------------------------
#define MSDP_PEER_CONFIG_KEEPALIVE 0x01
// unused 0x02
#define MSDP_PEER_CONFIG_CONNECTRETRY 0x04
#define MSDP_PEER_CONFIG_CACHING 0x08
#define MSDP_PEER_CONFIG_DEFAULTPEER 0x10
#define MSDP_PEER_CONFIG_PASSIVE 0x20 // derived flag
#define MSDP_ENCAPS_NONE 0
#define MSDP_ENCAPS_TCP 1
#define MSDP_ENCAPS_UDP 2
#define MSDP_ENCAPS_GRE 3
#define MSDP_ENCAPS_DEFAULT MSDP_ENCAPS_NONE
typedef struct _MSDP_IPV4_PEER_CONFIG { IPV4_ADDRESS ipRemoteAddress; IPV4_ADDRESS ipLocalAddress;
// Or'ing of the flags listed above
DWORD dwConfigFlags;
ULONG ulKeepAlive; ULONG ulConnectRetry;
DWORD dwEncapsMethod; } MSDP_IPV4_PEER_CONFIG, *PMSDP_IPV4_PEER_CONFIG;
#define MSDP_STATE_IDLE 0
#define MSDP_STATE_CONNECT 1
#define MSDP_STATE_ACTIVE 2
#define MSDP_STATE_OPENSENT 3
#define MSDP_STATE_OPENCONFIRM 4
#define MSDP_STATE_ESTABLISHED 5
typedef struct _MSDP_IPV4_PEER_ENTRY { MSDP_IPV4_PEER_CONFIG;
DWORD dwState; ULONG ulRPFFailures; ULONG ulInSAs; ULONG ulOutSAs; ULONG ulInSARequests; ULONG ulOutSARequests; ULONG ulInSAResponses; ULONG ulOutSAResponses; ULONG ulInControlMessages; ULONG ulOutControlMessages; ULONG ulInDataPackets; ULONG ulOutDataPackets; ULONG ulFsmEstablishedTransitions; ULONG ulFsmEstablishedTime; ULONG ulInMessageElapsedTime; } MSDP_IPV4_PEER_ENTRY, *PMSDP_IPV4_PEER_ENTRY;
//----------------------------------------------------------------------------
// struct: MSDP_GLOBAL_CONFIG
//
// This MIB entry stores global configuration for MSDP
// There is only one instance, so this entry has no index.
//
//---------------------------------------------------------------------------
#define MSDP_GLOBAL_FLAG_ACCEPT_ALL 0x01
#define MSDP_MIN_CACHE_LIFETIME 90
typedef struct _MSDP_GLOBAL_CONFIG { // Fields duplicated in the CONFIGURATION_ENTRY struct
DWORD dwLoggingLevel; // pce->dwLogLevel
DWORD dwFlags; ULONG ulDefKeepAlive; ULONG ulDefConnectRetry; // pTpi->usDefaultConnectRetryInterval
// Protocol-specific fields
ULONG ulCacheLifetime; ULONG ulSAHolddown; } MSDP_GLOBAL_CONFIG, *PMSDP_GLOBAL_CONFIG;
typedef struct _MSDP_GLOBAL_ENTRY { MSDP_GLOBAL_CONFIG; DWORD dwEnabled; // XXX not yet implemented
ULONG ulNumSACacheEntries; HANDLE hSAAdvTimer; DWORD dwRouterId; } MSDP_GLOBAL_ENTRY, *PMSDP_GLOBAL_ENTRY;
typedef struct _MSDP_REQUESTS_ENTRY { IPV4_ADDRESS ipGroup; IPV4_ADDRESS ipMask; IPV4_ADDRESS ipPeer; } MSDP_REQUESTS_ENTRY, *PMSDP_REQUESTS_ENTRY;
typedef struct _MSDP_REQUESTS_TABLE { DWORD dwNumEntries; MSDP_REQUESTS_ENTRY table[ANY_SIZE]; }MSDP_REQUESTS_TABLE, *PMSDP_REQUESTS_TABLE;
typedef struct _MSDP_SA_CACHE_ENTRY { IPV4_ADDRESS ipGroupAddr; IPV4_ADDRESS ipSourceAddr; IPV4_ADDRESS ipOriginRP; IPV4_ADDRESS ipPeerLearnedFrom; IPV4_ADDRESS ipRPFPeer; ULONG ulInSAs; ULONG ulInDataPackets; ULONG ulUpTime; ULONG ulExpiryTime; } MSDP_SA_CACHE_ENTRY, *PMSDP_SA_CACHE_ENTRY;
typedef struct _MSDP_SA_CACHE_TABLE { DWORD dwNumEntries; MSDP_SA_CACHE_ENTRY table[ANY_SIZE]; }MSDP_SA_CACHE_TABLE, *PMSDP_SA_CACHE_TABLE;
//---------------------------------------------------------------------------
// MACRO DECLARATIONS
//---------------------------------------------------------------------------
//----------------------------------------
// constants identifying MSDP's MIB tables
#define MIBID_MSDP_GLOBAL 0
#define MIBID_MSDP_REQUESTS_ENTRY 1
#define MIBID_MSDP_IPV4_PEER_ENTRY 2
#define MIBID_MSDP_SA_CACHE_ENTRY 3
#endif // _MSDPRM_H_
|