#-MIBFILE: cisco-vlan-membership.mib

CISCO-VLAN-MEMBERSHIP-MIB DEFINITIONS ::= BEGIN


DisplayString ::=
	OCTET STRING (SIZE(0..255))

PhysAddress ::=
	OCTET STRING

MacAddress ::=
	OCTET STRING (SIZE(6))

TruthValue ::=
	INTEGER {
	true(1),
	false(2)
	}

TestAndIncr ::=
	INTEGER (0..2147483647)

AutonomousType ::=
	OBJECT IDENTIFIER

InstancePointer ::=
	OBJECT IDENTIFIER

VariablePointer ::=
	OBJECT IDENTIFIER

RowPointer ::=
	OBJECT IDENTIFIER

RowStatus ::=
	INTEGER {
	active(1),
	notInService(2),
	notReady(3),
	createAndGo(4),
	createAndWait(5),
	destroy(6)
	}

TimeStamp ::=
	TimeTicks

TimeInterval ::=
	INTEGER (0..2147483647)

DateAndTime ::=
	OCTET STRING (SIZE(8|11))

StorageType ::=
	INTEGER {
	other(1),
	volatile(2),
	nonVolatile(3),
	permanent(4),
	readOnly(5)
	}

TDomain ::=
	OBJECT IDENTIFIER

TAddress ::=
	OCTET STRING (SIZE(1..255))

OwnerString ::=
	OCTET STRING (SIZE(0..255))

InterfaceIndex ::=
	INTEGER (1..2147483647)

InterfaceIndexOrZero ::=
	INTEGER (0..2147483647)

mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
ifTable OBJECT IDENTIFIER ::= { interfaces 2 }
ifEntry OBJECT IDENTIFIER ::= { ifTable 1 }
ifIndex OBJECT IDENTIFIER ::= { ifEntry 1 }
cisco OBJECT IDENTIFIER ::= { enterprises 9 }
ciscoMgmt OBJECT IDENTIFIER ::= { cisco 9 }
VlanIndex ::=
	INTEGER (0..4095)

ManagementDomainIndex ::=
	INTEGER (1..255)

VlanType ::=
	INTEGER {
	ethernet(1),
	fddi(2),
	tokenRing(3),
	fddiNet(4),
	trNet(5),
	deprecated(6)
	}

VlanTypeExt ::=
	OCTET STRING {
	vtpmanageable(0),
	internal(1),
	reserved(2),
	rspan(3),
	dynamicGvrp(4)
	}

CiscoNetworkProtocol ::=
	INTEGER {
	ip(1),
	decnet(2),
	pup(3),
	chaos(4),
	xns(5),
	x121(6),
	appletalk(7),
	clns(8),
	lat(9),
	vines(10),
	cons(11),
	apollo(12),
	stun(13),
	novell(14),
	qllc(15),
	snapshot(16),
	atmIlmi(17),
	bstun(18),
	x25pvc(19),
	ipv6(20),
	cdm(21),
	nbf(22),
	bpxIgx(23),
	clnsPfx(24),
	http(25),
	unknown(65535)
	}

CiscoNetworkAddress ::=
	OCTET STRING

Unsigned64 ::=
	OCTET STRING

SAPType ::=
	INTEGER (0..254)

CountryCode ::=
	OCTET STRING (SIZE(0|2))

CountryCodeITU ::=
	OCTET STRING

EntPhysicalIndexOrZero ::=
	INTEGER (0..2147483647)

CiscoRowOperStatus ::=
	INTEGER {
	active(1),
	activeDependencies(2),
	inactiveDependency(3),
	missingDependency(4)
	}

CiscoPort ::=
	INTEGER (0..65535)

CiscoIpProtocol ::=
	INTEGER (0..255)

CiscoLocationClass ::=
	INTEGER {
	chassis(1),
	shelf(2),
	slot(3),
	subSlot(4),
	port(5),
	subPort(6),
	channel(7),
	subChannel(8)
	}

CiscoLocationSpecifier ::=
	OCTET STRING (SIZE(0..255))

CiscoInetAddressMask ::=
	OCTET STRING

CiscoAbsZeroBasedCounter32 ::=
	Gauge

CiscoSnapShotAbsCounter32 ::=
	OCTET STRING

CiscoAlarmSeverity ::=
	INTEGER {
	cleared(1),
	indeterminate(2),
	critical(3),
	major(4),
	minor(5),
	warning(6),
	info(7)
	}

PerfHighIntervalCount ::=
	OCTET STRING

ConfigIterator ::=
	OCTET STRING

BulkConfigResult ::=
	OCTET STRING (SIZE(0..255))

ListIndex ::=
	INTEGER (1..2147483647)

ListIndexOrZero ::=
	INTEGER (0..2147483647)

TimeIntervalSec ::=
	OCTET STRING

TimeIntervalMin ::=
	OCTET STRING

CiscoMilliSeconds ::=
	OCTET STRING

MicroSeconds ::=
	OCTET STRING

CiscoPortList ::=
	OCTET STRING (SIZE(0..256))

CiscoPortListRange ::=
	INTEGER {
	oneto2k(1),
	twoKto4K(2),
	fourKto6K(3),
	sixKto8K(4),
	eightKto10K(5),
	tenKto12K(6),
	twelveKto14K(7),
	fourteenKto16K(8)
	}

IfOperStatusReason ::=
	INTEGER {
	other(1),
	none(2),
	hwFailure(3),
	loopbackDiagFailure(4),
	errorDisabled(5),
	swFailure(6),
	linkFailure(7),
	offline(8),
	nonParticipating(9),
	initializing(10),
	vsanInactive(11),
	adminDown(12),
	channelAdminDown(13),
	channelOperSuspended(14),
	channelConfigurationInProgress(15),
	rcfInProgress(16),
	elpFailureIsolation(17),
	escFailureIsolation(18),
	domainOverlapIsolation(19),
	domainAddrAssignFailureIsolation(20),
	domainOtherSideEportIsolation(21),
	domainInvalidRcfReceived(22),
	domainManagerDisabled(23),
	zoneMergeFailureIsolation(24),
	vsanMismatchIsolation(25),
	parentDown(26),
	srcPortNotBound(27),
	interfaceRemoved(28),
	fcotNotPresent(29),
	fcotVendorNotSupported(30),
	incompatibleAdminMode(31),
	incompatibleAdminSpeed(32),
	suspendedByMode(33),
	suspendedBySpeed(34),
	suspendedByWWN(35),
	domainMaxReTxFailure(36),
	eppFailure(37),
	portVsanMismatchIsolation(38),
	loopbackIsolation(39),
	upgradeInProgress(40),
	incompatibleAdminRxBbCredit(41),
	incompatibleAdminRxBufferSize(42),
	portChannelMembersDown(43),
	zoneRemoteNoRespIsolation(44),
	firstPortUpAsEport(45),
	firstPortNotUp(46),
	peerFCIPPortClosedConnection(47),
	peerFCIPPortResetConnection(48),
	fcipPortMaxReTx(49),
	fcipPortKeepAliveTimerExpire(50),
	fcipPortPersistTimerExpire(51),
	fcipPortSrcLinkDown(52),
	fcipPortSrcAdminDown(53),
	fcipPortAdminCfgChange(54),
	fcipSrcPortRemoved(55),
	fcipSrcModuleNotOnline(56),
	invalidConfig(57),
	portBindFailure(58),
	portFabricBindFailure(59),
	noCommonVsanIsolation(60),
	ficonVsanDown(61),
	invalidAttachment(62),
	portBlocked(63),
	incomAdminRxBbCreditPerBuf(64),
	tooManyInvalidFlogis(65),
	deniedDueToPortBinding(66),
	elpFailureRevMismatch(67),
	elpFailureClassFParamErr(68),
	elpFailureClassNParamErr(69),
	elpFailureUnknownFlowCtlCode(70),
	elpFailureInvalidFlowCtlParam(71),
	elpFailureInvalidPortName(72),
	elpFailureInvalidSwitchName(73),
	elpFailureRatovEdtovMismatch(74),
	elpFailureLoopbackDetected(75),
	elpFailureInvalidTxBbCredit(76),
	elpFailureInvalidPayloadSize(77),
	bundleMisCfg(78),
	bitErrRuntimeThreshExceeded(79),
	linkFailLinkReset(80),
	linkFailPortInitFail(81),
	linkFailPortUnusable(82),
	linkFailLossOfSignal(83),
	linkFailLossOfSync(84),
	linkFailNosRcvd(85),
	linkFailOlsRcvd(86),
	linkFailDebounceTimeout(87),
	linkFailLrRcvd(88),
	linkFailCreditLoss(89),
	linkFailRxQOverflow(90),
	linkFailTooManyInterrupts(91),
	linkFailLipRcvdBb(92),
	linkFailBbCreditLoss(93),
	linkFailOpenPrimSignalTimeout(94),
	linkFailOpenPrimSignalReturned(95),
	linkFailLipF8Rcvd(96),
	linkFailLineCardPortShutdown(97),
	fcspAuthenfailure(98),
	fcotChecksumError(99),
	ohmsExtLoopbackTest(100),
	invalidFabricBindExchange(101),
	tovMismatch(102),
	ficonNotEnabled(103),
	ficonNoPortNumber(104),
	ficonBeingEnabled(105),
	ePortProhibited(106),
	portGracefulShutdown(107),
	trunkNotFullyActive(108),
	fabricBindingSwitchWwnNotFound(109),
	fabricBindingDomainInvalid(110),
	fabricBindingDbMismatch(111),
	fabricBindingNoRspFromPeer(112),
	dpvmVsanSuspended(113),
	dpvmVsanNotFound(114),
	trackedPortDown(115),
	ecSuspendedOnLoop(116),
	isolateBundleMisCfg(117),
	noPeerBundleSupport(118),
	portBringupIsolation(119),
	domainNotAllowedIsolated(120),
	virtualIvrDomainOverlapIsolation(121),
	outOfService(122),
	portAuthFailed(123),
	bundleStandby(124),
	portConnectorTypeErr(125),
	errorDisabledReInitLmtReached(126),
	ficonDupPortNum(127),
	localRcf(128),
	twoSwitchesWithSameWWN(129),
	invalidOtherSidePrincEFPReqRecd(130),
	domainOther(131)
	}

EntLogicalIndexOrZero ::=
	INTEGER (0..2147483647)

CiscoURLString ::=
	OCTET STRING (SIZE(1..255))

CiscoHTTPResponseStatusCode ::=
	OCTET STRING

CvE164Address ::=
	OCTET STRING (SIZE(1..128))

ciscoVlanMembershipMIB OBJECT IDENTIFIER ::= { ciscoMgmt 68 }

ciscoVlanMembershipMIBObjects OBJECT IDENTIFIER ::= { ciscoVlanMembershipMIB 1 }

vmVmps OBJECT IDENTIFIER ::= { ciscoVlanMembershipMIBObjects 1 }

vmMembership OBJECT IDENTIFIER ::= { ciscoVlanMembershipMIBObjects 2 }

vmStatistics OBJECT IDENTIFIER ::= { ciscoVlanMembershipMIBObjects 3 }

vmStatus OBJECT IDENTIFIER ::= { ciscoVlanMembershipMIBObjects 4 }

vmVoiceVlan OBJECT IDENTIFIER ::= { ciscoVlanMembershipMIBObjects 5 }

vmVmpsVQPVersion OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The VLAN Query Protocol (VQP) version supported on
the device. VQP is the protocol used to query
VLAN Membership Policy Server (VMPS) for VLAN
membership assignments of dynamic VLAN ports.
A VMPS provides VLAN membership policy
assignments based on the content of the packets
received on a port. "
	::= { vmVmps 1 }


vmVmpsRetries OBJECT-TYPE
	SYNTAX INTEGER (1..10)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of retries for VQP requests to a VMPS before
using the next available VMPS."
	::= { vmVmps 2 }


vmVmpsReconfirmInterval OBJECT-TYPE
	SYNTAX INTEGER (0..120)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The switch will reconfirm membership of addresses on
each port with VMPS periodically. This object specifies
the interval to perform reconfirmation. If the value is
set to 0, the switch does not reconfirm membership with
VMPS."
	::= { vmVmps 3 }


vmVmpsReconfirm OBJECT-TYPE
	SYNTAX INTEGER {
	ready(1),
	execute(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Setting this object to execute(2) causes the switch
to reconfirm membership of every dynamic port.
Reading this object always return ready(1)."
	::= { vmVmps 4 }


vmVmpsReconfirmResult OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	inProgress(2),
	success(3),
	noResponse(4),
	noVmps(5),
	noDynamicPort(6),
	noHostConnected(7)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This object returns the result of the last request
that sets vmVmpsReconfirm to execute(2). The
semantics of the possible results are as follows:

other(1)           - none of following
inProgress(2)      - reconfirm in progress
success(3)         - reconfirm completed successfully
noResponse(4)      - reconfirm failed because no
VMPS responded
noVmps(5)          - No VMPS configured
noDynamicPort(6)   - No dynamic ports configured
noHostConnected(7) - No hosts on dynamic ports
"
	::= { vmVmps 5 }


vmVmpsCurrent OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This is the IpAddress of the current VMPS used."
	::= { vmVmps 6 }


vmVmpsTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VmVmpsEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " A table of VMPS to use. The device will use
the the primary VMPS by default. If the
device is unable to reach the primary server
after vmVmpsRetries retries, it uses the first
secondary server in the table until it runs out
of secondary servers, in which case it will return
to using the primary server. Entries in this table
may be created and deleted via this MIB or
the management console on a device."
	::= { vmVmps 7 }


vmVmpsEntry OBJECT-TYPE
	SYNTAX VmVmpsEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " An entry (conceptual row) in the vmVmpsTable."
	INDEX { vmVmpsIpAddress  }

	::= { vmVmpsTable 1 }

vmVmpsEntry ::=
	SEQUENCE {
		vmVmpsIpAddress IpAddress,
		vmVmpsPrimary TruthValue,
		vmVmpsRowStatus RowStatus
		}

vmVmpsIpAddress OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Ip Address of the VMPS."
	::= { vmVmpsEntry 1 }


vmVmpsPrimary OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The status of the VMPS. Setting this value
to true will make this VMPS the primary server
and make the switch use this as the current server.
Setting this entry to true causes other rows
to transition to false. Attempting to write
a value of false after creation will result in
a return of bad value. Deleting an entry whose
value is true will result in the first entry
in the table being set to true."
	::= { vmVmpsEntry 2 }


vmVmpsRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The status of this conceptual row."
	::= { vmVmpsEntry 3 }


vmMembershipSummaryTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VmMembershipSummaryEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " A summary of VLAN membership of non-trunk
bridge ports. This is a convenience table
for retrieving VLAN membership information.

A row is created for a VLAN if:
a) the VLAN exists, or
b) a port is assigned to a non-existent VLAN.

VLAN membership can only be modified via the
vmMembershipTable."
	::= { vmMembership 1 }


vmMembershipSummaryEntry OBJECT-TYPE
	SYNTAX VmMembershipSummaryEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " An entry (conceptual row) in the
vmMembershipSummaryTable."
	INDEX { vmMembershipSummaryVlanIndex  }

	::= { vmMembershipSummaryTable 1 }

vmMembershipSummaryEntry ::=
	SEQUENCE {
		vmMembershipSummaryVlanIndex VlanIndex,
		vmMembershipSummaryMemberPorts OCTET STRING,
		vmMembershipSummaryMember2kPorts CiscoPortList
		}

vmMembershipSummaryVlanIndex OBJECT-TYPE
	SYNTAX VlanIndex
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The VLAN id of the VLAN."
	::= { vmMembershipSummaryEntry 1 }


vmMembershipSummaryMemberPorts OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..128))
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The set of the device's member ports that belong
to the VLAN.

Each octet within the value of this object specifies a
set of eight ports, with the first octet specifying ports
1 through 8, the second octet specifying ports 9
through 16, etc.   Within each octet, the most
significant bit represents the lowest numbered
port, and the least significant bit represents the
highest numbered port.  Thus, each port of the
VLAN is represented by a single bit within the
value of this object.  If that bit has a value of
'1' then that port is included in the set of
ports; the port is not included if its bit has a
value of '0'.

A port number is the value of dot1dBasePort for
the port in the BRIDGE-MIB (RFC 1493)."
	::= { vmMembershipSummaryEntry 2 }


vmMembershipSummaryMember2kPorts OBJECT-TYPE
	SYNTAX CiscoPortList
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The set of the device's member ports that belong
to the VLAN. It has the VLAN membership information
of up to 2k ports with the port number from 1 to 2048.

Each octet within the value of this object specifies a
set of eight ports, with the first octet specifying 
ports 1 through 8, the second octet specifying ports 9
through 16, etc.   Within each octet, the most
significant bit represents the lowest numbered
port, and the least significant bit represents the
highest numbered port.  Thus, each port of the
VLAN is represented by a single bit within the
value of this object.  If that bit has a value of
'1' then that port is included in the set of
ports; the port is not included if its bit has a
value of '0'.

A port number is the value of dot1dBasePort for
the port in the BRIDGE-MIB (RFC 1493)."
	::= { vmMembershipSummaryEntry 3 }


vmMembershipTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VmMembershipEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " A table for configuring VLAN port membership.
There is one row for each bridge port that is
assigned to a static or dynamic access port. Trunk
ports are not  represented in this table.  An entry
may be created and deleted when ports are created or
deleted via SNMP or the management console on a 
device."
	::= { vmMembership 2 }


vmMembershipEntry OBJECT-TYPE
	SYNTAX VmMembershipEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " An entry (conceptual row) in the vmMembershipTable."
	INDEX { ifIndex  }

	::= { vmMembershipTable 1 }

vmMembershipEntry ::=
	SEQUENCE {
		vmVlanType INTEGER,
		vmVlan INTEGER,
		vmPortStatus INTEGER,
		vmVlans OCTET STRING,
		vmVlans2k OCTET STRING,
		vmVlans3k OCTET STRING,
		vmVlans4k OCTET STRING
		}

vmVlanType OBJECT-TYPE
	SYNTAX INTEGER {
	static(1),
	dynamic(2),
	multiVlan(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " The type of VLAN membership assigned to this port.
A port with static vlan membership is assigned to a
single VLAN directly. A port with dynamic membership
is assigned a single VLAN based on content of packets
received on the port and via VQP queries to VMPS.
A port with multiVlan membership may be assigned to
one or more VLANs directly.

A static or dynamic port membership is specified
by the value of vmVlan. A multiVlan port membership is
specified by the value of vmVlans."
	::= { vmMembershipEntry 1 }


vmVlan OBJECT-TYPE
	SYNTAX INTEGER (0..4095)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The VLAN id of the VLAN the port is assigned to
when vmVlanType is set to static or dynamic.
This object is not instantiated if not applicable.

The value may be 0 if the port is not assigned
to a VLAN.

If vmVlanType is static, the port is always
assigned to a VLAN and the object may not be
set to 0.

If vmVlanType is dynamic the object's value is
0 if the port is currently not assigned to a VLAN.
In addition, the object may be set to 0 only."
	::= { vmMembershipEntry 2 }


vmPortStatus OBJECT-TYPE
	SYNTAX INTEGER {
	inactive(1),
	active(2),
	shutdown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " An indication of the current VLAN status of the port.
A status of inactive(1) indicates that a dynamic port
does not yet have a VLAN assigned, or a port is 
assigned to a VLAN that is currently not active. A 
status of active(2) indicates that the currently 
assigned VLAN is active. A status of shutdown(3) 
indicates that the port has been disabled as a result
of VQP shutdown response."
	::= { vmMembershipEntry 3 }


vmVlans OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..128))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The VLAN(s) the port is assigned to when the
port's vmVlanType is set to multiVlan.
This object is not instantiated if not applicable.

The port is always assigned to one or more VLANs
and the object may not be set so that there are
no vlans assigned.

Each octet within the value of this object specifies a
set of eight VLANs, with the first octet specifying
VLAN id 1 through 8, the second octet specifying VLAN
ids 9 through 16, etc.   Within each octet, the most
significant bit represents the lowest numbered
VLAN id, and the least significant bit represents the
highest numbered VLAN id.  Thus, each VLAN of the
port is represented by a single bit within the
value of this object.  If that bit has a value of
'1' then that VLAN is included in the set of
VLANs; the VLAN is not included if its bit has a
value of '0'."
	::= { vmMembershipEntry 4 }


vmVlans2k OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..128))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The VLAN(s) the port is assigned to when the
port's vmVlanType is set to multiVlan.
This object is not instantiated if not applicable.

The port is always assigned to one or more VLANs
and the object may not be set so that there are
no vlans assigned.

Each octet within the value of this object specifies a
set of eight VLANs, with the first octet specifying
VLAN id 1024 through 1031, the second octet specifying 
VLAN ids 1032 through 1039, etc.  Within each octet, 
the most significant bit represents the lowest 
numbered VLAN id, and the least significant bit 
represents the highest numbered VLAN id.  Thus, each 
VLAN of the port is represented by a single bit within
the value of this object.  If that bit has a value of
'1' then that VLAN is included in the set of
VLANs; the VLAN is not included if its bit has a
value of '0'."
	::= { vmMembershipEntry 5 }


vmVlans3k OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..128))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The VLAN(s) the port is assigned to when the
port's vmVlanType is set to multiVlan.
This object is not instantiated if not applicable.

The port is always assigned to one or more VLANs
and the object may not be set so that there are
no vlans assigned.

Each octet within the value of this object specifies a
set of eight VLANs, with the first octet specifying
VLAN id 2048 through 2055, the second octet specifying 
VLAN ids 2056 through 2063, etc.   Within each octet, 
the most significant bit represents the lowest 
numbered VLAN id, and the least significant bit 
represents the highest numbered VLAN id.  Thus, each
VLAN of the port is represented by a single bit within
the value of this object.  If that bit has a value of
'1' then that VLAN is included in the set of
VLANs; the VLAN is not included if its bit has a
value of '0'."
	::= { vmMembershipEntry 6 }


vmVlans4k OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..128))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The VLAN(s) the port is assigned to when the
port's vmVlanType is set to multiVlan.
This object is not instantiated if not applicable.

The port is always assigned to one or more VLANs
and the object may not be set so that there are
no vlans assigned.

Each octet within the value of this object specifies a
set of eight VLANs, with the first octet specifying
VLAN id 3072 through 3079, the second octet specifying 
VLAN ids 3040 through 3047, etc.   Within each octet, 
the most significant bit represents the lowest 
numbered VLAN id, and the least significant bit 
represents the highest numbered VLAN id.  Thus, each
VLAN of the port is represented by a single bit within
the value of this object.  If that bit has a value of
'1' then that VLAN is included in the set of
VLANs; the VLAN is not included if its bit has a
value of '0'."
	::= { vmMembershipEntry 7 }


vmVQPQueries OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " The total number of VQP requests sent by this device 
to all VMPS since last system re-initialization."
	::= { vmStatistics 1 }


vmVQPResponses OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " The number of VQP responses received by this device 
from all VMPS since last system re-initialization."
	::= { vmStatistics 2 }


vmVmpsChanges OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " The number of times, since last system 
re-initialization, the current VMPS was changed. The
current VMPS is changed whenever the VMPS fails to 
response after vmVmpsRetries of a VQP request."
	::= { vmStatistics 3 }


vmVQPShutdown OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " The number of times, since last system 
re-initialization, a VQP response indicates 
'shutdown'. A 'shutdown' response is a result of 
the membership policy configured at a VMPS
by the administrator."
	::= { vmStatistics 4 }


vmVQPDenied OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " The number of times, since last system 
re-initialization, a VQP response indicates 
'denied'. A 'denied' response is a result of 
the membership policy configured at a VMPS
by the administrator."
	::= { vmStatistics 5 }


vmVQPWrongDomain OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " The number of times, since last system 
re-initialization, a VQP response indicates wrong 
management domain. A wrong management domain 
response indicates that the VMPS used serves a 
management domain that is different
from the device's management domain."
	::= { vmStatistics 6 }


vmVQPWrongVersion OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " The number of times, since last system 
re-initialization, a VQP response indicates wrong 
VQP version. A wrong VQP version response 
indicates that the VMPS used supports a VQP 
version that is different from the device's 
VQP version."
	::= { vmStatistics 7 }


vmInsufficientResources OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " The number of times, since last system 
re-initialization, a VQP response indicates 
insufficient resources. An insufficient resources 
response indicates that the VMPS used does not 
have the required resources to verify the
membership assignment requested."
	::= { vmStatistics 8 }


vmNotificationsEnabled OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "An indication of whether the notifications/traps
defined in this MIB are enabled."
	::= { vmStatus 1 }


vmVoiceVlanTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VmVoiceVlanEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " A table for configuring the Voice VLAN-ID
for the ports. An entry will exist for each
interface which supports Voice Vlan feature."
	::= { vmVoiceVlan 1 }


vmVoiceVlanEntry OBJECT-TYPE
	SYNTAX VmVoiceVlanEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION " An entry (conceptual row) in the vmVoiceVlanTable.
Only interfaces which support Voice Vlan feature
are shown."
	INDEX { ifIndex  }

	::= { vmVoiceVlanTable 1 }

vmVoiceVlanEntry ::=
	SEQUENCE {
		vmVoiceVlanId INTEGER,
		vmVoiceVlanCdpVerifyEnable TruthValue
		}

vmVoiceVlanId OBJECT-TYPE
	SYNTAX INTEGER (0..4096)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Voice Vlan ID (VVID) to which this
port belongs to.

0    -    The CDP packets transmitting 
through this port would contain
Appliance VLAN-ID TLV with value 
of 0. VoIP and related packets 
are expected to be sent and 
received with VLAN-id=0 and an 
802.1p priority. 

1..4094 - The CDP packets transmitting
through this port would contain
Appliance VLAN-ID TLV with N.
VoIP and related packets are
expected to be sent and received
with VLAN-id=N and an 802.1p
priority.

4095  -   The CDP packets transmitting
through this port would contain
Appliance VLAN-ID TLV with value
of 4095. VoIP and related packets
are expected to be sent and 
received untagged without an 
802.1p priority.

4096  -   The CDP packets transmitting 
through this port would not 
include Appliance VLAN-ID TLV; 
or, if the VVID is not supported 
on the port, this MIB object will
not be configurable and will 
return 4096."
	::= { vmVoiceVlanEntry 1 }


vmVoiceVlanCdpVerifyEnable OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Enable or Disable the feature of CDP message 
verification of voice VLANs.

true   - The voice VLAN vmVoiceVlan is enabled 
only after CDP messages are received 
from the IP phone.

false -  The voice VLAN vmVoiceVlan is enabled
as soon as the IP phone interface is
up. There is no verification needed 
from CDP messages from the IP phone."
	::= { vmVoiceVlanEntry 2 }


vmNotifications OBJECT IDENTIFIER ::= { ciscoVlanMembershipMIB 2 }

vmNotificationsPrefix OBJECT IDENTIFIER ::= { vmNotifications 0 }

vmMIBConformance OBJECT IDENTIFIER ::= { ciscoVlanMembershipMIB 3 }

vmMIBCompliances OBJECT IDENTIFIER ::= { vmMIBConformance 1 }

vmMIBGroups OBJECT IDENTIFIER ::= { vmMIBConformance 2 }

vmMembershipGroup OBJECT IDENTIFIER ::= { vmMIBGroups 1 }

vmVQPClientGroup OBJECT IDENTIFIER ::= { vmMIBGroups 2 }

vmVQPNotificationsGroup OBJECT IDENTIFIER ::= { vmMIBGroups 3 }

vmStatusGroup OBJECT IDENTIFIER ::= { vmMIBGroups 4 }

vmMembershipGroup2 OBJECT IDENTIFIER ::= { vmMIBGroups 5 }

vm4kVlanGroup OBJECT IDENTIFIER ::= { vmMIBGroups 6 }

vmVoiceVlanGroup OBJECT IDENTIFIER ::= { vmMIBGroups 7 }

vm1kVlanGroup OBJECT IDENTIFIER ::= { vmMIBGroups 8 }

vmMembershipGroup3 OBJECT IDENTIFIER ::= { vmMIBGroups 9 }

vmVoiceVlanExtGroup OBJECT IDENTIFIER ::= { vmMIBGroups 10 }

vmVmpsChange TRAP-TYPE
	ENTERPRISE vmNotifications
	VARIABLES { vmVmpsIpAddress }
DESCRIPTION " A VMPS change notification is generated whenever
vmVmpsChanges is incremented. The IP address
of the new VMPS is sent."
	::= 1


END

