366 lines
14 KiB
C
366 lines
14 KiB
C
/* dot1xMibLib.h - 802.1X MIB API to SNMP Agent header file */
|
|
|
|
/* Copyright 2002-2005 Wind River Systems, Inc. */
|
|
#include "copyright_wrs.h"
|
|
|
|
/*
|
|
modification history
|
|
--------------------
|
|
01d,22sep05,eja Add new structure to allow for IDE based module binding
|
|
01c,05jul05,eja Add support for supplicant MIB
|
|
01b,06jun02,myz changed name UINT64 to UINT64_S
|
|
01a,15Jan02,myz written
|
|
*/
|
|
|
|
#ifndef __INCdot1xMibLibh
|
|
#define __INCdot1xMibLibh
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**** MIB variable IDs ****/
|
|
|
|
#define D1XM_VAR_PaeSystemAuth 0x10
|
|
|
|
/* Group IDs */
|
|
|
|
#define D1XM_VAR_PORT_ENTRY 0x100
|
|
#define D1XM_VAR_AUTH_CFG_ENTRY 0x200
|
|
#define D1XM_VAR_AUTH_STATS_ENTRY 0x300
|
|
#define D1XM_VAR_AUTH_DIAG_ENTRY 0x400
|
|
#define D1XM_VAR_AUTH_SESSION_ENTRY 0x500
|
|
#define D1XM_VAR_SUPP_CFG_ENTRY 0x600
|
|
#define D1XM_VAR_SUPP_STATS_ENTRY 0x700
|
|
|
|
/* PAE Port Variables */
|
|
|
|
#define D1XM_VAR_PaePortNumber 0x110
|
|
#define D1XM_VAR_PaePortProtocolVersion 0x120
|
|
#define D1XM_VAR_PaePortCapabilities 0x130
|
|
#define D1XM_VAR_PaePortInitialize 0x140
|
|
#define D1XM_VAR_PaePortReauthenticate 0x150
|
|
|
|
/* Authenticator Configuration variables */
|
|
|
|
#define D1XM_VAR_AuthPaeState 0x210
|
|
#define D1XM_VAR_AuthBackendAuthState 0x220
|
|
#define D1XM_VAR_AuthAdminControlledDirections 0x230
|
|
#define D1XM_VAR_AuthOperControlledDirections 0x240
|
|
#define D1XM_VAR_AuthAuthControlledPortStatus 0x250
|
|
#define D1XM_VAR_AuthControlledPortControl 0x260
|
|
#define D1XM_VAR_AuthQuietPeriod 0x270
|
|
#define D1XM_VAR_AuthTxPeriod 0x280
|
|
#define D1XM_VAR_AuthSuppTimeout 0x290
|
|
#define D1XM_VAR_AuthServerTimeout 0x2A0
|
|
#define D1XM_VAR_AuthMaxReq 0x2B0
|
|
#define D1XM_VAR_AuthReauthPeriod 0x2C0
|
|
#define D1XM_VAR_AuthReauthEnabled 0x2D0
|
|
#define D1XM_VAR_AuthKeyTxEnabled 0x2E0
|
|
|
|
/* Authenticator Stats Variables */
|
|
|
|
#define D1XM_VAR_AuthEapolFramesRx 0x310
|
|
#define D1XM_VAR_AuthEapolFramesTx 0x320
|
|
#define D1XM_VAR_AuthEapolStartFramesRx 0x330
|
|
#define D1XM_VAR_AuthEapolLogoffFramesRx 0x340
|
|
#define D1XM_VAR_AuthEapolRespIdFramesRx 0x350
|
|
#define D1XM_VAR_AuthEapolRespFramesRx 0x360
|
|
#define D1XM_VAR_AuthEapolReqIdFramesTx 0x370
|
|
#define D1XM_VAR_AuthEapolReqFramesTx 0x380
|
|
#define D1XM_VAR_AuthInvalidEapolFramesRx 0x390
|
|
#define D1XM_VAR_AuthEapLengthErrorFramesRx 0x3A0
|
|
#define D1XM_VAR_AuthLastEapolFrameVersion 0x3B0
|
|
#define D1XM_VAR_AuthLastEapolFrameSource 0x3C0
|
|
|
|
/* Authenticator Diagnostic Variables */
|
|
|
|
#define D1XM_VAR_AuthEntersConnecting 0x410
|
|
#define D1XM_VAR_AuthEapLogoffsWhileConnecting 0x420
|
|
#define D1XM_VAR_AuthEntersAuthenticating 0x430
|
|
#define D1XM_VAR_AuthAuthSuccessWhileAuthenticating 0x440
|
|
#define D1XM_VAR_AuthAuthTimeoutsWhileAuthenticating 0x450
|
|
#define D1XM_VAR_AuthAuthFailWhileAuthenticating 0x460
|
|
#define D1XM_VAR_AuthAuthReauthsWhileAuthenticating 0x470
|
|
#define D1XM_VAR_AuthAuthEapStartsWhileAuthenticating 0x480
|
|
#define D1XM_VAR_AuthAuthEapLogoffWhileAuthenticating 0x490
|
|
#define D1XM_VAR_AuthAuthReauthsWhileAuthenticated 0x4A0
|
|
#define D1XM_VAR_AuthAuthEapStartsWhileAuthenticated 0x4B0
|
|
#define D1XM_VAR_AuthAuthEapLogoffWhileAuthenticated 0x4C0
|
|
#define D1XM_VAR_AuthBackendResponses 0x4D0
|
|
#define D1XM_VAR_AuthBackendAccessChallenges 0x4E0
|
|
#define D1XM_VAR_AuthBackendOtherRequestsToSupplicant 0x4E2
|
|
#define D1XM_VAR_AuthBackendNonNakResponsesFromSupplicant 0x4E4
|
|
#define D1XM_VAR_AuthBackendAuthSuccesses 0x4E6
|
|
#define D1XM_VAR_AuthBackendAuthFails 0x4E8
|
|
|
|
/* Authenticator Session Stats Variables */
|
|
|
|
#define D1XM_VAR_AuthSessionOctetsRx 0x510
|
|
#define D1XM_VAR_AuthSessionOctetsTx 0x520
|
|
#define D1XM_VAR_AuthSessionFramesRx 0x530
|
|
#define D1XM_VAR_AuthSessionFramesTx 0x540
|
|
#define D1XM_VAR_AuthSessionId 0x550
|
|
#define D1XM_VAR_AuthSessionAuthenticMethod 0x560
|
|
#define D1XM_VAR_AuthSessionTime 0x570
|
|
#define D1XM_VAR_AuthSessionTerminateCause 0x580
|
|
#define D1XM_VAR_AuthSessionUserName 0x590
|
|
|
|
/* Supplicant Configuration Varibles */
|
|
|
|
#define D1XM_VAR_SuppPaeState 0x610
|
|
#define D1XM_VAR_SuppHeldPeriod 0x620
|
|
#define D1XM_VAR_SuppAuthPeriod 0x630
|
|
#define D1XM_VAR_SuppStartPeriod 0x640
|
|
#define D1XM_VAR_SuppMaxStart 0x650
|
|
|
|
/* Supplicant Statistics Varibles */
|
|
|
|
#define D1XM_VAR_SuppEapolFramesRx 0x710
|
|
#define D1XM_VAR_SuppEapolFramesTx 0x720
|
|
#define D1XM_VAR_SuppEapolStartFramesTx 0x730
|
|
#define D1XM_VAR_SuppEapolLogoffFramesTx 0x740
|
|
#define D1XM_VAR_SuppEapolRespIdFramesTx 0x750
|
|
#define D1XM_VAR_SuppEapolRespFramesTx 0x760
|
|
#define D1XM_VAR_SuppEapolReqIdFramesRx 0x770
|
|
#define D1XM_VAR_SuppEapolReqFramesRx 0x780
|
|
#define D1XM_VAR_SuppInvalidEapolFramesRx 0x790
|
|
#define D1XM_VAR_SuppEapLengthErrorFramesRx 0x7A0
|
|
#define D1XM_VAR_SuppLastEapolFrameVersion 0x7B0
|
|
#define D1XM_VAR_SuppLastEapolFrameSource 0x7C0
|
|
|
|
/* simple type used for imitating 64 bit integers */
|
|
|
|
typedef struct
|
|
{
|
|
UINT32 high;
|
|
UINT32 low;
|
|
} UINT64_S;
|
|
|
|
/* SystemAuthControl */
|
|
|
|
typedef UINT32 D1XM_SYSTEM_AUTH_CONTROL;
|
|
|
|
/* dot1xPaePortTable 9.6.1 System Configuration */
|
|
|
|
typedef enum {
|
|
D1XM_dot1xPaePortAuthCapable=0,
|
|
D1XM_dot1xPaePortSuppCapable
|
|
} D1XM_PORT_CAP_TYPE;
|
|
|
|
typedef struct {
|
|
UINT32 paePortNumber; /* port number */
|
|
UINT32 paePortProtocolVersion; /*Protocol version */
|
|
UINT8 paePortCapabilities[1]; /*PAE capabilities */
|
|
UINT8 padding[3];
|
|
UINT32 paePortInitialize; /* Initialize Port */
|
|
UINT32 paePortReauthenticate;
|
|
} D1XM_PAE_PORT_ENTRY;
|
|
|
|
/* dot1xAuthConfigTable 9.4.1 Authenticator Configuration */
|
|
|
|
typedef struct {
|
|
UINT32 paePortNumber; /* port number */
|
|
UINT32 authPaeState; /* Authenticator PAE State */
|
|
UINT32 authBackendAuthState; /* Backend Authentication State */
|
|
UINT32 authAdminControlledDirections; /* AdminControlledDirections */
|
|
UINT32 authOperControlledDirections; /* OperControlledDirections */
|
|
UINT32 authAuthControlledPortStatus; /* AuthControlledPortStatus */
|
|
UINT32 authAuthControlledPortControl; /* AuthControlledPortControl */
|
|
UINT32 authQuietPeriod; /* quietPeriod */
|
|
UINT32 authTxPeriod; /* txPeriod */
|
|
UINT32 authSuppTimeout; /* suppTimeout */
|
|
UINT32 authServerTimeout; /* serverTimeout */
|
|
UINT32 authMaxReq; /* maxReq */
|
|
UINT32 authReAuthPeriod; /* reAuthPeriod */
|
|
UINT32 authReAuthEnabled; /* reAuthEnabled */
|
|
UINT32 authKeyTxEnabled; /* KeyTransmissionEnabled */
|
|
UINT32 PaePortReauthenticate; /* Reauthenticate */
|
|
} D1XM_AUTH_CONFIG_ENTRY;
|
|
|
|
/* dot1xAuthStatsTable 9.4.2 Authenticator Statistics */
|
|
|
|
typedef struct {
|
|
UINT32 paePortNumber; /* port number */
|
|
UINT32 authEapolFramesRx; /* EAPOL frames received */
|
|
UINT32 authEapolFramesTx; /* EAPOL frames transmitted */
|
|
UINT32 authEapolStartFramesRx; /* EAPOL Start frames received */
|
|
UINT32 authEapolLogoffFramesRx; /* EAPOL Logoff frames received */
|
|
UINT32 authEapolRespIdFramesRx; /* EAP Resp/Id frames received */
|
|
UINT32 authEapolRespFramesRx; /* EAP Response frames received */
|
|
UINT32 authEapolReqIdFramesTx; /* EAP Req/Id frames transmitted */
|
|
UINT32 authEapolReqFramesTx; /* EAP Request frames transmitted */
|
|
UINT32 authInvalidEapolFramesRx; /* Invalid EAPOL frames received */
|
|
UINT32 authEapLengthErrorFramesRx; /* EAP length error frames received */
|
|
UINT32 authLastEapolFrameVersion; /* Last EAPOL frame version */
|
|
UINT8 authLastEapolFrameSource[6]; /* Last EAPOL frame source */
|
|
} D1XM_AUTH_STATS_ENTRY;
|
|
|
|
/* dot1xAuthDiagTable 9.4.3 Authenticator Diagnostics */
|
|
|
|
typedef struct {
|
|
UINT32 paePortNumber; /* port number */
|
|
UINT32 authEntersConnecting;
|
|
UINT32 authEapLogoffsWhileConnecting;
|
|
UINT32 authEntersAuthenticating;
|
|
UINT32 authAuthSuccessWhileAuthenticating;
|
|
UINT32 authAuthTimeoutsWhileAuthenticating;
|
|
UINT32 authAuthFailWhileAuthenticating;
|
|
UINT32 authAuthReauthsWhileAuthenticating;
|
|
UINT32 authAuthEapStartsWhileAuthenticating;
|
|
UINT32 authAuthEapLogoffWhileAuthenticating;
|
|
UINT32 authAuthReauthsWhileAuthenticated;
|
|
UINT32 authAuthEapStartsWhileAuthenticated;
|
|
UINT32 authAuthEapLogoffWhileAuthenticated;
|
|
UINT32 authBackendResponses;
|
|
UINT32 authBackendAccessChallenges;
|
|
UINT32 authBackendOtherRequestsToSupplicant;
|
|
UINT32 authBackendNonNakResponsesFromSupplicant;
|
|
UINT32 authBackendAuthSuccesses;
|
|
UINT32 authBackendAuthFails;
|
|
} D1XM_AUTH_DIAG_ENTRY;
|
|
|
|
/* dot1xAuthSessionStatsTable 9.4.4 Authenticator Session Statistics */
|
|
|
|
typedef struct {
|
|
UINT32 paePortNumber; /* port number */
|
|
UINT64_S authSessionOctetsRx; /* Session Octets Received */
|
|
UINT64_S authSessionOctetsTx; /* Session Octets Transmitted */
|
|
UINT32 authSessionFramesRx; /* Session Frames Received */
|
|
UINT32 authSessionFramesTx; /* Session Frames Transmitted */
|
|
char * authSessionId; /* Session Identifier */
|
|
UINT32 authSessionAuthenticMethod; /* Session Authentication Method */
|
|
UINT32 authSessionTime; /* Session Time */
|
|
UINT32 authSessionTerminateCause; /* Session Terminate Cause */
|
|
char * authSessionUserName; /* Session User Name */
|
|
} D1XM_AUTH_SESSION_STATS_ENTRY;
|
|
|
|
/* dot1xSuppConfigTable 9.5.1 Supplicant Configuration */
|
|
|
|
typedef struct {
|
|
UINT32 paePortNumber; /* port number */
|
|
UINT32 suppPaeState; /* Supplicant PAE State */
|
|
UINT32 suppHeldPeriod; /* heldPeriod */
|
|
UINT32 suppAuthPeriod; /* authPeriod */
|
|
UINT32 suppStartPeriod; /* startPeriod */
|
|
UINT32 suppMaxStart; /* maxStart */
|
|
} D1XM_SUPP_CONFIG_ENTRY;
|
|
|
|
/* dot1xSuppStatsTable 9.5.2 Supplicant Statistics */
|
|
|
|
typedef struct {
|
|
UINT32 paePortNumber; /* port number */
|
|
UINT32 suppEapolFramesRx; /* EAPOL frames received */
|
|
UINT32 suppEapolFramesTx; /* EAPOL frames transmitted */
|
|
UINT32 suppEapolStartFramesTx; /* EAPOL Start frames transmitted */
|
|
UINT32 suppEapolLogoffFramesTx; /* EAPOL Logoff frames transmitted */
|
|
UINT32 suppEapolRespIdFramesTx; /* EAP Resp/Id frames transmitted */
|
|
UINT32 suppEapolRespFramesTx; /* EAP Response frames transmitted */
|
|
UINT32 suppEapolReqIdFramesRx; /* EAP Req/Id frames received */
|
|
UINT32 suppEapolReqFramesRx; /* EAP Request frames received */
|
|
UINT32 suppInvalidEapolFramesRx; /* Invalid EAPOL frames received */
|
|
UINT32 suppEapLengthErrorFramesRx; /* EAP length error frames received */
|
|
UINT32 suppLastEapolFrameVersion; /* Last EAPOL frame version */
|
|
UINT8 suppLastEapolFrameSource[6]; /* Last EAPOL frame source */
|
|
} D1XM_SUPP_STATS_ENTRY;
|
|
|
|
/* dot1xPaeSystem group */
|
|
|
|
typedef struct {
|
|
D1XM_SYSTEM_AUTH_CONTROL authControl;
|
|
D1XM_PAE_PORT_ENTRY portTable;
|
|
} D1XM_PAE_SYSTEM_GROUP;
|
|
|
|
/* dot1xPaeAuthenticator group */
|
|
|
|
typedef struct {
|
|
D1XM_AUTH_CONFIG_ENTRY cfgTbl; /* configuration table */
|
|
D1XM_AUTH_STATS_ENTRY statsTbl; /* STATS table */
|
|
D1XM_AUTH_DIAG_ENTRY diagTbl; /* diagnostics table */
|
|
D1XM_AUTH_SESSION_STATS_ENTRY sessionTbl; /* authenticator session stats*/
|
|
} D1XM_PAE_AUTHENTICATOR_GROUP;
|
|
|
|
/* dot1xPaeSupplicant Group */
|
|
|
|
typedef struct {
|
|
D1XM_SUPP_CONFIG_ENTRY cfgTbl; /* supplicant configuration table */
|
|
D1XM_SUPP_STATS_ENTRY statsTbl; /* supplicant stats table */
|
|
} D1XM_PAE_SUPPLICANT_GROUP;
|
|
|
|
typedef struct {
|
|
D1XM_PAE_PORT_ENTRY portGrp;
|
|
D1XM_PAE_AUTHENTICATOR_GROUP authGrp;
|
|
D1XM_PAE_SUPPLICANT_GROUP suppGrp;
|
|
} D1XM_PORT_ENTRY;
|
|
|
|
/* MIB handler type */
|
|
typedef enum
|
|
{
|
|
DOT1X_AUTH_BINDING = 0, /* authenticator MIB */
|
|
DOT1X_SUPP_BINDING /* supplicant MIB */
|
|
} DOT1X_MIB_BIND;
|
|
|
|
/* MIB module attachment */
|
|
typedef struct
|
|
{
|
|
STATUS (*pInstallHandler)();
|
|
STATUS (*pRemoveHandler)();
|
|
} DOT1X_MIB_MODULE_BINDING;
|
|
|
|
/* MIB handler structure */
|
|
typedef struct
|
|
{
|
|
int (*get)(); /* get method */
|
|
int (*next)(); /* next method */
|
|
int (*set)(); /* set method */
|
|
} DOT1X_MIB_FUNC_TABLE;
|
|
|
|
/* authenticator and supplicant MIB handlers */
|
|
typedef struct
|
|
{
|
|
DOT1X_MIB_FUNC_TABLE *authHandler; /* authenticator table */
|
|
DOT1X_MIB_FUNC_TABLE *suppHandler; /* supplicant table */
|
|
} DOT1X_MIB_HANDLER;
|
|
|
|
|
|
/* function declarations */
|
|
|
|
#if defined(__STDC__) || defined(__cplusplus)
|
|
|
|
STATUS dot1xMibVarGet (UINT32, int, void*, int);
|
|
STATUS dot1xMibVarSet (UINT32, int, void*, int);
|
|
STATUS dot1xMibNewPortAdded (UINT32,D1XM_AUTH_CONFIG_ENTRY *);
|
|
STATUS dot1xMibPortRemoved (UINT32);
|
|
STATUS dot1xMibSnmpEntryGet (UINT32, int, void*, int);
|
|
STATUS dot1xMibSnmpNextEntryGet (UINT32 *, int, void*, int);
|
|
STATUS dot1xMibSnmpVarSet (UINT32, UINT32, UINT32);
|
|
STATUS dot1xMibNextPortVarGet (UINT32*, int, void*, int);
|
|
STATUS dot1xMibLibInit(void);
|
|
STATUS dot1xMibHandlerInstall(void *, int);
|
|
STATUS dot1xMibHandlerRemove(void *, int);
|
|
STATUS dot1xMibAdd(void);
|
|
|
|
#else /* __STDC__ */
|
|
|
|
STATUS dot1xMibVarGet ();
|
|
STATUS dot1xMibVarSet ();
|
|
STATUS dot1xMibNewPortAdded ();
|
|
STATUS dot1xMibPortRemoved ();
|
|
STATUS dot1xMibSnmpEntryGet ();
|
|
STATUS dot1xMibSnmpNextEntryGet ();
|
|
STATUS dot1xMibSnmpVarSet ();
|
|
STATUS dot1xMibNextPortVarGet ();
|
|
STATUS dot1xMibLibInit();
|
|
STATUS dot1xMibHandlerInstall();
|
|
STATUS dot1xMibHandlerRemove();
|
|
STATUS dot1xMibAdd();
|
|
#endif /* __STDC__ */
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __INCdot1xMibLibh */
|
|
|