Files
vxWorks/h/wrn/ospf/ospf_mib_wrn_helper.h
2025-08-20 18:25:46 +08:00

358 lines
17 KiB
C

/* ospf_mib_wrn_helper.h - header file for WindNet OSPF Enterprise MIB */
/* Copyright 1998-2003 Wind River, Inc. */
#include "copyright_wrs.h"
/*
modification history
--------------------
03l,07jan05,xli porting external route redistribution feature from ospf2.3.1
01v,29jan04,ram NBMA, PTMP, & Unnumbered modifications
01u,08dec03,agi merged fixes from OSPF 2.1 patch branch, updated copyright
01t,28may03,kc Fixed SPR#88863 - Added wrnOspfRedistributionTable support.
01s,27may03,kc Fixed wrnOspf2Mapi_if_create() prototype. All defines should
appear after the enumerations.
01r,27may03,kc Fixed SPR#88309 - added asBdrStatusChanged argument to the
mApi2Ospf_configRedistributeOpts() prototype.
01q,19nov02,mwv Merge TMS code SPR 84284
01p,09aug02,kc Added createdAs member to mApiWrnOspfIf_t structure.
01o,08may03,kc Fixed SPR#88309 - added asBdrStatusChanged argument to the
mApi2Ospf_configRedistributeOpts() prototype.
01n,18apr02,kc Fixed SPR #74432 - Added mApi2Ospf_configRedistributeOpts() prototype.
01m,15feb02,kc Merged changes for wrnOspfIfTable support for unnumbered interface.
01l,04feb02,kc Added wrnOspfRedistributeDefaultRoutes, wrnOspfRedistributeStaticRoutes,
wrnOspfRedistributeRIPRoutes and wrnOspfRedistributeBGPRoutes scalar
objects enumeration values and definitions.
01k,16jan02,kc Added prototypes for wrnOspf2Mapi_lsdb_create(),
wrnOspf2Mapi_localLsdb_create() and wrnOspf2Mapi_extLsdb_create().
01j,17dec01,kc Added wrnOspf_mApi_flushAllLsas() prototype.
01i,14dec01,kc Added wrnOspf_mApi_areaDelete() prototype.
01h,14dec01,kc Added resetAllToDefault boolean flag argument to
wrnOspf_mApi_initGeneralGroup().
01g,28nov01,kc Changed wrnOspfLsdbAdvertisement, wrnOspfLocalLsdbAdvertisement and
wrnOspfExtLsdbAdvertisement from uchar_t to char.
01f,23oct01,kc Changed wrnOspfLsdbAge, wrnOspfLsdbChecksum, wrnOspfLocalLsdbAge,
wrnOspfLocalLsdbChecksum, wrnOspfExtLsdbAge and wrnOspfExtLsdbChecksum
from ushort_t to ulong_t.
01e,21oct01,kc Added mApi2Ospf_configWrnGenGroup() prototype.
01d,16oct01,kc Added the missing AVL_NODE member to each mApiWrnOspfXXX_t.
01c,13oct01,kc Added various wrnOspf2Mapi_xxx_delete() prototypes.
01b,13oct01,kc Added various wrnOspf2Mapi_xxx_update() prototypes.
01a,15aug01,kc Initial file creation.
*/
/*
DESCRIPTION
This file defines the WindNet OSPF Enterprise MIB specific Management Interface
Local ID enumerations, the MIB object enumerations, the MIB object sizes and
some function prototypes.
INCLUDE FILES: N/A
*/
#ifndef __INCospf_mib_wrn_helperh
#define __INCospf_mib_wrn_helperh
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* Defines */
/*****************************************************************************
* Management Interface Local ID enumerations for WindNet OSPF Enterprise MIB.
*/
typedef enum {
mApiWrnOspfRFC1583Compatibility = 1,
mApiWrnOspfOpaqueLsaSupport,
mApiWrnOspfOriginateNewOpaqueLsas,
mApiWrnOspfRxNewOpaqueLsas,
mApiWrnOspfType9LsaCount,
mApiWrnOspfType9LsaCksumSum,
mApiWrnOspfType11LsaCount,
mApiWrnOspfType11LsaCksumSum,
mApiWrnOspfRedistributeDefaultRoutes,
mApiWrnOspfRedistributeStaticRoutes,
mApiWrnOspfRedistributeRIPRoutes,
mApiWrnOspfRedistributeBGPRoutes,
mApiWrnOspfRedistributeLocalRoutes,
mApiWrnOspfPtpRouterLsaOption,
mApiWrnOspfAreaId, /* mApiWrnOspf_t enumeration value = 15 */
mApiWrnOspfAreaType10LsaCount,
mApiWrnOspfAreaType10LsaCksumSum,
mApiWrnOspfLsdbAreaId, /* mApiWrnOspf_t enumeration value = 18 */
mApiWrnOspfLsdbType,
mApiWrnOspfLsdbLsid,
mApiWrnOspfLsdbRouterId,
mApiWrnOspfLsdbSequence,
mApiWrnOspfLsdbAge,
mApiWrnOspfLsdbChecksum,
mApiWrnOspfLsdbAdvertisement,
mApiWrnOspfLocalLsdbAreaId, /* mApiWrnOspf_t enumeration value = 26 */
mApiWrnOspfLocalLsdbIpAddress,
mApiWrnOspfLocalLsdbType,
mApiWrnOspfLocalLsdbLsid,
mApiWrnOspfLocalLsdbRouterId,
mApiWrnOspfLocalLsdbSequence,
mApiWrnOspfLocalLsdbAge,
mApiWrnOspfLocalLsdbChecksum,
mApiWrnOspfLocalLsdbAdvertisement,
mApiWrnOspfExtLsdbType, /* mApiWrnOspf_t enumeration value = 35 */
mApiWrnOspfExtLsdbLsid,
mApiWrnOspfExtLsdbRouterId,
mApiWrnOspfExtLsdbSequence,
mApiWrnOspfExtLsdbAge,
mApiWrnOspfExtLsdbChecksum,
mApiWrnOspfExtLsdbAdvertisement,
mApiWrnOspfIfDstIpAddress, /* mApiWrnOspf_t enumeration value = 42 */
mApiWrnOspfIfIndex,
mApiWrnOspfIfStatus,
mApiWrnOspfRedistributionRouteType, /* mApiWrnOSPF_t enumeration value = 45 */
mApiWrnOspfRedistributionSubnet,
mApiWrnOspfRedistributionMask,
mApiWrnOspfRedistributionType,
mApiWrnOspfRedistributionMetric,
mApiWrnOspfRedistributionStatus,
mApiWrnOspfLocalIfPassive, /* mApiWrnOSPF_t enumeration value = 51 */
mApiWrnOspfToIpRouteSubnet, /* mApiWrnOspf_t enumberation value = 52 */
mApiWrnOspfToIpRouteMask,
mApiWrnOspfToIpRouteWeight,
mApiWrnOspfToIpRouteStatus,
mApiWrnOspfMaxLocalIds /* 56 - Number of objects in wrnOspf */
} mApiWrnOspf_t;
/****************************************************************************
* Management Interface WindNet OSPF Enterprise MIB object enumerations.
*/
typedef enum {
EmApiWrnOspfLsdbType_areaOpaqueLink = 10,
EmApiWrnOspfLocalLsdbType_localOpaqueLink = 9,
EmApiWrnOspfExtLsdbType_asOpaqueLink = 11
} mApiWrnOspfOpaqueType_t;
typedef enum {
EmApiWrnOspfPtpRouterLsaOption_1 = 1,
EmApiWrnOspfPtpRouterLsaOption_2 = 2
} mApiWrnOspfPtpRouterLsaOption_t;
typedef enum {
EwrnOspfRedistribRouteType_default = 1,
EwrnOspfRedistribRouteType_static = 2,
EwrnOspfRedistribRouteType_rip = 3,
EwrnOspfRedistribRouteType_bgp = 4,
EwrnOspfRedistribRouteType_local = 5
} mApiWrnOspfRedistribRouteType_t;
typedef enum {
EwrnOspfRedistribType_externalType1 = 1,
EwrnOspfRedistribType_externalType2 = 2
} mApiWrnOspfRedistribType_t;
/****************************************************************************
* Management Interface WindNet OSPF Enterprise MIB Definitions.
*/
/* the following defines provides the number of sub-identifier (the instance length)
* of each table in the WRN OSPF Enterprise MIB.
*/
#define MAX_OSPF_WEIGHT_VALUE 255L
#define OSPF_LOCAL_LSDB_INSTANCE_LEN 17
#define OSPF_WRN_INTF_INSTANCE_LEN 4
#define OSPF_WRN_REDISTRIBUTION_INSTANCE_LEN 9
#define OSPF_WRN_TO_IP_ROUTE_INSTACE_LEN 8
/* WRN-OSPF Enterprise MIB default values */
#define DEFVAL_mApiWrnOspfRedistribType EwrnOspfRedistribType_externalType2
#define DEFVAL_mApiWrnOspfRedistribMetric 20
#define DEFVAL_mApiWrnOspfToIpRouteWeight 110
/****************************************************************************
* Management Interface WindNet OSPF Enterprise MIB Data Structure.
*/
typedef struct mApiWrnOspfGenGroup
{
mApiOspfTrueValue_t wrnOspfRFC1583Compatibility; /* read-write */
mApiOspfTrueValue_t wrnOspfOpaqueLsaSupport; /* read-write */
ulong_t wrnOspfOriginateNewOpaqueLsas; /* read-only */
ulong_t wrnOspfRxNewOpaqueLsas; /* read-only */
ulong_t wrnOspfType9LsaCount; /* read-only */
ulong_t wrnOspfType9LsaCksumSum; /* read-only */
ulong_t wrnOspfType11LsaCount; /* read-only */
ulong_t wrnOspfType11LsaCksumSum; /* read-only */
mApiOspfTrueValue_t wrnOspfRedistributeDefaultRoutes; /* read-write */
mApiOspfTrueValue_t wrnOspfRedistributeStaticRoutes; /* read-write */
mApiOspfTrueValue_t wrnOspfRedistributeRIPRoutes; /* read-write */
mApiOspfTrueValue_t wrnOspfRedistributeBGPRoutes; /* read-write */
mApiOspfTrueValue_t wrnOspfRedistributeLocalRoutes; /* read-write */
ushort_t wrnOspfPtpRouterLsaOption; /* read-write */
} mApiWrnOspfGenGroup_t;
/* Type-10 Opaque LSA cumulative statistics contained in an Area */
typedef struct mApiWrnOspfArea
{
AVL_NODE node; /* AVL Tree node */
ulong_t wrnOspfAreaId; /* index object, read-only */
ulong_t wrnOspfAreaType10LsaCount; /* read-only */
ulong_t wrnOspfAreaType10LsaCksumSum; /* read-only */
} mApiWrnOspfArea_t;
/* Type-10 Opaque LSA, have an area-local scope */
typedef struct mApiWrnOspfLsdb
{
AVL_NODE node; /* AVL Tree node */
ulong_t wrnOspfLsdbAreaId; /* index object, read-only */
mApiWrnOspfOpaqueType_t wrnOspfLsdbType; /* index object, read-only */
ulong_t wrnOspfLsdbLsid; /* index object, read-only */
ulong_t wrnOspfLsdbRouterId; /* index object, read-only */
long wrnOspfLsdbSequence; /* read-only */
ulong_t wrnOspfLsdbAge; /* read-only */
ulong_t wrnOspfLsdbChecksum; /* read-only */
char *wrnOspfLsdbAdvertisement; /* read-only */
ushort_t lsdbLen; /* length of wrnOspfLsdbAdvertisement */
} mApiWrnOspfLsdb_t;
/* Type-9 Opaque LSA, have a link-local scope */
typedef struct mApiWrnOspfLocalLsdb
{
AVL_NODE node; /* AVL Tree node */
ulong_t wrnOspfLocalLsdbAreaId; /* index object, read-only */
ulong_t wrnOspfLocalLsdbIpAddress; /* index object, read-only */
mApiWrnOspfOpaqueType_t wrnOspfLocalLsdbType; /* index object, read-only */
ulong_t wrnOspfLocalLsdbLsid; /* index object, read-only */
ulong_t wrnOspfLocalLsdbRouterId; /* index object, read-only */
long wrnOspfLocalLsdbSequence; /* read-only */
ulong_t wrnOspfLocalLsdbAge; /* read-only */
ulong_t wrnOspfLocalLsdbChecksum; /* read-only */
char *wrnOspfLocalLsdbAdvertisement; /* read-only */
ushort_t lsdbLen; /* length of wrnOspfLocalLsdbAdvertisement */
} mApiWrnOspfLocalLsdb_t;
/* Type-11 Opaque LSA, have an Autonomous system-wide scope */
typedef struct mApiWrnOspfExtLsdb
{
AVL_NODE node; /* AVL Tree node */
mApiWrnOspfOpaqueType_t wrnOspfExtLsdbType; /* index object, read-only */
ulong_t wrnOspfExtLsdbLsid; /* index object, read-only */
ulong_t wrnOspfExtLsdbRouterId; /* index object, read-only */
long wrnOspfExtLsdbSequence; /* read-only */
ulong_t wrnOspfExtLsdbAge; /* read-only */
ulong_t wrnOspfExtLsdbChecksum; /* read-only */
char *wrnOspfExtLsdbAdvertisement; /* read-only */
ushort_t lsdbLen; /* length of wrnOspfExtLsdbAdvertisement */
} mApiWrnOspfExtLsdb_t;
/* objects associated with wrnOspfIfTable */
typedef struct mApiWrnOspfIf
{
AVL_NODE node; /* AVL Tree node */
rsAction_t createdAs; /* the method this row is created */
ulong_t wrnOspfIfDstIpAddress; /* index object, read-only */
ulong_t wrnOspfIfIndex; /* read-only */
mApiOspfRowStatus_t wrnOspfIfStatus; /* read-create */
} mApiWrnOspfIf_t;
/* objects associated with wrnOspfRedistributionTable */
typedef struct mApiWrnOspfRedistribution
{
AVL_NODE node; /* AVL Tree node */
rsAction_t createdAs; /* the method this row is created */
mApiWrnOspfRedistribRouteType_t wrnOspfRedistribRouteType; /* index object, read-only */
ulong_t wrnOspfRedistribSubnet; /* index object, read-only */
ulong_t wrnOspfRedistribMask; /* index object, read-only */
mApiWrnOspfRedistribType_t wrnOspfRedistribType; /* read-create */
ulong_t wrnOspfRedistribMetric; /* read-create */
mApiOspfRowStatus_t wrnOspfRedistribStatus; /* read-create */
} mApiWrnOspfRedistrib_t;
typedef struct mApiWrnOspf2IpRoute
{
AVL_NODE node; /* AVL Tree node */
rsAction_t createdAs; /* the method this row is created */
ulong_t wrnOspfToIpRouteSubnet; /* index object, read-only */
ulong_t wrnOspfToIpRouteMask; /* index object, read-only */
ulong_t wrnOspfToIpRouteWeight; /* read-create */
mApiOspfRowStatus_t wrnOspfToIpRouteStatus; /* read-create */
BOOL searchIpRouteTbl; /* if set, search IP Routing Table */
} mApiWrnOspf2IpRoute_t;
/****************************************************************************
* Management Interface WindNet OSPF Enterprise MIB Function Prototypes.
*/
/* wrnOspfGeneralGroup helper routines */
IMPORT STATUS wrnOspf_mApi_globalParmGet( mApiWrnOspfGenGroup_t *thisGenGroup,
mApiRequest_t *pRequest,
mApiObject_t *pObject );
IMPORT STATUS wrnOspf_mApi_globalParmSet( mApiRequest_t *pRequest, mApiObject_t *pObject,
mApiReqType_t reqType );
IMPORT STATUS mApi2Ospf_configWrnGenGroup( void *pGenParams );
IMPORT void mApi2Ospf_configRedistributeOpts( void *pGenParams, BOOL asBdrStatusChanged );
/* wrnOspfAreaTable helper routines */
IMPORT STATUS wrnOspf_mApi_areaHelperGet( void *pRow, mApiRequest_t *pRequest,
mApiObject_t *pObject );
IMPORT void wrnOspf2Mapi_area_update( void *pOspfReqBuf );
IMPORT void wrnOspf_mApi_areaDelete( ulong_t wrnOspfAreaId );
/* clean up routines for wrn-ospf enterprise mib */
IMPORT void wrnOspf_mApi_flushAllLsas( BOOL resetAllToDefault );
/* wrnOspfLasbTable helper routine */
IMPORT STATUS wrnOspf_mApi_lsdbHelperGet( void *pRow, mApiRequest_t *pRequest,
mApiObject_t *pObject );
IMPORT void wrnOspf2Mapi_lsdb_update( void *pOspf2MapiReqBuf );
IMPORT void wrnOspf2Mapi_lsdb_create( void *pOspf2MapiReqBuf );
IMPORT void wrnOspf2Mapi_lsdb_delete( void *pOspf2MapiReqBuf );
/* wrnOspfLocalLasbTable helper routine */
IMPORT STATUS wrnOspf_mApi_localLsdbHelperGet( void *pRow, mApiRequest_t *pRequest,
mApiObject_t *pObject );
IMPORT void wrnOspf2Mapi_localLsdb_update( void *pOspf2MapiReqBuf );
IMPORT void wrnOspf2Mapi_localLsdb_create( void *pOspf2MapiReqBuf );
IMPORT void wrnOspf2Mapi_localLsdb_delete( void *pOspf2MapiReqBuf );
/* wrnOspfExtLsdbTable helper routines */
IMPORT STATUS wrnOspf_mApi_extLsdbHelperGet( void *pRow, mApiRequest_t *pRequest,
mApiObject_t *pObject );
IMPORT void wrnOspf2Mapi_extLsdb_update( void *pOspf2MapiReqBuf );
IMPORT void wrnOspf2Mapi_extLsdb_create( void *pOspf2MapiReqBuf );
IMPORT void wrnOspf2Mapi_extLsdb_delete( void *pOspf2MapiReqBuf );
/* wrnOspfIfTable helper routines */
IMPORT STATUS wrnOspf_mApi_ifHelperGet( void *pRow, mApiRequest_t *pRequest,
mApiObject_t *pObject );
IMPORT STATUS wrnOspf_mApi_ifHelperSet( mApiRequest_t *pRequest,
rsRequest_t rsReqType );
IMPORT void wrnOspf2Mapi_if_create( void *pOspf2MapiReqBuf );
/* wrnOspfRedistributionTable helper routines */
IMPORT STATUS wrnOspf_mApi_redistribHelperGet( void *pRow, mApiRequest_t *pRequest,
mApiObject_t *pObject );
IMPORT STATUS wrnOspf_mApi_redistribHelperSet( mApiRequest_t *pRequest,
rsRequest_t rsReqType );
IMPORT void wrnOspf2Mapi_redistrib_create( void *pOspf2MapiReqBuf );
IMPORT STATUS wrnOspf_mApi_ospf2IpRouteHelperGet( void *pRow, mApiRequest_t *pRequest,
mApiObject_t *pObject );
IMPORT STATUS wrnOspf_mApi_ospf2IpRouteHelperSet( mApiRequest_t *pRequest,
rsRequest_t rsReqType );
IMPORT void wrnOspf2Mapi_ospf2IpRoute_create( void *pOspf2MapiReqBuf );
/* wrn-ospf mib specific initialization routines */
IMPORT STATUS wrnOspf_mApi_initAvlTree( void );
IMPORT void wrnOspf_mApi_initGeneralGroup( BOOL resetAllToDefault );
IMPORT STATUS wrnOspf_mApi_initRsLib( void );
IMPORT STATUS wrnOspf_mApi_configurationGet( void );
IMPORT STATUS wrnOspf_mApi_localIfHelperSet (
mApiRequest_t *pRequest, rsRequest_t rsReqType );
IMPORT STATUS wrnOspf_mApi_localIfHelperGet (
void *pRow, mApiRequest_t *pRequest, mApiObject_t *pObject );
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __INCospf_mib_wrn_helperh */