AAC-MIB DEFINITIONS ::= BEGIN

-- -------------------------------------------------------------
-- AAC System Access Authentication Control MIB
-- -------------------------------------------------------------


IMPORTS
 	IpAddress			
 	    FROM RFC1155-SMI
    MODULE-IDENTITY, OBJECT-TYPE  
        FROM SNMPv2-SMI
    RowStatus,DisplayString
            FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF

	privateMgmt     FROM SWPRIMGMT-MIB;
    
    
swAACMIB MODULE-IDENTITY
    LAST-UPDATED "9911220000Z"
    ORGANIZATION "Working Group"
    CONTACT-INFO
        "  "
    DESCRIPTION
        "The AAC module MIB."
    ::= { privateMgmt 4}

swAACCtrl OBJECT IDENTIFIER ::= { swAACMIB 1 }

-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------


swAACAuthenAdminState OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    disabled(2),
                    enabled(3)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the Access Authentication is enable or 
            disable."
        ::= { swAACCtrl 1}
        
swAACResponseTimeout  OBJECT-TYPE
	    SYNTAX     INTEGER (1..255)
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	        "This object indicates the amount of time that system will
	        wait for user input on console, telnet or ssh before timing out
	        . This value is in units of seconds."
	    ::= { swAACCtrl 2 }
	    
swAACMaxAttempts  OBJECT-TYPE
	    SYNTAX     INTEGER (1..255)
	    MAX-ACCESS read-only
	    STATUS     current
	    DESCRIPTION
	        "This object indicates the maximum user attempts for 
	        authentication."
	    ::= { swAACCtrl 3 }	       
            

-- -------------------------------------------------------------
-- groups in the AAC MIB
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- Auth table 
-- -------------------------------------------------------------

swAACAuthCtrl OBJECT IDENTIFIER ::= { swAACMIB 2 }

swAACMethodLoginTable OBJECT-TYPE
    SYNTAX SEQUENCE OF SwAACMethodLoginEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table that contains information about authentication login 
        method list."
    ::= { swAACAuthCtrl 1 }
    
swAACMethodLoginEntry OBJECT-TYPE
    SYNTAX SwAACMethodLoginEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of the Authentication login methods."
    INDEX { swAACMethodLoginIndex }
    ::= { swAACMethodLoginTable 1 }

SwAACMethodLoginEntry ::=
    SEQUENCE {
        swAACMethodLoginIndex
            INTEGER,
        swAACMethodLoginName
            DisplayString,        
        swAACMethodPrimaryLoginType
            INTEGER,
        swAACMethodSecondaryLoginType
            INTEGER
    }

swAACMethodLoginIndex  OBJECT-TYPE
	    SYNTAX  INTEGER (1..4)
	    MAX-ACCESS read-only
	    STATUS     current
	    DESCRIPTION
	        "A value that identifies this swAACMethodLoginEntry."
	    ::= { swAACMethodLoginEntry 1 }

swAACMethodLoginName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(1..15))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A human-readable text string of the method list."
        ::= { swAACMethodLoginEntry 2 }
    
swAACMethodPrimaryLoginType  OBJECT-TYPE
	    SYNTAX  INTEGER {
                    other(1),
                    tacacs-plus(2),
                    local(3),
                    none(4)
                }
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	        "The primary login method type."
	    ::= { swAACMethodLoginEntry 3 }   
	         
swAACMethodSecondaryLoginType  OBJECT-TYPE
	    SYNTAX  INTEGER {
                    other(1),
                    tacacs-plus(2),
                    local(3),
                    none(4),
                    un-used(5)
                }
	    MAX-ACCESS read-write
	    STATUS     current
	    DESCRIPTION
	        "The secondary login method type. If all 
	        swAACMethodPrimaryLoginType servers are timeout or 
	        non-existent, then this type will be choosed."
	    ::= { swAACMethodLoginEntry 4 }       


swAACMethodAdminTable OBJECT-TYPE
    SYNTAX SEQUENCE OF SwAACMethodAdminEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table that contains information about authentication admin 
        method list."
    ::= { swAACAuthCtrl 2 }
    
swAACMethodAdminEntry OBJECT-TYPE
    SYNTAX SwAACMethodAdminEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of the Authentication admin methods."
    INDEX { swAACMethodAdminIndex }
    ::= { swAACMethodAdminTable 1 }

SwAACMethodAdminEntry ::=
    SEQUENCE {
        swAACMethodAdminIndex
            INTEGER,
        swAACMethodAdminName
            DisplayString,        
        swAACMethodPrimaryAdminType
            INTEGER,
        swAACMethodSecondaryAdminType
            INTEGER
    }

swAACMethodAdminIndex  OBJECT-TYPE
	    SYNTAX  INTEGER (1..4)
	    MAX-ACCESS read-only
	    STATUS     current
	    DESCRIPTION
	        "A value that identifies this swAACMethodAdminEntry."
	    ::= { swAACMethodAdminEntry 1 }

swAACMethodAdminName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(1..15))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A human-readable text string of the method list."
        ::= { swAACMethodAdminEntry 2 }
        
swAACMethodPrimaryAdminType OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    tacacs-plus(2),
                    local(3),
                    none(4),
                    un-used(5)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The primary admin method type."
        ::= { swAACMethodAdminEntry 3 }
    
swAACMethodSecondaryAdminType OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    tacacs-plus(2),
                    local(3),
                    none(4),
                    un-used(5)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The secondary admin method type. If all 
            swAACMethodPrimaryAdminType servers are timeout or 
            non-existent, then this type will be choosed."
        ::= { swAACMethodAdminEntry 4 }


-- -------------------------------------------------------------
-- swAACTacacsServer OBJECT IDENTIFIER ::= { swAACMIB 3 }
-- -------------------------------------------------------------

swAACTacacsServerTable OBJECT-TYPE
    SYNTAX SEQUENCE OF SwAACTacacsServerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table that contains information about tacacs severs."
    ::= { swAACMIB 3 }
    
swAACTacacsServerEntry OBJECT-TYPE
    SYNTAX SwAACTacacsServerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of the information of tacacs server ."
    INDEX { swAACTacacsServerIPAddr }
    ::= { swAACTacacsServerTable 1 }
    
SwAACTacacsServerEntry ::=
    SEQUENCE {
		swAACTacacsServerIPAddr
			IpAddress,
		swAACTacacsServerAuthPort
			INTEGER,	
		swAACTacacsServerAuthKey
			DisplayString,						
        swAACTacacsServerTimeout
            INTEGER,   
        swAACTacacsServerRowStatus
            RowStatus            
            
    }   

swAACTacacsServerIPAddr OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The IP address of Server"
        ::= { swAACTacacsServerEntry 1 }

swAACTacacsServerAuthPort OBJECT-TYPE
        SYNTAX      INTEGER(1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The TCP/IP port."
        DEFVAL      { 49 }
        ::= { swAACTacacsServerEntry 2 }

swAACTacacsServerAuthKey OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..254))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The key used while authentication process."
        ::= { swAACTacacsServerEntry 3 }

swAACTacacsServerTimeout OBJECT-TYPE
        SYNTAX      INTEGER(1..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Server response timeout. This value is in units of seconds."
        DEFVAL      { 5 }
        ::= { swAACTacacsServerEntry 4 }

swAACTacacsServerRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the status of this entry."        
        ::= { swAACTacacsServerEntry 5 }
    
    
END
