#-MIBFILE: cisco-lag.mib

CISCO-LAG-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))

cisco OBJECT IDENTIFIER ::= { enterprises 9 }
ciscoMgmt OBJECT IDENTIFIER ::= { cisco 9 }
LacpKey ::=
	INTEGER (0..65535)

LacpState ::=
	OCTET STRING {
	lacpActivity(0),
	lacpTimeout(1),
	aggregation(2),
	synchronization(3),
	collecting(4),
	distributing(5),
	defaulted(6),
	expired(7)
	}

ChurnState ::=
	INTEGER {
	noChurn(1),
	churn(2),
	churnMonitor(3)
	}

PortList ::=
	OCTET STRING

member-body OBJECT IDENTIFIER ::= { iso 2 }
us OBJECT IDENTIFIER ::= { member-body 840 }
ieee802dot3 OBJECT IDENTIFIER ::= { us 10006 }
snmpmibs OBJECT IDENTIFIER ::= { ieee802dot3 300 }
lagMIB OBJECT IDENTIFIER ::= { snmpmibs 43 }
lagMIBObjects OBJECT IDENTIFIER ::= { lagMIB 1 }
dot3adAggPort OBJECT IDENTIFIER ::= { lagMIBObjects 2 }
dot3adAggPortTable OBJECT IDENTIFIER ::= { dot3adAggPort 1 }
dot3adAggPortEntry OBJECT IDENTIFIER ::= { dot3adAggPortTable 1 }
dot3adAgg OBJECT IDENTIFIER ::= { lagMIBObjects 1 }
dot3adAggPortListTable OBJECT IDENTIFIER ::= { dot3adAgg 2 }
dot3adAggPortListEntry OBJECT IDENTIFIER ::= { dot3adAggPortListTable 1 }
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 }
ClagDistributionProtocol ::=
	INTEGER {
	ip(1),
	mac(2),
	port(3),
	vlanIpPort(4)
	}

ClagDistributionAddressMode ::=
	INTEGER {
	source(1),
	destination(2),
	both(3)
	}

ClagDistributionMplsProtocol ::=
	INTEGER {
	label(1),
	labelIp(2)
	}

ClagAggregationProtocol ::=
	INTEGER {
	lacp(1),
	pagp(2)
	}

ClagPortAdminStatus ::=
	INTEGER {
	off(1),
	on(2),
	active(3),
	passive(4)
	}

ciscoLagMIB OBJECT IDENTIFIER ::= { ciscoMgmt 225 }

clagMIBObjects OBJECT IDENTIFIER ::= { ciscoLagMIB 1 }

clagGlobalConfigObjects OBJECT IDENTIFIER ::= { clagMIBObjects 1 }

clagAgg OBJECT IDENTIFIER ::= { clagMIBObjects 2 }

clagAggPort OBJECT IDENTIFIER ::= { clagMIBObjects 3 }

clagAggPortList OBJECT IDENTIFIER ::= { clagMIBObjects 4 }

clagAggDistributionProtocol OBJECT-TYPE
	SYNTAX INTEGER {
	ip(1),
	mac(2),
	port(3),
	vlanIpPort(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This object controls the load balancing algorithms
used on this LACP interface to distribute outgoing data
frames among its component interfaces."
	::= { clagGlobalConfigObjects 1 }


clagAggDistributionAddressMode OBJECT-TYPE
	SYNTAX INTEGER {
	source(1),
	destination(2),
	both(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The load balancing address mode for the device."
	::= { clagGlobalConfigObjects 2 }


clagAggDistributionMplsProtocol OBJECT-TYPE
	SYNTAX INTEGER {
	label(1),
	labelIp(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This object controls the load balancing algorithms
used on this LACP interface to distribute outgoing MPLS
data frames among its component interfaces.

This object is only instantiated on platforms which 
support aggregation load balancing for MPLS packets."
	::= { clagGlobalConfigObjects 3 }


clagAggMaxAggregators OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This object indicates the maximum number of aggregators 
supported by the device."
	::= { clagGlobalConfigObjects 4 }


clagAggProtocolTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ClagAggProtocolEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table that contains protocol information about every
interface which supports link aggregation."
	::= { clagAgg 1 }


clagAggProtocolEntry OBJECT-TYPE
	SYNTAX ClagAggProtocolEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Entry containing aggregation protocol type for a
particular interface.  An entry is created in this
table when its associated ifEntry is created and that 
interface supports link aggregation.  The entry of this
table is deleted when the associated ifEntry is removed."
	INDEX { ifIndex  }

	::= { clagAggProtocolTable 1 }

clagAggProtocolEntry ::=
	SEQUENCE {
		clagAggProtocolType ClagAggregationProtocol
		}

clagAggProtocolType OBJECT-TYPE
	SYNTAX INTEGER {
	lacp(1),
	pagp(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The aggregation protocol type for the interface.

On some platforms, aggregation protocol may be assigned per
group.  The group can be a collection of the ports which belong
to a module or system.  If the aggregation protocol is assigned
to any of the ports in such group then the aggregation protocol
will apply to all ports in the same group.

On some platforms, aggregation protocol type  can be assigned
per aggregator.  If multiple ports belong to a aggregator,
the aggregation protocol assigned to any of the ports in such
aggregator will apply to all ports in the same."
	::= { clagAggProtocolEntry 1 }


clagAggPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ClagAggPortEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table that contains information about every
aggregation port that is associated with this system.
This table contains additional objects for the
dot3adAggPortTable."
	::= { clagAggPort 1 }


clagAggPortEntry OBJECT-TYPE
	SYNTAX ClagAggPortEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "An entry containing additional management information
applicable to a particular aggregation port."
	::= { clagAggPortTable 1 }

clagAggPortEntry ::=
	SEQUENCE {
		clagAggPortAdminStatus ClagPortAdminStatus
		}

clagAggPortAdminStatus OBJECT-TYPE
	SYNTAX INTEGER {
	off(1),
	on(2),
	active(3),
	passive(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The administrative status of the LACP protocol on this
aggregation port."
	::= { clagAggPortEntry 1 }


clagAggPortListTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ClagAggPortListEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This table augments the dot3adAggPortListTable and
provides the complete list of ports associated with
each Aggregator."
	::= { clagAggPortList 1 }


clagAggPortListEntry OBJECT-TYPE
	SYNTAX ClagAggPortListEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A list of the ports associated with a given Aggregator."
	::= { clagAggPortListTable 1 }

clagAggPortListEntry ::=
	SEQUENCE {
		clagAggPortListPorts OCTET STRING
		}

clagAggPortListPorts OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(2..256))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This object contains a list of ports currently associated
with this Aggregator in the format of
'[number_of_ports][dot1dBasePort1][dot1dBasePort2]...'

where
[number_of_ports] is of size 2 octet and indicates
the number of ports contains in this object. It
also indicates the number of dot1dBasePort field
following this field. 

[dot1dBasePort'n'] is the value of dot1dBasePort of 
the 'n' port associated with this Aggregation
and has size of 2 octets where n is up to
[number_of_ports]."
	::= { clagAggPortListEntry 1 }


clagMIBNotifications OBJECT IDENTIFIER ::= { ciscoLagMIB 2 }

clagMIBConformance OBJECT IDENTIFIER ::= { ciscoLagMIB 3 }

clagMIBCompliances OBJECT IDENTIFIER ::= { clagMIBConformance 1 }

clagMIBGroups OBJECT IDENTIFIER ::= { clagMIBConformance 2 }

clagAggProtocolGroup OBJECT IDENTIFIER ::= { clagMIBGroups 1 }

clagAggPortGroup OBJECT IDENTIFIER ::= { clagMIBGroups 2 }

clagAggDistributionGroup OBJECT IDENTIFIER ::= { clagMIBGroups 3 }

clagAggDistributionMplsGroup OBJECT IDENTIFIER ::= { clagMIBGroups 4 }

clagAggPortListGroup OBJECT IDENTIFIER ::= { clagMIBGroups 5 }

clagAggMaxAggregatorsGroup OBJECT IDENTIFIER ::= { clagMIBGroups 6 }

END

