
     RADIUS-AUTH-SERVER-MIB DEFINITIONS ::= BEGIN

     IMPORTS
            MODULE-IDENTITY, OBJECT-TYPE,
            OBJECT-IDENTITY, experimental,
            Counter32, Gauge32, Integer32,
            IpAddress, TimeTicks             FROM SNMPv2-SMI
            TEXTUAL-CONVENTION, RowStatus,
            TruthValue, DisplayString        FROM SNMPv2-TC
            MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF;


     radius OBJECT-IDENTITY
            STATUS  current
            DESCRIPTION
                  "The OID assigned to RADIUS MIB work by the IANA."
            ::= { experimental 79 }

     radiusAuthentication  OBJECT-IDENTIFIER ::= {radius 1}

     radiusAuthServMIB MODULE-IDENTITY
            LAST-UPDATED "9708211659Z"
            ORGANIZATION "IETF RADIUS Working Group."
            CONTACT-INFO
                   " Glen Zorn
                     Microsoft
                     One Microsoft Way
                     Redmond, WA  98052
                     US

                     Phone: +1 425 703 1559
                     EMail: glennz@microsoft.com"
            DESCRIPTION
                  "The MIB module for entities implementing the server
                   side of the Remote Access Dialin User Service (RADIUS)
                   authentication protocol."
            ::= { radiusAuthentication 1 }

     radiusAuthServMIBObjects     OBJECT IDENTIFIER ::= { radiusAuthServMIB 1 }

     radiusAuthServ      OBJECT IDENTIFIER ::= { radiusAuthServMIBObjects 1 }

     -- Textual conventions

     RadiusTime ::= TEXTUAL-CONVENTION
            DISPLAY-HINT "4d"
            STATUS  current
            DESCRIPTION
                 "RadiusTime values are 32-bit unsigned integers which
                  measure time in seconds."
            SYNTAX  Gauge32

     radiusAuthServIdent OBJECT-TYPE
            SYNTAX      DisplayString
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                  "The implementation identification string for the
                   RADIUS authentication server software in use on the
                   system, for example; `FNS-2.1'"
            ::= {radiusAuthServ 1}

     radiusAuthServUpTime OBJECT-TYPE
            SYNTAX      RadiusTime
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                  "If the server has a persistent state (e.g., a process),
                   this value will be the time elapsed since it started.
                   For software without persistent state, this value will
                   be zero."
            ::= {radiusAuthServ 2}

     radiusAuthServResetTime OBJECT-TYPE
            SYNTAX      RadiusTime
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                  "If the server has a persistent state (e.g., a process)
                   and supports a `reset' operation (e.g., can be told to
                   re-read configuration files), this value will be the
                   time elapsed since the last time the name server was
                   `reset.'  For software that does not have persistence or
                   does not support a `reset' operation, this value will be
                   zero."
            ::= {radiusAuthServ 3}

     radiusAuthServConfigReset OBJECT-TYPE
            SYNTAX INTEGER { other(1),
                             reset(2),
                             initializing(3),
                             running(4)}
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                   "Status/action object to reinitialize any persistent
                    server state.  When set to reset(2), any persistent
                    server state (such as a process) is reinitialized as if
                    the server had just been started.  This value will
                    never be returned by a read operation.  When read, one of
                    the following values will be returned:
                        other(1) - server in some unknown state;
                        initializing(3) - server (re)initializing;
                        running(4) - server currently running."
            ::= {radiusAuthServ 4}

     radiusAuthServInvalidClientAddresses OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The total number of RADIUS Access-Request packets
                   received from unknown addresses since server start-up."
            ::= {radiusAuthServ 5}

     radiusAuthClientTable OBJECT-TYPE
            SYNTAX     SEQUENCE OF RadiusAuthClientEntry
            MAX-ACCESS not-accessible
            STATUS     current
            DESCRIPTION
                  "The (conceptual) table listing the RADIUS authentication
                   clients with which the server shares a secret."
            ::= { radiusAuthServ 6 }

     radiusAuthClientEntry OBJECT-TYPE
            SYNTAX     RadiusAuthClientEntry
            MAX-ACCESS not-accessible
            STATUS     current
            DESCRIPTION
                  "An entry (conceptual row) representing a RADIUS
                   authentication client with which the server shares a secret."
            INDEX      { radiusAuthClientIndex }
            ::= { radiusAuthClientTable 1 }

     RadiusAuthClientEntry ::= SEQUENCE {
            radiusAuthClientIndex                           Integer32,
            radiusAuthClientAddress                         IpAddress,
            radiusAuthClientID                              DisplayString,
            radiusAuthServAccessRequests                    Counter32,
            radiusAuthServDupAccessRequests                 Counter32,
            radiusAuthServAccessAccepts                     Counter32,
            radiusAuthServAccessRejects                     Counter32,
            radiusAuthServAccessChallenges                  Counter32,
            radiusAuthServMalformedAccessRequests           Counter32,
            radiusAuthServAuthenticationBadAuthenticators   Counter32,
            radiusAuthServPacketsDropped                    Counter32,
            radiusAuthServUnknownType                       Counter32
     }

     radiusAuthClientIndex OBJECT-TYPE
            SYNTAX     Integer32
            MAX-ACCESS not-accessible
            STATUS     current
            DESCRIPTION
                  "The RADIUS authentication client referred to in this
                   table entry."
            ::= { radiusAuthClientEntry 1 }

     radiusAuthClientAddress OBJECT-TYPE
            SYNTAX     IpAddress
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                  "The NAS-IP-Address of the RADIUS authentication client
                   referred to in this table entry."
            ::= { radiusAuthClientEntry 2 }

     radiusAuthClientID OBJECT-TYPE
            SYNTAX     DisplayString
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                  "The NAS-Identifier of the RADIUS authentication client
                   referred to in this table entry."
            ::= { radiusAuthClientEntry 3 }

     -- Server Counters

     radiusAuthServAccessRequests OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The total number of RADIUS Access-Request packets
                   received from this client since server start-up."
            ::= { radiusAuthClientEntry  4 }

     radiusAuthServDupAccessRequests OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The total number of duplicate RADIUS Access-Request
                   packets received from this client since server start-up."
            ::= { radiusAuthClientEntry  5 }

     radiusAuthServAccessAccepts OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The total number of RADIUS Access-Accept packets
                   sent to this client since server start-up."
            ::= { radiusAuthClientEntry  6 }

     radiusAuthServAccessRejects OBJECT-TYPE
           SYNTAX Counter32
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
                  "The total number of RADIUS Access-Reject packets
                   sent to this client since server start-up."
            ::= { radiusAuthClientEntry  7 }

     radiusAuthServAccessChallenges OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The total number of RADIUS Access-Challenge packets
                   sent to this client since server start-up."
            ::= { radiusAuthClientEntry  8 }

     radiusAuthServMalformedAccessRequests OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The total number of malformed RADIUS Access-Request
                   packets received from this client since server start-up.
                   Bad authenticators are not included as
                   malformed Access-Requests."
            ::= { radiusAuthClientEntry  9 }

     radiusAuthServAuthenticationBadAuthenticators OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The total number of RADIUS Authentication-Request packets
                   which contained invalid Signature attributes received
                   from this client since server start-up."
            ::= { radiusAuthClientEntry  10 }

     radiusAuthServPacketsDropped OBJECT-TYPE
           SYNTAX Counter32
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
                  "The total number of packets dropped from this client,
                   with no reply sent."
            ::= { radiusAuthClientEntry  11 }

     radiusAuthServUnknownType OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The total number of RADIUS packets of unknown type which
                   were received from this client since authentication server
                   start-up."
            ::= { radiusAuthClientEntry  12 }


     -- conformance information

     radiusAuthServMIBConformance
                   OBJECT IDENTIFIER ::= { radiusAuthServMIB 2 }
     radiusAuthServMIBCompliances
                   OBJECT IDENTIFIER ::= { radiusAuthServMIBConformance 1 }
     radiusAuthServMIBGroups
                   OBJECT IDENTIFIER ::= { radiusAuthServMIBConformance 2 }


     -- compliance statements

     radiusAuthServMIBCompliance MODULE-COMPLIANCE
            STATUS  current
            DESCRIPTION
                  "The compliance statement for authentication servers
                   implementing the RADIUS Authentication Server MIB."
            MODULE  -- this module
            MANDATORY-GROUPS { radiusAuthServMIBGroup }

            ::= { radiusAuthServMIBCompliances 1 }


     -- units of conformance

     radiusAuthServMIBGroup OBJECT-GROUP
           OBJECTS {radiusAuthServIdent,
                    radiusAuthServUpTime,
                    radiusAuthServResetTime,
                    radiusAuthServConfigReset,
                    radiusAuthServInvalidClientAddresses,
                    radiusAuthClientAddress,
                    radiusAuthClientID,
                    radiusAuthServAccessRequests,
                    radiusAuthServDupAccessRequests,
                    radiusAuthServAccessAccepts,
                    radiusAuthServAccessRejects,
                    radiusAuthServAccessChallenges,
                    radiusAuthServMalformedAccessRequests,
                    radiusAuthServAuthenticationBadAuthenticators,
                    radiusAuthServPacketsDropped,
                    radiusAuthServUnknownType
                   }
           STATUS  current
           DESCRIPTION
                 "The collection of objects providing management of
                  a RADIUS Authentication Server."
           ::= { radiusAuthServMIBGroups 1 }

     END


