
BAY-STACK-RADIUS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, Integer32, Unsigned32
        FROM SNMPv2-SMI
    RowStatus, TruthValue
        FROM SNMPv2-TC
    InetAddressType, InetAddress, InetPortNumber
        FROM INET-ADDRESS-MIB
    bayStackMibs
        FROM SYNOPTICS-ROOT-MIB;

bayStackRadiusMib MODULE-IDENTITY
      LAST-UPDATED "201002100000Z"
      ORGANIZATION "Nortel Ltd."
      CONTACT-INFO "nortel.com"
      DESCRIPTION
              "This MIB module is used for RADIUS configuration
               settings in Nortel's software and products."

      REVISION     "201002100000Z"  -- Feb 10, 2010
      DESCRIPTION
              "Ver 9:  Added bsRadiusReachability."

      REVISION     "200910130000Z"  -- Oct 13, 2009
      DESCRIPTION
              "Ver 8:  Added bsRadiusDynAuthReplayProtection."

      REVISION     "200905280000Z"  -- May 28, 2009
      DESCRIPTION
              "Ver 7:  Added bsRadiusAccountingInterimUpdatesIntervalSource."

      REVISION     "200904160000Z"  -- April 16, 2009
      DESCRIPTION
              "Ver 6:  Added bsRadiusDynAuthClientReplayProtection
                       Added bsRadiusAccountingInterimUpdates and
                             bsRadiusAccountingInterimUpdatesInterval."

      REVISION     "200903300000Z"  -- March 30, 2009
      DESCRIPTION
              "Ver 5:  Added bsRadiusAccountingEnabled,
                             bsRadiusPasswordFallbackEnabled,
                             bsRadiusAccountingPort"

      REVISION     "200810300000Z"  -- October 30, 2008
      DESCRIPTION
              "Ver 4:  Added bsRadiusUseMgmtIp."

      REVISION     "200805290000Z"  -- May 29, 2008
      DESCRIPTION
              "Ver 3:  Changes based on RFC 5176."

      REVISION     "200803250000Z"  -- March 25, 2008
      DESCRIPTION
              "Ver 2:  Added support for RADIUS requests servers."

      REVISION     "200704030000Z"  -- April 3, 2007
      DESCRIPTION
              "Ver 1:  Initial version."
      ::= { bayStackMibs 21 }

bsRadiusNotifications OBJECT IDENTIFIER ::= { bayStackRadiusMib 0 }
bsRadiusObjects       OBJECT IDENTIFIER ::= { bayStackRadiusMib 1 }

--
-- RADIUS scalar objects
--

bsRadiusScalars       OBJECT IDENTIFIER ::= { bsRadiusObjects 1 }

bsRadiusUseMgmtIp OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object controls whether RADIUS uses the system's management
        IP address as the source address for RADIUS requests."
    DEFVAL      { true }
    ::= { bsRadiusScalars 1 }

bsRadiusAccountingEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object controls whether RADIUS accounting is enabled."
    DEFVAL      { false }
    ::= { bsRadiusScalars 2 }

bsRadiusPasswordFallbackEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object controls whether RADIUS password fallback is enabled."
    DEFVAL      { false }
    ::= { bsRadiusScalars 3 }

bsRadiusAccountingPort OBJECT-TYPE
    SYNTAX      InetPortNumber
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object controls the port used for RADIUS accounting."
    DEFVAL      { 1813 }
    ::= { bsRadiusScalars 4 }

bsRadiusAccountingInterimUpdates OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object controls whether RADIUS interim updates are enabled
        or disabled."
    DEFVAL      { false }
    ::= { bsRadiusScalars 5 }

bsRadiusAccountingInterimUpdatesInterval OBJECT-TYPE
    SYNTAX      Unsigned32 (0 | 60..3600)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object controls the interval for RADIUS interim updates."
    DEFVAL      { 60 }
    ::= { bsRadiusScalars 6 }

bsRadiusAccountingInterimUpdatesIntervalSource OBJECT-TYPE
    SYNTAX      INTEGER {
                    configuredValue(1),
                    radiusServer(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object controls the source for the interval value for RADIUS
        interim updates.  If the value is configuredValue(1), then the value
        of bsRadiusAccountingInterimUpdatesInterval is used.  If the value is
        radiusServer(2), then a value obtained from the RADIUS server is used."
    DEFVAL      { configuredValue }
    ::= { bsRadiusScalars 7 }

bsRadiusDynAuthReplayProtection OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Globally enable or disable RADIUS replay protection."
    ::= { bsRadiusScalars 8 }

bsRadiusReachability OBJECT-TYPE
    SYNTAX       INTEGER {
                     useRadius(1),
                     useIcmp(2)
                 }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Select the method used to test RADIUS server reachablity."
    DEFVAL { useIcmp }
    ::= { bsRadiusScalars 9 }

--
-- RADIUS server configuration table
--

bsRadiusServerTable   OBJECT-TYPE
    SYNTAX SEQUENCE OF BsRadiusServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table is used to control RADIUS server settings."
    ::= { bsRadiusObjects 2 }

bsRadiusServerEntry OBJECT-TYPE
    SYNTAX       BsRadiusServerEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry containing objects defining how to connect to a
        single RADIUS server."
    INDEX { bsRadiusServerIndex }
    ::= { bsRadiusServerTable 1 }

BsRadiusServerEntry ::=
    SEQUENCE {
        bsRadiusServerIndex        Integer32,
        bsRadiusServerPriority     Integer32,
        bsRadiusServerAddressType  InetAddressType,
        bsRadiusServerAddress      InetAddress,
        bsRadiusServerUdpPort      InetPortNumber,
        bsRadiusServerTimeout      Integer32,
        bsRadiusServerSecret       OCTET STRING,
        bsRadiusServerRowStatus    RowStatus
    }

bsRadiusServerIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..64)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique integer value used to identify entries in this table."
    ::= { bsRadiusServerEntry 1 }

bsRadiusServerPriority OBJECT-TYPE
    SYNTAX       Integer32 (1..65535)
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This value indicates the order in which entries in this table
        are used when attempting to contact a RADIUS server.  Entries
        with a lower priority number are tried first.  If two entries
        have the same priority value, the entry with a lower index
        value is tried first.

        Also note that entries which contain an invalid internet
        address will not be used."
    ::= { bsRadiusServerEntry 2 }

bsRadiusServerAddressType OBJECT-TYPE
    SYNTAX       InetAddressType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The type of address contained in the corresponding instance
        of bsRadiusServerAddress."
    ::= { bsRadiusServerEntry 3 }

bsRadiusServerAddress OBJECT-TYPE
    SYNTAX       InetAddress
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The internet address to use when attempting to contact a
        RADIUS server."
    ::= { bsRadiusServerEntry 4 }

bsRadiusServerUdpPort OBJECT-TYPE
    SYNTAX       InetPortNumber
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The UDP port number to use when trying to contact the RADIUS
        server at the address contained in the corresponding instance
        of bsRadiusServerAddress."
    ::= { bsRadiusServerEntry 5 }

bsRadiusServerTimeout OBJECT-TYPE
    SYNTAX       Integer32
    UNITS        "seconds"
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The time interval to wait before re-sending a message to this
        RADIUS server."
    ::= { bsRadiusServerEntry 6 }

bsRadiusServerSecret OBJECT-TYPE
    SYNTAX       OCTET STRING (SIZE(0..16))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The shared RADIUS secret to use when communicating with the
        RADIUS server.  Note that when this object is retrieved, its
        value will always by a zero-length octet string."
    ::= { bsRadiusServerEntry 7 }

bsRadiusServerRowStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "Controls row creation/deletion in this table."
    ::= { bsRadiusServerEntry 8 }

--
-- RADIUS Dynamic Authorization Clients configuration table
--

bsRadiusDynAuthClientTable   OBJECT-TYPE
    SYNTAX SEQUENCE OF BsRadiusDynAuthClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table is used to configure RADIUS Dynamic Authorization
        Clients. RADIUS Dynamic Authorization Clients are entities
        which can send Disconnect and Change Of Authorization
        requests to a RADIUS Dynamic Authorization Server."
    ::= { bsRadiusObjects 3 }

bsRadiusDynAuthClientEntry OBJECT-TYPE
    SYNTAX       BsRadiusDynAuthClientEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry containing objects defining RADIUS Dynamic Authorization 
        Clients which can connect to this RADIUS Dynamic Authorization
        Server."
    INDEX { bsRadiusDynAuthClientAddressType,
            bsRadiusDynAuthClientAddress }
    ::= { bsRadiusDynAuthClientTable 1 }

BsRadiusDynAuthClientEntry ::=
    SEQUENCE {
        bsRadiusDynAuthClientAddressType                InetAddressType,
        bsRadiusDynAuthClientAddress                    InetAddress,
        bsRadiusDynAuthClientUdpPort                    InetPortNumber,
        bsRadiusDynAuthClientSecret                     OCTET STRING,
        bsRadiusDynAuthClientEnabled                    TruthValue,
        bsRadiusDynAuthClientProcessDisconnectRequests  TruthValue,
        bsRadiusDynAuthClientProcessCoARequests         TruthValue,
        bsRadiusDynAuthClientRowStatus                  RowStatus,
        bsRadiusDynAuthClientReplayProtection           TruthValue
    }

bsRadiusDynAuthClientAddressType OBJECT-TYPE
    SYNTAX       InetAddressType
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The type of address contained in the corresponding instance
        of bsRadiusDynAuthClientAddress."
    ::= { bsRadiusDynAuthClientEntry 1 }

bsRadiusDynAuthClientAddress OBJECT-TYPE
    SYNTAX       InetAddress
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The internet address of a RADIUS Dynamic Authorization 
        Client configured in this entry."
    ::= { bsRadiusDynAuthClientEntry 2 }

bsRadiusDynAuthClientUdpPort OBJECT-TYPE
    SYNTAX       InetPortNumber
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The UDP port number the server/NAS listens on for requests from the
        RADIUS Dynamic Authorization Client configured in this entry."
    DEFVAL { 3799 }
    ::= { bsRadiusDynAuthClientEntry 3 }

bsRadiusDynAuthClientSecret OBJECT-TYPE
    SYNTAX       OCTET STRING (SIZE(0..16))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The secret shared between RADIUS Dynamic Authorization 
        Client and Server. Note that when this object is retrieved, its
        value will always by a zero-length octet string."
    DEFVAL { ''H }
    ::= { bsRadiusDynAuthClientEntry 4 }

bsRadiusDynAuthClientEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Enable or disable packet receive from this RADIUS Dynamic
         Authorization Client. The NAS will not listen for requests
         from the client unless this object is true(1)."
    DEFVAL { false }
    ::= { bsRadiusDynAuthClientEntry 5 }

bsRadiusDynAuthClientProcessDisconnectRequests OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Enable or disable processing of Disconnect requests
         from the RADIUS Dynamic Authorization Client."
    DEFVAL { false }
    ::= { bsRadiusDynAuthClientEntry 6 }

bsRadiusDynAuthClientProcessCoARequests OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Enable or disable processing or Change-Of-Authorization
         requests from the RADIUS Dynamic Authorization Client."
    DEFVAL { false }
    ::= { bsRadiusDynAuthClientEntry 7 }

bsRadiusDynAuthClientRowStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "Controls row creation/deletion in this table."
    ::= { bsRadiusDynAuthClientEntry 8 }

bsRadiusDynAuthClientReplayProtection OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "Enable or disable RADIUS replay protection."
    ::= { bsRadiusDynAuthClientEntry 9 }

END

