-- Copyright (C) 2008-2014 Super Micro Computer Inc. All Rights Reserved

-- $Id: fstacacs.mib,v 1.3 2012/09/07 09:44:14 siva Exp $

-- TACACS-CLIENT-MIB DEFINITIONS ::= BEGIN

SUPERMICRO-TACACS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, Unsigned32, enterprises,
    IpAddress, Counter32             FROM SNMPv2-SMI
    DisplayString, RowStatus         FROM SNMPv2-TC;


futureTacacsClientMIB MODULE-IDENTITY
    LAST-UPDATED "201209050000Z"
    ORGANIZATION "Super Micro Computer Inc."
    CONTACT-INFO "support@Supermicro.com"
    DESCRIPTION " The TACACS+ Client MIB is placed under supermicro MIB
                  branch."
    REVISION "201209050000Z"
    DESCRIPTION " The TACACS+ Client MIB is placed under supermicro MIB 
                  branch."
    ::= { enterprises supermicro-computer-inc(10876) super-switch(101) basic(1) 77 }

futureTacacsClientScalarGroup   OBJECT IDENTIFIER 
                                                ::= { futureTacacsClientMIB 1 }
futureTacacsClientTableGroup   OBJECT IDENTIFIER 
                                                ::= { futureTacacsClientMIB 2 }

-- Scalar MIB definitions 
-- ***********************

fsTacClntActiveServer   OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "Maximim 5 server information could be configured for TACACS
      This object indicates the active server among those 5 servers. The 
      TACACS+ client interacts with the server with this IP address. Setting 
      this object to zero disables the active server concept."
    ::= { futureTacacsClientScalarGroup 1 }

fsTacClntTraceLevel   OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "The debug trace level for TACACS+ client implementation. This is bit
      mapped data. Each bit of this object reprsent a trace level.
       0x00000001 - Infomation
       0x00000002 - Errors
       0x00000004 - Tx. packet dump
       0x00000008 - Rx. packet dump
       0xffffffff - All of the above
       0x00000000 - No trace"
    ::= { futureTacacsClientScalarGroup 2 }

fsTacClntRetransmit   OBJECT-TYPE
    SYNTAX      Integer32 (1..100)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      " number of times the tacacs+ client searches the list of TACACS+ servers"
    DEFVAL { 2 }
    ::= { futureTacacsClientScalarGroup 3 }

-- ----------------------------------
-- Statistics scalar MIB definitions
-- ----------------------------------

fsTacClntStatisticsGroup   OBJECT IDENTIFIER 
                                        ::= { futureTacacsClientScalarGroup 4 }

fsTacClntAuthenStartRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication start requests sent to server"
    ::= { fsTacClntStatisticsGroup 1 }

fsTacClntAuthenContinueRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication continue requests sent to server"
    ::= { fsTacClntStatisticsGroup 2 }

fsTacClntAuthenEnableRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication enable requests sent to server"
    ::= { fsTacClntStatisticsGroup 3 }

fsTacClntAuthenAbortRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication abort requests sent to server"
    ::= { fsTacClntStatisticsGroup 4 }

fsTacClntAuthenPassReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication pass received from server"
    ::= { fsTacClntStatisticsGroup 5 }

fsTacClntAuthenFailReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication fails received from server"
    ::= { fsTacClntStatisticsGroup 6 }

fsTacClntAuthenGetUserReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication get users received from server"
    ::= { fsTacClntStatisticsGroup 7 }

fsTacClntAuthenGetPassReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication get passwords received from server"
    ::= { fsTacClntStatisticsGroup 8 }

fsTacClntAuthenGetDataReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication get data received from server"
    ::= { fsTacClntStatisticsGroup 9 }

fsTacClntAuthenErrorReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication errors received from server"
    ::= { fsTacClntStatisticsGroup 10 }

fsTacClntAuthenFollowReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication follows received from server"
    ::= { fsTacClntStatisticsGroup 11 }

fsTacClntAuthenRestartReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication re starts received from server"
    ::= { fsTacClntStatisticsGroup 12 }

fsTacClntAuthenSessionTimouts   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication session time outs"
    ::= { fsTacClntStatisticsGroup 13 }

fsTacClntAuthorRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization requests sent to server"
    ::= { fsTacClntStatisticsGroup 14 }

fsTacClntAuthorPassAddReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization pass adds received from server"
    ::= { fsTacClntStatisticsGroup 15 }

fsTacClntAuthorPassReplReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization pass replaces received from server"
    ::= { fsTacClntStatisticsGroup 16 }

fsTacClntAuthorFailReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization fails received from server"
    ::= { fsTacClntStatisticsGroup 17 }

fsTacClntAuthorErrorReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization errors received from server"
    ::= { fsTacClntStatisticsGroup 18 }

fsTacClntAuthorFollowReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization errors received from server"
    ::= { fsTacClntStatisticsGroup 19 }

fsTacClntAuthorSessionTimeouts   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization session time outs"
    ::= { fsTacClntStatisticsGroup 20 }

fsTacClntAcctStartRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting start requests sent to server"
    ::= { fsTacClntStatisticsGroup 21 }

fsTacClntAcctWdRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting watch dog requests sent to server"
    ::= { fsTacClntStatisticsGroup 22 }

fsTacClntAcctStopRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting stop requests sent to server"
    ::= { fsTacClntStatisticsGroup 23 }

fsTacClntAcctSuccessReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting success received from server"
    ::= { fsTacClntStatisticsGroup 24 }

fsTacClntAcctErrorReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting errors received from server"
    ::= { fsTacClntStatisticsGroup 25 }

fsTacClntAcctFollowReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting follow  received from server"
    ::= { fsTacClntStatisticsGroup 26 }

fsTacClntAcctSessionTimeouts   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting session time outs"
    ::= { fsTacClntStatisticsGroup 27 }

fsTacClntMalformedPktsReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of Malformed packets received from server"
    ::= { fsTacClntStatisticsGroup 28 }

fsTacClntSocketFailures   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of socket failures occured"
    ::= { fsTacClntStatisticsGroup 29 }

fsTacClntConnectionFailures   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of connection failures occured"
    ::= { fsTacClntStatisticsGroup 30 }

--------------------------------------
--Authorization scalar MIB definitions
--------------------------------------
fsTacClntAuthorStatus      OBJECT-TYPE
    SYNTAX      INTEGER {
                        disable(0), 
                        enable(1),
                        enableFallback(2)
                        }
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
        "Tacacs authorization status:
         disable: disable TACACS authoration
         enable: enable TACACS authoration
         enableFallback: enable and allow fallback from local
         when TACACS+ server down or doesn't response"
     DEFVAL { disable }
     ::= { futureTacacsClientScalarGroup 6 }

fsTacClntAuthorServerGroup      OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..31))
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "This object is used to specify the server group name when doing TACACS
        authorization. If this value is empty, then all TACACS server will be
        used."
    DEFVAL { "" }
    ::= { futureTacacsClientScalarGroup 7 }

--------------------------------------
--Accounting scalar MIB definitions
--------------------------------------
fsTacClntAccountingStatus      OBJECT-TYPE
    SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                        }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "TACACS accounting status:
         disable: disable TACACS accounting
         enable: enable TACACS accounting"
    DEFVAL { disable }
    ::= { futureTacacsClientScalarGroup 8 }

fsTacClntAccountingPrivilege      OBJECT-TYPE
    SYNTAX       Integer32 (0..15|255)
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "TACACS sends the accounting information for all the executed commands
        at the specified privilege level, the valid privilege level entries are
        from 0 through 15, or 255 for all levels."
    DEFVAL { 255 }
    ::= { futureTacacsClientScalarGroup 9 }

fsTacClntAccountingSendType      OBJECT-TYPE
    SYNTAX      INTEGER {
                        sendStopOnly(0),
                        sendStartStop(1)
                        }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "TACACS accounting timing:
         sendStopOnly: Sends a stop accounting notice at the end of the
         requested user process.
         sendStartStop: Sends a start accounting notice at the beginning of a
         process and a stop accounting notice at the end of a process."
    DEFVAL { sendStopOnly }
    ::= { futureTacacsClientScalarGroup 10 }

fsTacClntAccountingServerGroup      OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..31))
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "This object is used to specify the server group name when doing TACACS
        accounting. If this value is empty, then all TACACS server will be
        used."
    DEFVAL { "" }
    ::= { futureTacacsClientScalarGroup 11 }

-- Tabular MIB definitions 
-- ***********************

-- -----------------------------
-- Table 1: TACACS+ Server Table
-- -----------------------------

fsTacClntServerTable   OBJECT-TYPE
    SYNTAX SEQUENCE OF FsTacClntServerEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
      "The TACACS+ server table of server information entries. The entries have
      server information like server IP address, secretkey, port no, timeout"
   ::= { futureTacacsClientTableGroup 1 }

fsTacClntServerEntry OBJECT-TYPE
   SYNTAX      FsTacClntServerEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The entry has server IP address, port no. secret key and timeout"
   INDEX { fsTacClntServerAddress }
   ::= { fsTacClntServerTable 1 }
      
FsTacClntServerEntry ::= SEQUENCE {
      fsTacClntServerAddress
         IpAddress,
      fsTacClntServerStatus
         RowStatus,
      fsTacClntServerSingleConnect
         INTEGER,
      fsTacClntServerPort
         Integer32,
      fsTacClntServerTimeout
         Integer32,
      fsTacClntServerKey
         DisplayString
      }

fsTacClntServerAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
      "Server IP address"
   ::= { fsTacClntServerEntry 1 }

fsTacClntServerStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "Row status of the server entry"
   ::= { fsTacClntServerEntry 2 }

fsTacClntServerSingleConnect   OBJECT-TYPE
    SYNTAX      INTEGER {
                        yes(1), 
                        no(2) 
                        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "To inform whether single connect support is enabled for this server or
      not. When this is enabled multiple sessions are handled over single TCP
      connection"
    DEFVAL { no }
   ::= { fsTacClntServerEntry 3 }

fsTacClntServerPort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "Server port no. for TACACS+ protocol. The default value is 49"
    DEFVAL { 49 }
   ::= { fsTacClntServerEntry 4 }

fsTacClntServerTimeout OBJECT-TYPE
    SYNTAX      Integer32 (1..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "The time out value within which a response is expected from server. If
      response is not received within this time out, the session will be
      released"
    DEFVAL { 5 }
   ::= { fsTacClntServerEntry 5 }

fsTacClntServerKey OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "Secret key shared between the client and server for encryption and
      decryption"
   ::= { fsTacClntServerEntry 6 }

END
