--  ============================================================================
-- AT-VCSTACK.MIB, Allied Telesis enterprise
--
-- Copyright (c) 2009 by Allied Telesis, Inc.
-- All rights reserved.
--
-- ============================================================================

	AT-VCSTACK-MIB DEFINITIONS ::= BEGIN
 
		IMPORTS
			sysinfo
				FROM AT-SMI-MIB		
			Unsigned32, Counter32, MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE
				FROM SNMPv2-SMI			
			DisplayString, TruthValue, MacAddress		
				FROM SNMPv2-TC;
	
	  
		vcstack MODULE-IDENTITY 
			LAST-UPDATED "200906080000Z"		-- June 8, 2009 at 00:00 GMT
			ORGANIZATION 
				"Allied Telesis, Inc"
			CONTACT-INFO 
				"http://www.alliedtelesis.com"
			DESCRIPTION 
				"This MIB file contains definitions of managed objects for
				Virtual Chassis Stacking in AlliedWare Plus. " 
			REVISION "200906080000Z"		-- June 8, 2009 at 00:00 GMT
			DESCRIPTION 
				"Corrected allowable ranges for learned neighbour stack ID's."
			REVISION "200803190000Z"		-- March 19, 2008 at 00:00 GMT
			DESCRIPTION 
				"Initial version."
			::= { sysinfo 13 }

--
-- Node definitions
--
		vcstackStatus OBJECT-TYPE
			SYNTAX INTEGER {
					normalOperation (1),
					operatingInFailoverState (2),
					standaloneUnit (3),
					ringTopologyBroken (4) }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The overall stack status."
			::= { vcstack 1 }

		vcstackOperationalStatus OBJECT-TYPE
			SYNTAX INTEGER {
					enabled (1),
					disabled (2) }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Whether the stack is enabled or disabled."
			::= { vcstack 2 }

		vcstackMgmtVlanId OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The current stacking management VLAN ID."
			::= { vcstack 3 }

		vcstackMgmtVlanSubnetAddr OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The current stacking management VLAN subnet address."
			::= { vcstack 4 }

		vcstackTable OBJECT-TYPE
			SYNTAX SEQUENCE OF VCStackEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A list of stack members."
			::= { vcstack 5 }

		vcstackEntry OBJECT-TYPE
			SYNTAX VCStackEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A set of parameters that describe the status of a stack member"
			INDEX { vcstackId }
			::= { vcstackTable 1 }

		VCStackEntry ::= SEQUENCE {
			vcstackId
				Unsigned32,
			vcstackPendingId
				Unsigned32,
			vcstackMacAddr
				MacAddress,
			vcstackPriority
				Unsigned32,
			vcstackRole
				INTEGER,
			vcstackLastRoleChange
				DisplayString,
			vcstackHostname
				DisplayString,
			vcstackProductType
				DisplayString,
			vcstackSWVersionAutoSync
				TruthValue,
			vcstackFallbackConfigStatus
				INTEGER,
			vcstackFallbackConfigFilename
				DisplayString,
			vcstackResiliencyLinkStatus
				INTEGER,
			vcstackResiliencyLinkInterfaceName
				DisplayString,
			vcstackActiveStkHardware
				INTEGER,
			vcstackStkPort1Status
				INTEGER,
			vcstackStkPort1NeighbourId
				Unsigned32,
			vcstackStkPort2Status
				INTEGER,
			vcstackStkPort2NeighbourId
				Unsigned32,
			vcstackNumMembersJoined
				Counter32,
			vcstackNumMembersLeft
				Counter32,
			vcstackNumIdConflict
				Counter32,
			vcstackNumMasterConflict
				Counter32,
			vcstackNumMasterFailover
				Counter32,
			vcstackNumStkPort1NbrIncompatible
				Counter32,
			vcstackNumStkPort2NbrIncompatible
				Counter32
			}

		vcstackId OBJECT-TYPE
			SYNTAX Unsigned32 (1..8)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Stack member ID."
			::= { vcstackEntry 1 }

		vcstackPendingId OBJECT-TYPE
			SYNTAX Unsigned32 (1..8)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The pending stack member ID."
			::= { vcstackEntry 2 }

		vcstackMacAddr OBJECT-TYPE
			SYNTAX MacAddress
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Stack member's hardware MAC address."
			::= { vcstackEntry 3 }

		vcstackPriority OBJECT-TYPE
			SYNTAX Unsigned32 (0..255)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The priority for election of the stack master. The lowest number has the highest priority."
			::= { vcstackEntry 4 }

		vcstackRole OBJECT-TYPE
			SYNTAX INTEGER {
					leaving (1),
					discovering (2),
					synchronizing (3),
					backupMember (4),
					pendingMaster (5),
					disabledMaster (6),
					fallbackMaster (7),
					activeMaster (8) }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Stack member's role in the stack."
			::= { vcstackEntry 5 }

		vcstackLastRoleChange OBJECT-TYPE
				SYNTAX DisplayString
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The time and date when the stack member last changed its role in the stack."
				::= { vcstackEntry 6 }

		vcstackHostname OBJECT-TYPE
				SYNTAX DisplayString
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"Stack member's hostname."
				::= { vcstackEntry 7 }

		vcstackProductType OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Stack members product type."
			::= { vcstackEntry 8 }

		vcstackSWVersionAutoSync OBJECT-TYPE
			SYNTAX TruthValue
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Whether or not to automatically upgrade the stack member's software."
			::= { vcstackEntry 9 }

		vcstackFallbackConfigStatus OBJECT-TYPE
			SYNTAX INTEGER {
					fileExists (1),
					fileNotFound (2),
					notConfigured (3) }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The status of the fallback configuration file."
			::= { vcstackEntry 10 }

		vcstackFallbackConfigFilename OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The filename of the fallback configuration file."
			::= { vcstackEntry 11 }

		vcstackResiliencyLinkStatus OBJECT-TYPE
			SYNTAX INTEGER { 
					configured (1),
					successful (2),	
					failed (3),
					notConfigured (4) }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The status of the stack members resilency link."
			::= { vcstackEntry 12 }

		vcstackResiliencyLinkInterfaceName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The name of the interface the resiliency link is configured on."
			::= { vcstackEntry 13 }

		vcstackActiveStkHardware OBJECT-TYPE
			SYNTAX INTEGER { 
					xemStk (1),
					builtinStackingPorts (2),
					none (3) }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The stack ports hardware type."
			::= { vcstackEntry 14 }

		vcstackStkPort1Status OBJECT-TYPE
			SYNTAX INTEGER { 
					down (1), 
					neighbourIncompatible (2),
					discoveringNeighbour (3),
					learntNeighbour (4) }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Status of the stack port 1."
			::= { vcstackEntry 15 }

		vcstackStkPort1NeighbourId OBJECT-TYPE
			SYNTAX Unsigned32 (0..8)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The ID of the neighbour on stack port 1. A value of zero
				 indicates no learned neighbour."
			::= { vcstackEntry 16 }

		vcstackStkPort2Status OBJECT-TYPE
			SYNTAX INTEGER { 
					down (1), 
					neighbourIncompatible (2),
					discoveringNeighbour (3),
					learntNeighbour (4) }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Status of the stack port 2."
			::= { vcstackEntry 17 }

		vcstackStkPort2NeighbourId OBJECT-TYPE
			SYNTAX Unsigned32 (0..8)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The ID of the neighbour on stack port 2. A value of zero
				 indicates no learned neighbour."
			::= { vcstackEntry 18 }

		vcstackNumMembersJoined OBJECT-TYPE
			SYNTAX Counter32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The number of times the stack acquires a member."
			::= { vcstackEntry 19 }

		vcstackNumMembersLeft OBJECT-TYPE
			SYNTAX Counter32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The number of times the stack loses a member."
			::= { vcstackEntry 20 }

		vcstackNumIdConflict OBJECT-TYPE
			SYNTAX Counter32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The number of times that a stack member ID conflicts."
			::= { vcstackEntry 21 }

		vcstackNumMasterConflict OBJECT-TYPE
			SYNTAX Counter32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The number of times that a stack master conflict occurs."
			::= { vcstackEntry 22 }

		vcstackNumMasterFailover OBJECT-TYPE
			SYNTAX Counter32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The number of times that the stack master fails."
			::= { vcstackEntry 23 }

		vcstackNumStkPort1NbrIncompatible OBJECT-TYPE
			SYNTAX Counter32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The number of times that the neighbour is detected as incompatible on stack port 1."
			::= { vcstackEntry 24 }

		vcstackNumStkPort2NbrIncompatible OBJECT-TYPE
			SYNTAX Counter32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The number of times that the neighbour is detected as incompatible on stack port 2."
			::= { vcstackEntry 25 }

--
-- The VCS SNMP Trap Objects
--

		vcstackTraps    OBJECT IDENTIFIER ::= { vcstack 6 }

		vcstackRoleChange NOTIFICATION-TYPE
			OBJECTS { 
					vcstackId,
					vcstackRole
					}
			STATUS  current
			DESCRIPTION
				"A trap generated when the stack member's role is changed."
			::= { vcstackTraps 1 }

		vcstackMemberJoin NOTIFICATION-TYPE
			OBJECTS { 
					vcstackId,
					vcstackNbrMemberId
					}
			STATUS  current
			DESCRIPTION
				"A trap generated when a member joins in the stack."
			::= { vcstackTraps 2 }

		vcstackMemberLeave NOTIFICATION-TYPE
			OBJECTS { 
					vcstackId,
					vcstackNbrMemberId
					}
			STATUS  current
			DESCRIPTION
				"A trap generated when a member leaves from the stack."
			::= { vcstackTraps 3 }

		vcstackResiliencyLinkHealthCheckReceiving NOTIFICATION-TYPE
			OBJECTS { 
					vcstackId,
					vcstackResiliencyLinkInterfaceName
					}
			STATUS  current
			DESCRIPTION
				"A trap generated when the resiliency link is activated."
			::= { vcstackTraps 4 }

		vcstackResiliencyLinkHealthCheckTimeOut NOTIFICATION-TYPE
			OBJECTS { 
					vcstackId,
					vcstackResiliencyLinkInterfaceName
					}
			STATUS  current
			DESCRIPTION
				"A trap generated when the slave's receive timer has timed out
				 indicating that the Slave has lost contact with the Master
				 via the resiliency link."
			::= { vcstackTraps 5 }

		vcstackStkPortLinkUp NOTIFICATION-TYPE
			OBJECTS { 
					vcstackId,
					vcstackStkPortName
					}
			STATUS  current
			DESCRIPTION
				"A trap generated when the link of stack port is up."
			::= { vcstackTraps 6 }

		vcstackStkPortLinkDown NOTIFICATION-TYPE
			OBJECTS { 
					vcstackId,
					vcstackStkPortName
					}
			STATUS  current
			DESCRIPTION
				"A trap generated when the link of stack port is down."
			::= { vcstackTraps 7 }

		vcstackNbrMemberId OBJECT-TYPE
			SYNTAX Unsigned32 (1..8)
			MAX-ACCESS accessible-for-notify
			STATUS current
			DESCRIPTION
				"The stack member id of the neighbor of the member sent this trap."
			::= { vcstackTraps 8 }

		vcstackStkPortName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS accessible-for-notify
			STATUS current
			DESCRIPTION
				"The stack port name related this trap."
			::= { vcstackTraps 9 }

	END
         
--
-- at-vcstack.mib
--
