-- *****************************************************************************
-- MIB NAME : Access Authentication Control(AAC) Common mib
-- FILE NAME: AAC.mib
-- DATE     : 2008/03/05
-- VERSION  : 2.02
-- PURPOSE  : To construct the MIB structure of Access Authentication Control
--            for proprietary enterprise
-- *****************************************************************************
-- MODIFICTION HISTORY:
-- *****************************************************************************
-- Version, Date, Author
-- Description:
--  [New Object]
--  [Modification]
-- Notes: (Requested by who and which project)
--
--
-- Version 2.02, 2008/03/05, Ronald
--  [Modification]
--    To add the objects "swAACCtrlEnableAdminSet".
-- Notes: Requested by D-Link, DES3500
--
-- Version 2.01, 2007/04/30, Yedda
--  [Modification]
--    To recover the objects "swAACAPSSHLoginMethod" and "swAACAPSSHEnableMethod".
-- Notes: Requested by CD, DES3400
--
-- Version 2.00, 2007/03/27, Yedda
-- This is the first formal version for universal MIB definition.
-- *****************************************************************************

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
--		EntryStatus
--			FROM RMON-MIB
		dlink-common-mgmt	FROM DLINK-ID-REC-MIB;


	swDlinkAACMIB MODULE-IDENTITY
	    LAST-UPDATED "0803050000Z"
	    ORGANIZATION "D-Link Corp."
	    CONTACT-INFO
	        "http://support.dlink.com"
	    DESCRIPTION
	        "The Link AAC module MIB."
	    ::= { dlink-common-mgmt 5}

	swAACCtrl OBJECT IDENTIFIER ::= { swDlinkAACMIB 1 }
	swAACCtrlEnableAdminSet OBJECT IDENTIFIER ::= { swAACCtrl 2 }

-- *****************************************************************************
-- Textual Conventions
-- *****************************************************************************


	swAACAuthenAdminState OBJECT-TYPE
	    SYNTAX  INTEGER {
	                other(1),
	                disabled(2),
	                enabled(3)
	            }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "This object indicates if the Access Authentication is enabled or
	        disabled."
	    ::= { swAACCtrl 1}
-- *****************************************************************************
-- swAACCtrlEnableAdminSet OBJECT IDENTIFIER ::= { swDlinkAACMIB 2 }
-- *****************************************************************************
	swAACCtrlEnableAdminTACACSState OBJECT-TYPE
	    SYNTAX  INTEGER {
	                other(1),
	                disabled(2),
	                enabled(3)
	            }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "This object indicates if the state of TACACS is enabled or
	        disabled."
	    ::= { swAACCtrlEnableAdminSet 1 }

	swAACCtrlEnableAdminXTACACSState OBJECT-TYPE
	    SYNTAX  INTEGER {
	                other(1),
	                disabled(2),
	                enabled(3)
	            }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "This object indicates if the state of XTACACS is enabled or
	        disabled."
	    ::= { swAACCtrlEnableAdminSet 2 }

	swAACCtrlEnableAdminTACACSPlusState OBJECT-TYPE
	    SYNTAX  INTEGER {
	                other(1),
	                disabled(2),
	                enabled(3)
	            }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "This object indicates if the state of TACACS+ is enabled or
	        disabled."
	    ::= { swAACCtrlEnableAdminSet 3 }

	swAACCtrlEnableAdminRadiusState OBJECT-TYPE
	    SYNTAX  INTEGER {
	                other(1),
	                disabled(2),
	                enabled(3)
	            }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "This object indicates if the state of Radius is enabled or
	        disabled."
	    ::= { swAACCtrlEnableAdminSet 4 }

	swAACCtrlEnableAdminLocalState OBJECT-TYPE
	    SYNTAX  INTEGER {
	                other(1),
	                disabled(2),
	                enabled(3)
	            }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "This object indicates if the state of Local is enabled or
	        disabled."
	    ::= { swAACCtrlEnableAdminSet 5 }

	swAACCtrlEnableAdminNoneState OBJECT-TYPE
	    SYNTAX  INTEGER {
	                other(1),
	                disabled(2),
	                enabled(3)
	            }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "This object indicates if the state of None is enabled or
	        disabled."
	    ::= { swAACCtrlEnableAdminSet 6 }
-- *****************************************************************************
	swAACInfo OBJECT IDENTIFIER ::= { swDlinkAACMIB 2}

	swAACMaxLoginMethodList  OBJECT-TYPE
	    SYNTAX     INTEGER
	    MAX-ACCESS read-only
	    STATUS     current
	    DESCRIPTION
	        "The max number of Login method lists supported by the system ."
	    ::= { swAACInfo 1 }

	swAACMaxEnableMethodList  OBJECT-TYPE
	    SYNTAX     INTEGER
	    MAX-ACCESS read-only
	    STATUS     current
	    DESCRIPTION
	        "The max number of Enable method lists supported by the system ."
	    ::= { swAACInfo 2 }

	swAACMaxServerGroup  OBJECT-TYPE
	    SYNTAX     INTEGER
	    MAX-ACCESS read-only
	    STATUS     current
	    DESCRIPTION
	        "The max number of Server Group's supported by the system ."
	    ::= { swAACInfo 3 }

	swAACMaxServer  OBJECT-TYPE
	    SYNTAX     INTEGER
	    MAX-ACCESS read-only
	    STATUS     current
	    DESCRIPTION
	        "The max number of AAC servers supported by the system ."
	    ::= { swAACInfo 4 }

-- *****************************************************************************
-- Tables in the DLinkAAC MIB
-- *****************************************************************************

-- *****************************************************************************
-- Login Method list table
-- *****************************************************************************

	swAACLoginMethodListTable OBJECT-TYPE
	    SYNTAX SEQUENCE OF SwAACLoginMethodListEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION
	        "A table that contains information about Login authentication method
	        lists."

	    ::= { swDlinkAACMIB 3 }

	swAACLoginMethodListEntry OBJECT-TYPE
	    SYNTAX SwAACLoginMethodListEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION
	        "A list of the Authentication methods."
	    INDEX { swAACLoginMethodListName }

	    ::= { swAACLoginMethodListTable 1 }

	SwAACLoginMethodListEntry ::=
	    SEQUENCE {
	--    	swAACLoginMethodListIndex
	--			INTEGER,
	        swAACLoginMethodListName
	            DisplayString,
	        swAACLoginMethod1Type
	        	INTEGER,
	        swAACLoginMethod1ServerGroup
	            DisplayString,
	        swAACLoginMethod2Type
	        	INTEGER,
	        swAACLoginMethod2ServerGroup
	            DisplayString,
	        swAACLoginMethod3Type
	        	INTEGER,
	        swAACLoginMethod3ServerGroup
	            DisplayString,
	        swAACLoginMethod4Type
	        	INTEGER,
	        swAACLoginMethod4ServerGroup
	            DisplayString,
			swAACLoginMethodListRowStatus
				RowStatus

	    }

--	swAACLoginMethodListIndex  OBJECT-TYPE
--	    SYNTAX     INTEGER (1..8)
--	    MAX-ACCESS not-accessible
--	    STATUS     current
--	    DESCRIPTION
--	        "A value that identifies this swAACMethodEntry."
--
--	    ::= { swAACLoginMethodListEntry 1 }

	swAACLoginMethodListName OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(1..15))
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
	        "A human-readable text string of the method list. The string is the
	        same as swAACLoginMethodName."

	    ::= { swAACLoginMethodListEntry 1 }

	swAACLoginMethod1Type OBJECT-TYPE
	    SYNTAX INTEGER {
	                tacacs(1),
	                xtacacs(2),
	                tacacs-plus(3),
	                radius(4),
	                server-group(5),
	                local(6),
	                -- local-enable(7),
	                none(8),
	                other(9)
	            }
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "The type of Login method list. The group type includes tacas(1),
	        xtacacs(2), tacacs-plus(3), radius(4) and server-group(5) for specific
	        users. The keyword type includes local(6), local-enable(7) and
	        none(8)."

	    ::= { swAACLoginMethodListEntry 2 }

	swAACLoginMethod1ServerGroup OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(0..15))
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "A human-readable text string of the server group. It would be null
	        as swAACLoginMethodListType is with the keyword type and it is writeable,
	        just as the swAACLoginMethodListType is in server_group(3)."

	    ::= { swAACLoginMethodListEntry 3 }

	swAACLoginMethod2Type OBJECT-TYPE
	    SYNTAX INTEGER {
	                tacacs(1),
	                xtacacs(2),
	                tacacs-plus(3),
	                radius(4),
	                server-group(5),
	                local(6),
	                -- local-enable(7),
	                none(8),
	                other(9)
	            }
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "The type of Login method list. The group type includes tacas(1),
	        xtacacs(2), tacacs-plus(3), radius(4) and server-group(5) for specific
		users. The keyword type includes local(6), local-enable(7) and
	        none(8)."

	    ::= { swAACLoginMethodListEntry 4 }

	swAACLoginMethod2ServerGroup OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(0..15))
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "A human-readable text string of the server group. It would be null
	        as swAACLoginMethodListType is with the keyword type and it is writeable,
	        just as the swAACLoginMethodListType is in server_group(3)."

	    ::= { swAACLoginMethodListEntry 5 }

	swAACLoginMethod3Type OBJECT-TYPE
	    SYNTAX INTEGER {
	                tacacs(1),
	                xtacacs(2),
	                tacacs-plus(3),
	                radius(4),
	                server-group(5),
	                local(6),
	                -- local-enable(7),
	                none(8),
	                other(9)
	            }
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "The type of Login method list. The group type includes tacas(1),
	        xtacacs(2), tacacs-plus(3), radius(4) and server-group(5) for specific
		 users. The keyword type includes local(6), local-enable(7) and
	        none(8)."

	    ::= { swAACLoginMethodListEntry 6 }

	swAACLoginMethod3ServerGroup OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(0..15))
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "A human-readable text string of the server group. It would be null
	        as swAACLoginMethodListType is with the keyword type and It is writeable,
	        just as the swAACLoginMethodListType is in server_group(3)."

	    ::= { swAACLoginMethodListEntry 7 }

	swAACLoginMethod4Type OBJECT-TYPE
	    SYNTAX INTEGER {
	                tacacs(1),
	                xtacacs(2),
	                tacacs-plus(3),
	                radius(4),
	                server-group(5),
	                local(6),
	                -- local-enable(7),
	                none(8),
	                other(9)
	            }
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "The type of Login method list. The group type includes tacas(1),
	        xtacacs(2), tacacs-plus(3), radius(4) and server-group(5) for specific
 		users. The keyword type includes local(6), local-enable(7), and
	        none(8)."

	    ::= { swAACLoginMethodListEntry 8 }

	swAACLoginMethod4ServerGroup OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(0..15))
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "A human-readable text string of the server group. It would be null
	        as swAACLoginMethodListType is for keyword type. And It is writeable,
	        just as the swAACLoginMethodListType is in server_group(3)."

	    ::= { swAACLoginMethodListEntry 9 }

	swAACLoginMethodListRowStatus OBJECT-TYPE
	    SYNTAX      RowStatus
	    MAX-ACCESS  read-create
	    STATUS      current
	    DESCRIPTION
	        "This object indicates the status of this entry. A set request with
	        RowStatus 'CreateAndGo' will fail when the current entry of
	        the table is equal to the maximum number of
	        swAACLoginMethodListIndex."

	    ::= { swAACLoginMethodListEntry 10 }

-- *****************************************************************************
-- Enable Method table
-- *****************************************************************************
	swAACEnableMethodListTable OBJECT-TYPE
	    SYNTAX SEQUENCE OF SwAACEnableMethodListEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION
	        "A table that contains information about Enable authentication method
	        lists."

	    ::= { swDlinkAACMIB 4 }

	swAACEnableMethodListEntry OBJECT-TYPE
	    SYNTAX SwAACEnableMethodListEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION
	        "A list of the Authentication methods."
	    INDEX { swAACEnableMethodListName }

	    ::= { swAACEnableMethodListTable 1 }

	SwAACEnableMethodListEntry ::=
	    SEQUENCE {
--	    	swAACEnableMethodListIndex
--				INTEGER,
	        swAACEnableMethodListName
	            DisplayString,
	        swAACEnableMethod1Type
	        	INTEGER,
	        swAACEnableMethod1ServerGroup
	            DisplayString,
	        swAACEnableMethod2Type
	        	INTEGER,
	        swAACEnableMethod2ServerGroup
	            DisplayString,
	        swAACEnableMethod3Type
	        	INTEGER,
	        swAACEnableMethod3ServerGroup
	            DisplayString,
	        swAACEnableMethod4Type
	        	INTEGER,
	        swAACEnableMethod4ServerGroup
	            DisplayString,
			swAACEnableMethodListRowStatus
				RowStatus

	    }

--	swAACEnableMethodListIndex  OBJECT-TYPE
--	    SYNTAX     INTEGER (1..8)
--	    MAX-ACCESS not-accessible
--	    STATUS     current
--	    DESCRIPTION
--	        "A value that identifies this swAACMethodEntry."
--
--	    ::= { swAACEnableMethodListEntry 1 }

	swAACEnableMethodListName OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(1..15))
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
	        "A human-readable text string of the method list. The string is the
	        same as swAACEnableMethodName."

	    ::= { swAACEnableMethodListEntry 1 }

	swAACEnableMethod1Type OBJECT-TYPE
	    SYNTAX INTEGER {
	                tacacs(1),
	                xtacacs(2),
	                tacacs-plus(3),
	                radius(4),
	                server-group(5),
	                -- local(6),
	                local-enable(7),
	                none(8),
	                other(9)
	            }
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "The type of Enable method list. The group type includes tacas(1),
	        xtacacs(2), tacacs-plus(3), radius(4) and server-group(5) for user
	        specific. The keyword type includes local(6), local-enable(7) and
	        none(8)."

	    ::= { swAACEnableMethodListEntry 2 }

	swAACEnableMethod1ServerGroup OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(0..15))
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "A human-readable text string of the server group. It would be null
	        as swAACEnableMethodListType is with the keyword type and it is writeable,
	        just as the swAACEnableMethodListType is in server_group(3)."

	    ::= { swAACEnableMethodListEntry 3 }

	swAACEnableMethod2Type OBJECT-TYPE
	    SYNTAX INTEGER {
	                tacacs(1),
	                xtacacs(2),
	                tacacs-plus(3),
	                radius(4),
	                server-group(5),
	                -- local(6),
	                local-enable(7),
	                none(8),
	                other(9)
	            }
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "The type of Enable method list. The group type includes tacas(1),
	        xtacacs(2), tacacs-plus(3), radius(4) and server-group(5) for user
	        specific. The keyword type includes local(6), local-enable(7) and
	        none(8)."

	    ::= { swAACEnableMethodListEntry 4 }

	swAACEnableMethod2ServerGroup OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(0..15))
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "A human-readable text string of the server group. It would be null
	        as swAACEnableMethodListType is with the keyword type and it is writeable,
	        just as the swAACEnableMethodListType is in server_group(3)."

	    ::= { swAACEnableMethodListEntry 5 }

	swAACEnableMethod3Type OBJECT-TYPE
	    SYNTAX INTEGER {
	                tacacs(1),
	                xtacacs(2),
	                tacacs-plus(3),
	                radius(4),
	                server-group(5),
	                -- local(6),
	                local-enable(7),
	                none(8),
	                other(9)
	            }
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "The type of Enable method list. The group type includes tacas(1),
	        xtacacs(2), tacacs-plus(3), radius(4) and server-group(5) for specific
		users. The keyword type includes local(6), local-enable(7) and
	        none(8)."

	    ::= { swAACEnableMethodListEntry 6 }

	swAACEnableMethod3ServerGroup OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(0..15))
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "A human-readable text string of the server group. It would be null
	        as swAACEnableMethodListType is for keyword type and it is writeable,
	        just as the swAACEnableMethodListType is in server_group(3)."

	    ::= { swAACEnableMethodListEntry 7 }

	swAACEnableMethod4Type OBJECT-TYPE
	    SYNTAX INTEGER {
	                tacacs(1),
	                xtacacs(2),
	                tacacs-plus(3),
	                radius(4),
	                server-group(5),
	                -- local(6),
	                local-enable(7),
	                none(8),
	                other(9)
	            }
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "The type of Enable method list. The group type includes tacas(1),
	        xtacacs(2), tacacs-plus(3), radius(4) and server-group(5) for specific
		users. The keyword type includes local(6), local-enable(7) and
	        none(8)."

	    ::= { swAACEnableMethodListEntry 8 }

	swAACEnableMethod4ServerGroup OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(0..15))
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "A human-readable text string of the server group. It would be null
	        as swAACEnableMethodListType is for keyword type and It is writeable,
	        just as the swAACEnableMethodListType is in server_group(3)."

	    ::= { swAACEnableMethodListEntry 9 }

	swAACEnableMethodListRowStatus OBJECT-TYPE
	    SYNTAX      RowStatus
	    MAX-ACCESS  read-create
	    STATUS      current
	    DESCRIPTION
	        "This object indicates the status of this entry. A set request with
	        RowStatus 'CreateAndGo' will fail when the current entry in
	        the table is equal to the maximum number of
	        swAACEnableMethodListIndex."

	    ::= { swAACEnableMethodListEntry 10 }


-- *****************************************************************************
-- groups in the DLinkAAC MIB
-- *****************************************************************************
-- *****************************************************************************
-- swAACAPAuthMethodGroup OBJECT IDENTIFIER ::= { swDlinkAACMIB 7 }
-- *****************************************************************************
	swAACAPAuthMethodGroup OBJECT IDENTIFIER ::= { swDlinkAACMIB 7 }

	swAACAPLoginMethod OBJECT IDENTIFIER ::= { swAACAPAuthMethodGroup 1 }
	swAACAPEnableMethod OBJECT IDENTIFIER ::= { swAACAPAuthMethodGroup 2 }

	swAACAPConsoleLoginMethod OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(1..15))
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	        "Specifies the way to execute authentication when logging into the
	        system and the method for authentication.Access system via local
	        console"

	    ::= { swAACAPLoginMethod 1 }

	swAACAPTelnetLoginMethod OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(1..15))
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	        "Specifies the way to execute authentication when logging into the
	        system and the method for authentication.Access system via telnet."

	    ::= { swAACAPLoginMethod 2 }

	swAACAPSSHLoginMethod OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(1..15))
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	        "Specifies the way to execute authentication when logging into the
	        system and the method for authentication.Access system via SSH."

	    ::= { swAACAPLoginMethod 3 }

	swAACAPHttpLoginMethod OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(1..15))
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	        "Specifies the way to execute authentication when logging into the
	        system and the method for authentication.Access system via HTTP."

	    ::= { swAACAPLoginMethod 4 }

	swAACAPConsoleEnableMethod OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(1..15))
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	        "Specifies the way to execute authentication when logging into the
	        system and the method for authentication.Access system via local
	        console."
	    ::= { swAACAPEnableMethod 1 }

	swAACAPTelnetEnableMethod OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(1..15))
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	        "Specifies the way to execute authentication when logging into the
	        system and the method for authentication.Access system via telnet."

	    ::= { swAACAPEnableMethod 2 }

	swAACAPSSHEnableMethod OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(1..15))
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	        "Specifies the way to execute authentication when logging into the
	        system and the method for authentication.Access system via SSH."

	    ::= { swAACAPEnableMethod 3 }

	swAACAPHttpEnableMethod OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(1..15))
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	        "Specifies the way to execute authentication when logging into the
	        system and the method for authentication.Access system via HTTP."

	    ::= { swAACAPEnableMethod 4 }

-- *****************************************************************************
-- swAACAPAuthParamGroup OBJECT IDENTIFIER ::= { swDlinkAACMIB 8 }
-- *****************************************************************************
	swAACAuthParamGroup OBJECT IDENTIFIER ::= { swDlinkAACMIB 8 }

	swAACAuthParamResponseTimeout  OBJECT-TYPE
		    SYNTAX     INTEGER (0..255)
		    MAX-ACCESS read-write
		    STATUS     current
		    DESCRIPTION
		        "Timeout in seconds for login authentication response."
		    ::= { swAACAuthParamGroup 1 }

	swAACAuthParamAttempt  OBJECT-TYPE
		    SYNTAX     INTEGER (1..255)
		    MAX-ACCESS read-write
		    STATUS     current
		    DESCRIPTION
		        "The amount of login authentication attempts, if login failure
			 exceeds, connection or access will be locked."
		    ::= { swAACAuthParamGroup 2 }
-- *****************************************************************************
-- swAACServerGroup OBJECT IDENTIFIER ::= { swDlinkAACMIB 9 }
-- *****************************************************************************
	swAACServerGroupTable OBJECT-TYPE
	    SYNTAX SEQUENCE OF SwAACServerGroupEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION
	        "A table that contains information about a server group."
	    ::= { swDlinkAACMIB 9 }

	swAACServerGroupEntry OBJECT-TYPE
	    SYNTAX SwAACServerGroupEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION
	        "A list of the groups including servers."
	    INDEX { swAACServerGroupName }
	    ::= { swAACServerGroupTable 1 }

	SwAACServerGroupEntry ::=
	    SEQUENCE {
--	    	swAACServerGroupIndex
--				INTEGER,
	        swAACServerGroupName
	            DisplayString,
			swAACServerGroupIPAddr1
				IpAddress,
			swAACServerGroupAuthProtocol1
				INTEGER,
			swAACServerGroupIPAddr2
				IpAddress,
			swAACServerGroupAuthProtocol2
				INTEGER,
			swAACServerGroupIPAddr3
				IpAddress,
			swAACServerGroupAuthProtocol3
				INTEGER,
			swAACServerGroupIPAddr4
				IpAddress,
			swAACServerGroupAuthProtocol4
				INTEGER,
			swAACServerGroupIPAddr5
				IpAddress,
			swAACServerGroupAuthProtocol5
				INTEGER,
			swAACServerGroupIPAddr6
				IpAddress,
			swAACServerGroupAuthProtocol6
				INTEGER,
			swAACServerGroupIPAddr7
				IpAddress,
			swAACServerGroupAuthProtocol7
				INTEGER,
			swAACServerGroupIPAddr8
				IpAddress,
			swAACServerGroupAuthProtocol8
				INTEGER,
	        swAACServerGroupRowStatus
	            RowStatus
	    }

--	swAACServerGroupIndex  OBJECT-TYPE
--	    SYNTAX     INTEGER (1..8)
--	    MAX-ACCESS not-accessible
--	    STATUS     current
--	    DESCRIPTION
--	        "A value that uniquely identifies this SwAACServerGroupEntry ."
--
--	    ::= { swAACServerGroupEntry 1 }

	swAACServerGroupName OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(1..15))
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
	        "A human-readable text string of the method group."

	    ::= { swAACServerGroupEntry 1 }


	swAACServerGroupIPAddr1 OBJECT-TYPE
	    SYNTAX      IpAddress
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The IP address of Server"

	    ::= { swAACServerGroupEntry 2 }

	swAACServerGroupAuthProtocol1 OBJECT-TYPE
	    SYNTAX      INTEGER{
	    				tacacs(1),
	                    xtacacs(2),
	                    tacacs-plus(3),
	                    radius(4),
	                    none(5),
	                    other(6)
	                }
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The authentication protocol provided by the Server."

	    ::= { swAACServerGroupEntry 3 }

	swAACServerGroupIPAddr2 OBJECT-TYPE
	    SYNTAX      IpAddress
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The IP address of Server"

	    ::= { swAACServerGroupEntry 4 }

	swAACServerGroupAuthProtocol2 OBJECT-TYPE
	    SYNTAX      INTEGER{
	    				tacacs(1),
	                    xtacacs(2),
	                    tacacs-plus(3),
	                    radius(4),
	                    none(5),
	                    other(6)
	                }
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The authentication protocol provided by the Server."

	    ::= { swAACServerGroupEntry 5 }

	swAACServerGroupIPAddr3 OBJECT-TYPE
	    SYNTAX      IpAddress
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The IP address of Server"

	    ::= { swAACServerGroupEntry 6 }

	swAACServerGroupAuthProtocol3 OBJECT-TYPE
	    SYNTAX      INTEGER{
	    				tacacs(1),
	                    xtacacs(2),
	                    tacacs-plus(3),
	                    radius(4),
	                    none(5),
	                    other(6)
	                }
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The authentication protocol provided by the Server."

	    ::= { swAACServerGroupEntry 7 }

	swAACServerGroupIPAddr4 OBJECT-TYPE
	    SYNTAX      IpAddress
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The IP address of the Server"

	    ::= { swAACServerGroupEntry 8 }

	swAACServerGroupAuthProtocol4 OBJECT-TYPE
	    SYNTAX      INTEGER{
	    				tacacs(1),
	                    xtacacs(2),
	                    tacacs-plus(3),
	                    radius(4),
	                    none(5),
	                    other(6)
	                }
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The authentication protocol provided by the Server."

	    ::= { swAACServerGroupEntry 9 }

	swAACServerGroupIPAddr5 OBJECT-TYPE
	    SYNTAX      IpAddress
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The IP address of the Server"

	    ::= { swAACServerGroupEntry 10 }

	swAACServerGroupAuthProtocol5 OBJECT-TYPE
	    SYNTAX      INTEGER{
	    				tacacs(1),
	                    xtacacs(2),
	                    tacacs-plus(3),
	                    radius(4),
	                    none(5),
	                    other(6)
	                }
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The authentication protocol provided by the Server."

	    ::= { swAACServerGroupEntry 11 }

	swAACServerGroupIPAddr6 OBJECT-TYPE
	    SYNTAX      IpAddress
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The IP address of the Server"

	    ::= { swAACServerGroupEntry 12 }

	swAACServerGroupAuthProtocol6 OBJECT-TYPE
	    SYNTAX      INTEGER{
	    				tacacs(1),
	                    xtacacs(2),
	                    tacacs-plus(3),
	                    radius(4),
	                    none(5),
	                    other(6)
	                }
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The authentication protocol provided by the Server."

	    ::= { swAACServerGroupEntry 13 }

	swAACServerGroupIPAddr7 OBJECT-TYPE
	    SYNTAX      IpAddress
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The IP address of Server"

	    ::= { swAACServerGroupEntry 14 }

	swAACServerGroupAuthProtocol7 OBJECT-TYPE
	    SYNTAX      INTEGER{
	    				tacacs(1),
	                    xtacacs(2),
	                    tacacs-plus(3),
	                    radius(4),
	                    none(5),
	                    other(6)
	                }
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The authentication protocol provided by the Server."

	    ::= { swAACServerGroupEntry 15 }

	swAACServerGroupIPAddr8 OBJECT-TYPE
	    SYNTAX      IpAddress
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The IP address of Server"

	    ::= { swAACServerGroupEntry 16 }

	swAACServerGroupAuthProtocol8 OBJECT-TYPE
	    SYNTAX      INTEGER{
	    				tacacs(1),
	                    xtacacs(2),
	                    tacacs-plus(3),
	                    radius(4),
	                    none(5),
	                    other(6)
	                }
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The authentication protocol provided by the Server."

	    ::= { swAACServerGroupEntry 17 }

	swAACServerGroupRowStatus	OBJECT-TYPE
	    SYNTAX      RowStatus
	    MAX-ACCESS  read-create
	    STATUS      current
	    DESCRIPTION
	        "This object indicates the status of this entry. A set request with
		RowStatus 'CreateAndGo' will fail when the current entry in the table
		is equal to swAACMaxServerGroup. "

	    ::= { swAACServerGroupEntry 18 }

-- *****************************************************************************
-- swAACServerInfo OBJECT IDENTIFIER ::= { swDlinkAACMIB 10 }
-- *****************************************************************************

	swAACServerInfoTable OBJECT-TYPE
	    SYNTAX SEQUENCE OF SwAACServerInfoEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION
	        "A table that contains information about severs."
	    ::= { swDlinkAACMIB 10 }

	swAACServerInfoEntry OBJECT-TYPE
	    SYNTAX SwAACServerInfoEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION
	        "A list of the information of server ."
	    INDEX { swAACServerIPAddr,swAACServerAuthProtocol }
	    ::= { swAACServerInfoTable 1 }

	SwAACServerInfoEntry ::=
	    SEQUENCE {
			swAACServerIPAddr
				IpAddress,
			swAACServerAuthProtocol
				INTEGER,
			swAACServerAuthPort
				INTEGER,
			swAACServerAuthKey
				DisplayString,
	        swAACServerTimeout
	            INTEGER,
	        swAACServerRetryCount
	            INTEGER,
	        swAACServerRowStatus
	            RowStatus
	    }

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

	swAACServerAuthProtocol OBJECT-TYPE
	    SYNTAX      INTEGER{
	                    tacacs(1),
	                    xtacacs(2),
	                    tacacs-plus(3),
	                    radius(4)
	                }
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION
	        "The authentication protocol provided by the Server."
	    ::= { swAACServerInfoEntry 2 }

	swAACServerAuthPort OBJECT-TYPE
	    SYNTAX      INTEGER(1..65535)
	    MAX-ACCESS  read-create
	    STATUS      current
	    DESCRIPTION
	        "The TCP/IP port. The default authentication port is 49 and port numbers
	        5001 to 65535 are valid settings in the system , other values, except
	        49,5001-65535 will work when set in this object."
	    ::= { swAACServerInfoEntry 3 }

	swAACServerAuthKey OBJECT-TYPE
	    SYNTAX DisplayString(SIZE(0..255))
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
	        "The key used during the authentication process .It is write-only."

	    ::= { swAACServerInfoEntry 4 }

	swAACServerTimeout OBJECT-TYPE
	    SYNTAX      INTEGER(1..255)
	    MAX-ACCESS  read-create
	    STATUS      current
	    DESCRIPTION
	        "Server response timeout ."
	    ::= { swAACServerInfoEntry 5 }

	swAACServerRetryCount OBJECT-TYPE
	    SYNTAX      INTEGER(1..255)
	    MAX-ACCESS  read-create
	    STATUS      current
	    DESCRIPTION
	        "The client retry count ."
	    ::= { swAACServerInfoEntry 6 }    
	
	swAACServerRowStatus OBJECT-TYPE
	    SYNTAX      RowStatus
	    MAX-ACCESS  read-create
	    STATUS      current
	    DESCRIPTION
	        "This object indicates the status of this entry. A set request with 
	        RowStatus 'CreateAndGo' will fail when the current entry in
	        the table is equal to swAACMaxServer. "        
	    ::= { swAACServerInfoEntry 7 }
    
-- *****************************************************************************
-- swAACServerGroupCtrl OBJECT IDENTIFIER ::= { swDlinkAACMIB 12 }
-- *****************************************************************************

	swAACServerCtrlTable OBJECT-TYPE
	    SYNTAX SEQUENCE OF SwAACServerCtrlEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION
	        "A table that is used to add/delete a server from the group."
	    ::= { swDlinkAACMIB 12 }

	swAACServerCtrlEntry OBJECT-TYPE
	    SYNTAX SwAACServerCtrlEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION
	        "A table that is used to add/delete a server from group."
	    INDEX { swAACCtrlServerGroupName,swAACCtrlServerIPAddr,swAACCtrlServerAuthProtocol }
	    ::= { swAACServerCtrlTable 1 }

	SwAACServerCtrlEntry ::=
	    SEQUENCE {
	    	swAACCtrlServerGroupName
	    		DisplayString,
	    	swAACCtrlServerIPAddr
	    		IpAddress,
	    	swAACCtrlServerAuthProtocol
	    		INTEGER,
	        swAACCtrlServerRowState
	            INTEGER
	    }

	swAACCtrlServerGroupName OBJECT-TYPE
	    SYNTAX      DisplayString(SIZE(1..15))
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	        "A human-readable text string of the method group."
	    ::= { swAACServerCtrlEntry 1 }

	swAACCtrlServerIPAddr OBJECT-TYPE
	    SYNTAX      IpAddress
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	        "The IP address of the Server"
	    ::= { swAACServerCtrlEntry 2 }

	swAACCtrlServerAuthProtocol OBJECT-TYPE
	    SYNTAX      INTEGER{
	                    tacacs(1),
	                    xtacacs(2),
	                    tacacs-plus(3),
	                    radius(4)
	                }
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	        "The authentication protocol provided by the Server."
	    ::= { swAACServerCtrlEntry 3 }

	swAACCtrlServerRowState OBJECT-TYPE
	    SYNTAX      INTEGER{
	                    add(1),
	                    delete(2)
	                }
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
	        "This object is used to add or delete an entry from swAACServerGroupTable."
	    ::= { swAACServerCtrlEntry 4 }

END
