ZTE-AN-ACCESS-CTRL-TACACSPLUS-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32     FROM SNMPv2-SMI
        RowStatus,DisplayString,
        TEXTUAL-CONVENTION                          FROM SNMPv2-TC
        InetAddress,InetAddressType                 FROM INET-ADDRESS-MIB
        zxAn                                        FROM ZTE-AN-TC-MIB;

    zxAnAccessCtrlTacacsplusMib MODULE-IDENTITY
        LAST-UPDATED    "201211071000Z"
        ORGANIZATION    "ZTE Corporation"
        CONTACT-INFO    "ZTE shanghai software development dept.III 
                         Zhang Jianjun  021-68897226 "
        DESCRIPTION     "This MIB defines managed objects of ZTE TACACS+."
        REVISION        "201211071000Z"    -- November 07, 2012 at 10:00 GMT
        DESCRIPTION     "Initial version of this MIB module."
        ::= {zxAn 92}

    zxAnTacacsPlusGlobalObjects  
                         OBJECT IDENTIFIER ::= { zxAnAccessCtrlTacacsplusMib 1 }
    zxAnTacacsPlusServerObjects  
                         OBJECT IDENTIFIER ::= { zxAnAccessCtrlTacacsplusMib 2 }
    zxAnTacacsPlusClientObjects  
                         OBJECT IDENTIFIER ::= { zxAnAccessCtrlTacacsplusMib 3 }

--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.  Tacacs Plus Global Objects
-- 2.  Tacacs Plus Server Objects
-- 2.1 Tacacs Plus Server Global Objects
-- 2.2 Tacacs Plus Server Table
-- 2.3 Tacacs Plus Server Group Table
-- 3.  Tacacs Plus Client Objects
-- 3.1 Tacacs Plus Client global Objects
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
-- 1.  Tacacs Plus Global Objects
--------------------------------------------------------------------------------

    zxAnTacacsPlusEnable OBJECT-TYPE 
        SYNTAX       INTEGER  
        { 
            enabled(1), 
            disabled(2) 
        } 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION  
            "Enable or disable TACACS+ function."
        DEFVAL { disabled }
        ::= { zxAnTacacsPlusGlobalObjects 1 }

    zxAnTacacsPlusMaxPacketSize OBJECT-TYPE 
        SYNTAX       Integer32(1024..4096)
        UNITS        "bytes" 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION  
            "The maximum size of TACACS+ packet."
        DEFVAL { 1024 }
        ::= { zxAnTacacsPlusGlobalObjects 2 }

--------------------------------------------------------------------------------
-- 2.  Tacacs Plus Server Objects
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
-- 2.1 Tacacs Plus Server Global Objects
--------------------------------------------------------------------------------

    zxAnTacacsPlusSvrGlobalObjects  OBJECT IDENTIFIER ::= 
                                    { zxAnTacacsPlusServerObjects 1 }
    
    zxAnTacacsPlusGlobalServerKey OBJECT-TYPE 
        SYNTAX       DisplayString(SIZE(0..32))
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION  
            "The key used in encrypting the packets passed between the TACACS+
             server and the client. This key must match the one configured on 
             the server.
             
             When setting this object, a zero-length string means that TACACS+ 
             server key is not used.
             When reading this object, a zero-length string is always returned." 
        ::= { zxAnTacacsPlusSvrGlobalObjects 1 }

    zxAnTacacsPlusTimeout OBJECT-TYPE 
        SYNTAX       Integer32(1..1000)
        UNITS        "seconds" 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION      
            "The duration in seconds to wait for a response from the TACACS+ 
             server host."
        DEFVAL { 5 }
        ::= { zxAnTacacsPlusSvrGlobalObjects 2 }

--------------------------------------------------------------------------------
-- 2.2 Tacacs Plus Server Table
--------------------------------------------------------------------------------
    
    zxAnTacacsPlusServer OBJECT IDENTIFIER ::= { zxAnTacacsPlusServerObjects 2 }
    
    zxAnTacacsPlusServerTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnTacacsPlusServerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "TACACS+ server table."
        ::= { zxAnTacacsPlusServer 2 }

    zxAnTacacsPlusServerEntry  OBJECT-TYPE
        SYNTAX      ZxAnTacacsPlusServerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "TACACS+ server table entry."
        INDEX  
        { 
            zxAnTacacsPlusServerIpType,
            zxAnTacacsPlusServerIpAddress,            
            zxAnTacacsPlusServerPort
        }
        ::= { zxAnTacacsPlusServerTable 1 }
        
    ZxAnTacacsPlusServerEntry ::= SEQUENCE {
        zxAnTacacsPlusServerIpType          InetAddressType, 
        zxAnTacacsPlusServerIpAddress       InetAddress,  
        zxAnTacacsPlusServerPort            Integer32,
        zxAnTacacsPlusServerKey             DisplayString,
        zxAnTacacsPlusServerTimeout         Integer32,
        zxAnTacacsPlusServerRowStatus       RowStatus
        }
    
    zxAnTacacsPlusServerIpType OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The TACACS+ server IP address type."
        ::= { zxAnTacacsPlusServerEntry 1 }
        
    zxAnTacacsPlusServerIpAddress  OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The TACACS+ server IP address."
        ::= { zxAnTacacsPlusServerEntry 2 }
        
    zxAnTacacsPlusServerPort  OBJECT-TYPE
        SYNTAX      Integer32(49|1025..65535)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This is the destination port number to which TACACS+ messages 
             should be sent."
        DEFVAL { 49 }
        ::= { zxAnTacacsPlusServerEntry 3 }
        
    zxAnTacacsPlusServerKey  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..32))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The key used in encrypting the packets passed between the TACACS+
             server and the client. This key must match the one configured on 
             the server.
 
             A zero-length string is always returned when this object is read. 
             
             Note that if this object is a zero length string, then 
             zxAnTacacsPlusGlobalServerKey is used as the key for this server."
        ::= { zxAnTacacsPlusServerEntry 4 }
        
    zxAnTacacsPlusServerTimeout  OBJECT-TYPE
        SYNTAX      Integer32(0..1000)
        UNITS       "seconds" 
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The duration in seconds to wait for a response from the TACACS+ 
            server host.
            
            Note that if this object is zero, then zxAnTacacsPlusTimeout is used
            as the key for this server."
        DEFVAL { 5 }
        ::= { zxAnTacacsPlusServerEntry 5 }
        
     zxAnTacacsPlusServerRowStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The status of this conceptual row.
            
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.

            To create a row in this table, a manager must set this object to 
            createAndGo(4), and must comply with the multi-variables binding 
            rule described in zxAnTacacsPlusServerEntry.
    
            To delete a row in this table, a manager must set this object to 
            destroy(6). 
             
            To get this object, the agent always returns active(1). "
        ::= { zxAnTacacsPlusServerEntry 50 }

--------------------------------------------------------------------------------
-- 2.3 Tacacs Plus Server Group Table
--------------------------------------------------------------------------------

    zxAnTacacsPlusServerGroupTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnTacacsPlusServerGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "Tacacs+ server group table."
        ::= { zxAnTacacsPlusServer 3 }

    zxAnTacacsPlusServerGroupEntry  OBJECT-TYPE
        SYNTAX      ZxAnTacacsPlusServerGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "Tacacs+ server group table entry."
        INDEX  
        { 
            zxAnTacacsPlusServerGrpName, 
            zxAnTacacsPlusServerIpType,
            zxAnTacacsPlusServerIpAddress, 
            zxAnTacacsPlusServerPort
        }
        ::= { zxAnTacacsPlusServerGroupTable 1 }
        
    ZxAnTacacsPlusServerGroupEntry ::= SEQUENCE {
        zxAnTacacsPlusServerGrpName          DisplayString,
        zxAnTacacsPlusServerGrpRowStatus     RowStatus
        }
        
    zxAnTacacsPlusServerGrpName  OBJECT-TYPE
        SYNTAX            DisplayString  (SIZE ( 1 .. 32 ))
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION
            "The name of tacacs plus group."
        ::= { zxAnTacacsPlusServerGroupEntry 1 }
        
    zxAnTacacsPlusServerGrpRowStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The status of this conceptual row.
            
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.

            To create a row in this table, a manager must set this object to 
            createAndGo(4), and must comply with the multi-variables binding 
            rule described in zxAnTacacsPlusServerGroupEntry.
    
            To delete a row in this table, a manager must set this object to 
            destroy(6). 
             
            To get this object, the agent always returns active(1). "
        ::= { zxAnTacacsPlusServerGroupEntry 50 }  
        
--------------------------------------------------------------------------------
-- 3.  Tacacs Plus Client Objects
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
-- 3.1 Tacacs Plus Client global Objects
--------------------------------------------------------------------------------

    zxAnTacacsPlusClntGlobalObjects  OBJECT IDENTIFIER ::= 
                                     { zxAnTacacsPlusClientObjects 1 }
                                     
    zxAnTacacsPlusClientIpType  OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The TACACS+ client IP address type."
        ::= { zxAnTacacsPlusClntGlobalObjects 1 }
        
    zxAnTacacsPlusClientIpAddr  OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The TACACS+ client IP address."
        ::= { zxAnTacacsPlusClntGlobalObjects 2 }
        
    zxAnTacacsPlusClientPort  OBJECT-TYPE
        SYNTAX      Integer32(0|1025..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This is the source port number to which TACACS+ messages should be 
             sent.
            
             Value 0 means to use the default port number."
        DEFVAL { 0 }
        ::= { zxAnTacacsPlusClntGlobalObjects 3 }

END
