-- $Id$
-- $Source$
-- *****************************************************************
-- CISCO-RADIUS-EXT-MIB.my:  Cisco RADIUS extension MIB file.
--   
-- Copyright (c) 1999-2000, 2008, 2010, 2020 by cisco Systems Inc.
-- All rights reserved.
-- *****************************************************************
-- $Log$
-- *****************************************************************
-- $Endlog$

CISCO-RADIUS-EXT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Counter32,
    Gauge32,
    Unsigned32
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    TimeInterval,
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    InetPortNumber
        FROM INET-ADDRESS-MIB
    ciscoMgmt
        FROM CISCO-SMI;


ciscoRadiusExtMIB MODULE-IDENTITY
    LAST-UPDATED    "202009080000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "Cisco Systems
            Customer Service

            Postal: 170 W Tasman Drive
            San Jose, CA  95134
            USA

            Tel: +1 800 553-NETS

            E-mail: cs-aaa@cisco.com"
    DESCRIPTION
        "This MIB module defines objects describing RADIUS (Remote
        Access Dialin User Service), serving as an extension of the
        following MIB modules: 
        - 
            - RADIUS-AUTH-CLIENT-MIB [RFC4668] 
            - RADIUS-AUTH-SERVER-MIB [RFC4669] 
            - RADIUS-ACC-CLIENT-MIB [RFC4670] 
            - RADIUS-ACC-SERVER-MIB [RFC4671] 
            - RADIUS-DYNAUTH-CLIENT-MIB [RFC4672] 
            - RADIUS-DYNAUTH-SERVER-MIB [RFC4673] 
        - 
        [RFC4668] D. Nelson, RADIUS Authentication Client MIB for IPv6,

        RFC-4668, August 2006. 
        - 
        [RFC4669] D. Nelson, RADIUS Authentication Server MIB for IPv6,

        RFC-4669, August 2006. 
        - 
        [RFC4670] D. Nelson, RADIUS Accounting Client MIB for IPv6,
        RFC-4670, August 2006. 
        - 
        [RFC4671] D. Nelson, RADIUS Accounting Server MIB for IPv6,
        RFC-4671, August 2006. 
        - 
        [RFC4672] S. De Cnodder, N. Jonnala, M. Chiba, RADIUS Dynamic 
        Authorization Client MIB, RFC-4672, September 2006. 
        - 
        [RFC4673] S. De Cnodder, N. Jonnala, M. Chiba, RADIUS Dynamic 
        Authorization Server MIB, RFC-4673, September 2006."
    REVISION        "202009080000Z"
    DESCRIPTION
        "Added creClientTotalAccessAccepts mib object"
    REVISION        "201005250000Z"
    DESCRIPTION
        "Modified 'max-access' of creAuthClientLastUsedSourceId and
        creAcctClientLastUsedSourceId"
    REVISION        "201005200000Z"
    DESCRIPTION
        "Initial Version"
    ::= { ciscoMgmt 736 }



RadiusSourceIdentifier ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention represents the range of identifers used
        when 'extended RADIUS source port' is configured."
    SYNTAX          Unsigned32 (0..255)
-- Overview of CISCO RADIUS extension MIB
--   
-- MIB description
--   
-- This MIB module decribes MIB objects used for managing
-- RADIUS authentication/accounting clients.
--   

-- Cisco RADIUS Extension MIB object definitions

cRadiusExtMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoRadiusExtMIB 1 }

-- Statistics objects

creClientGlobal  OBJECT IDENTIFIER
    ::= { cRadiusExtMIBObjects 1 }

creClientAuthentication  OBJECT IDENTIFIER
    ::= { cRadiusExtMIBObjects 2 }

creClientAccounting  OBJECT IDENTIFIER
    ::= { cRadiusExtMIBObjects 3 }

creClientDynAuth  OBJECT IDENTIFIER
    ::= { cRadiusExtMIBObjects 4 }

creServerGlobal  OBJECT IDENTIFIER
    ::= { cRadiusExtMIBObjects 5 }

creServerAuthentication  OBJECT IDENTIFIER
    ::= { cRadiusExtMIBObjects 6 }

creServerAccounting  OBJECT IDENTIFIER
    ::= { cRadiusExtMIBObjects 7 }

creServerDynAuth  OBJECT IDENTIFIER
    ::= { cRadiusExtMIBObjects 8 }


-- Radius Statistics

creClientTotalMaxInQLength OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the maximum length of the queue which
        stores the incoming RADIUS packets." 
    ::= { creClientGlobal 1 }

creClientTotalMaxWaitQLength OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the maximum length of the queue which
        stores the pending RADIUS packets for which the responses are
        outstanding." 
    ::= { creClientGlobal 2 }

creClientTotalMaxDoneQLength OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the maximum length of the queue which
        stores those RADIUS packets for which the responses are
        received." 
    ::= { creClientGlobal 3 }

creClientTotalAccessRejects OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of access reject packets
        received by the RADIUS client." 
    ::= { creClientGlobal 4 }

creClientTotalAverageResponseDelay OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the overall response delay experienced
        by RADIUS packets (both authentication and accounting)." 
    ::= { creClientGlobal 5 }

creClientTotalAccessAccepts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of access accept packets\n\
        received by the RADIUS client." 
    ::= { creClientGlobal 10 }

creClientSourcePortRangeStart OBJECT-TYPE
    SYNTAX          InetPortNumber
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "If the 'extended RADIUS source ports' is configured, multiple
        source ports are used for sending out RADIUS authentication or
        accounting requests.  This MIB object indicates the port value
        from where this range starts." 
    ::= { creClientGlobal 6 }

creClientSourcePortRangeEnd OBJECT-TYPE
    SYNTAX          InetPortNumber
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "If the 'extended RADIUS source port' is configured, multiple
        source ports are used for sending out RADIUS authentication or
        accounting requests.  This MIB object indicates the port value
        where this range ends." 
    ::= { creClientGlobal 7 }

creClientLastUsedSourcePort OBJECT-TYPE
    SYNTAX          InetPortNumber
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "If the 'extended RADIUS source ports' is configured, multiple
        source ports are used for sending out RADIUS authentication or
        accounting requests.  This MIB object indicates the last source
        port that was used to send out a RADIUS authentication or
        accounting request." 
    ::= { creClientGlobal 8 }

creClientLastUsedSourceId OBJECT-TYPE
    SYNTAX          RadiusSourceIdentifier
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This MIB object indicates the last source identifier that was
        used to send out a RADIUS packet when 'extended RADIUS source
        ports' is configured.  The source identifier is a counter that
        is incremented everytime a RADIUS authentication or an
        accounting packet is sent." 
    ::= { creClientGlobal 9 }

creAuthClientBadAuthenticators OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of RADIUS authentication
        response packets received which contained invalid
        authenticators." 
    ::= { creClientAuthentication 1 }

creAuthClientUnknownResponses OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of unknown RADIUS
        authentication responses received." 
    ::= { creClientAuthentication 2 }

creAuthClientTotalPacketsWithResponses OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of RADIUS authentication
        packets that received responses." 
    ::= { creClientAuthentication 3 }

creAuthClientBufferAllocFailures OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "buffer failures"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of buffer allocation
        failures encountered during RADIUS request formation." 
    ::= { creClientAuthentication 4 }

creAuthClientTotalResponses OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of RADIUS authentication
        response packets received by the RADIUS client." 
    ::= { creClientAuthentication 5 }

creAuthClientTotalPacketsWithoutResponses OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of RADIUS authentication
        packets that never received a response." 
    ::= { creClientAuthentication 6 }

creAuthClientAverageResponseDelay OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the average response delay experienced
        for RADIUS authentication requests." 
    ::= { creClientAuthentication 7 }

creAuthClientMaxResponseDelay OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the maximum delay experienced for RADIUS
        authentication requests." 
    ::= { creClientAuthentication 8 }

creAuthClientMaxBufferSize OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    UNITS           "bytes"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the maximum buffer size for RADIUS
        authentication packet." 
    ::= { creClientAuthentication 9 }

creAuthClientTimeouts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "timeouts"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of timeouts that have occurred
        for RADIUS authentication.  After a timeout the client may
        retry sending the request to the same server or to a different
        server or give up depending on the configuration." 
    ::= { creClientAuthentication 10 }

creAuthClientDupIDs OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of times client has received
        duplicate authentication responses with the same identifier. 
        Out of these two packets, the later packet is considered as a
        true match." 
    ::= { creClientAuthentication 11 }

creAuthClientMalformedResponses OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of malformed RADIUS
        authentication responses received.  Malformed packets include
        packets with an invalid length." 
    ::= { creClientAuthentication 12 }

creAuthClientLastUsedSourceId OBJECT-TYPE
    SYNTAX          RadiusSourceIdentifier
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This MIB object indicates the last source identifier that was
        used to send out a RADIUS authentication request when 'extended
        RADIUS source ports' is configured.  The source identifier is a
        counter that is incremented everytime a RADIUS authentication
        request is sent." 
    ::= { creClientAuthentication 13 }

creAcctClientBadAuthenticators OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of RADIUS Accounting-Response
        packets received with invalid authenticators." 
    ::= { creClientAccounting 1 }

creAcctClientUnknownResponses OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of unknown RADIUS accounting
        responses received." 
    ::= { creClientAccounting 2 }

creAcctClientTotalPacketsWithResponses OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of RADIUS accounting packets
        that received responses." 
    ::= { creClientAccounting 3 }

creAcctClientBufferAllocFailures OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "buffer failures"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of buffer allocation failures
        encountered for RADIUS accounting request." 
    ::= { creClientAccounting 4 }

creAcctClientTotalResponses OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of RADIUS accounting response
        packets received by the RADIUS client." 
    ::= { creClientAccounting 5 }

creAcctClientTotalPacketsWithoutResponses OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of RADIUS accounting packets
        that never received a response." 
    ::= { creClientAccounting 6 }

creAcctClientAverageResponseDelay OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the average response delay experienced
        for RADIUS accounting." 
    ::= { creClientAccounting 7 }

creAcctClientMaxResponseDelay OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the maximum delay experienced for RADIUS
        accounting." 
    ::= { creClientAccounting 8 }

creAcctClientMaxBufferSize OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    UNITS           "bytes"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the maximum buffer size for RADIUS
        accounting packets." 
    ::= { creClientAccounting 9 }

creAcctClientTimeouts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "timeouts"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of timeouts that have occurred
        for RADIUS accounting.  After a timeout the client may retry
        sending the request to the same server or to a different
        server or give up depending on the configuration." 
    ::= { creClientAccounting 10 }

creAcctClientDupIDs OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of times client has received
        duplicate accounting responses with the same identifier.  Out
        of these two packets, the later packet is considered as a true
        match." 
    ::= { creClientAccounting 11 }

creAcctClientMalformedResponses OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "RADIUS packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of malformed RADIUS accounting
        responses received.  Malformed packets include packets with an
        invalid length." 
    ::= { creClientAccounting 12 }

creAcctClientLastUsedSourceId OBJECT-TYPE
    SYNTAX          RadiusSourceIdentifier
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This MIB object indicates the last source identifier that was
        used to send out a RADIUS accounting request when 'extended
        RADIUS source ports' is configured.  The source identifier is a
        counter that is incremented everytime a RADIUS accounting
        request is sent." 
    ::= { creClientAccounting 13 }
-- ******************************************************************
-- Conformance and Compliance
-- ******************************************************************

cRadiusExtMIBConformance  OBJECT IDENTIFIER
    ::= { ciscoRadiusExtMIB 2 }

creMIBCompliances  OBJECT IDENTIFIER
    ::= { cRadiusExtMIBConformance 1 }

creMIBGroups  OBJECT IDENTIFIER
    ::= { cRadiusExtMIBConformance 2 }


-- compliance statements

creMIBCompliance MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO RADIUS Extention MIB"
    MODULE          -- this module
    MANDATORY-GROUPS {
                        creClientAuthenenticationGroup,
                        creClientGlobalGroup,
                        creClientAccountingGroup
                    }
    ::= { creMIBCompliances 1 }

creClientGlobalGroup OBJECT-GROUP
    OBJECTS         {
                        creClientTotalMaxInQLength,
                        creClientTotalMaxWaitQLength,
                        creClientTotalMaxDoneQLength,
                        creClientTotalAccessRejects,
                        creClientSourcePortRangeStart,
                        creClientSourcePortRangeEnd,
                        creClientLastUsedSourcePort,
                        creClientLastUsedSourceId,
                        creClientTotalAverageResponseDelay,
                        creClientTotalAccessAccepts
                    }
    STATUS          current
    DESCRIPTION
        "Objects for providing aggregated statistics of RADIUS client."
    ::= { creMIBGroups 1 }

-- units of conformance

creClientAuthenenticationGroup OBJECT-GROUP
    OBJECTS         {
                        creAuthClientTotalResponses,
                        creAuthClientTotalPacketsWithResponses,
                        creAuthClientTotalPacketsWithoutResponses,
                        creAuthClientAverageResponseDelay,
                        creAuthClientMaxResponseDelay,
                        creAuthClientTimeouts,
                        creAuthClientDupIDs,
                        creAuthClientBufferAllocFailures,
                        creAuthClientMaxBufferSize,
                        creAuthClientMalformedResponses,
                        creAuthClientBadAuthenticators,
                        creAuthClientUnknownResponses,
                        creAuthClientLastUsedSourceId
                    }
    STATUS          current
    DESCRIPTION
        "Objects for providing statistics of RADIUS client
        authentication packets."
    ::= { creMIBGroups 2 }

creClientAccountingGroup OBJECT-GROUP
    OBJECTS         {
                        creAcctClientTotalResponses,
                        creAcctClientTotalPacketsWithResponses,
                        creAcctClientTotalPacketsWithoutResponses,
                        creAcctClientAverageResponseDelay,
                        creAcctClientMaxResponseDelay,
                        creAcctClientTimeouts,
                        creAcctClientBadAuthenticators,
                        creAcctClientUnknownResponses,
                        creAcctClientLastUsedSourceId,
                        creAcctClientDupIDs,
                        creAcctClientBufferAllocFailures,
                        creAcctClientMaxBufferSize,
                        creAcctClientMalformedResponses
                    }
    STATUS          current
    DESCRIPTION
        "Objects for providing statistics of RADIUS client accounting
        packets."
    ::= { creMIBGroups 3 }

END


