-- MIB Version = 1.0.0 (update the MIBVersion entry !) 
-- Contacts: support@intel.com

INTEL-LAN-ADAPTERS-MIB DEFINITIONS ::= BEGIN

IMPORTS
	nic-products	
		FROM Intel-Common-MIB
	enterprises,
	OBJECT-TYPE,
	NOTIFICATION-TYPE,
	Counter32,
	Gauge32
		FROM SNMPv2-SMI
	PhysAddress,
	DisplayString
		FROM SNMPv2-TC
	InterfaceIndex
		FROM IF-MIB;

intel-lan-adapters OBJECT IDENTIFIER ::= { nic-products 2 }

component-description OBJECT IDENTIFIER ::= { intel-lan-adapters 1 }

company		OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"The Company provider of this MIB" 
	::= { component-description 1 }

description	OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"Description of this Component"
	::= { component-description 2 }
	
operatingSystem	       	OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"The SNMP Agent Operating System"
	::= { component-description 3 }
	
mibVersion1-0-0		OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"The version of this MIB" 
	::= { component-description 4 }

mibVersionSupported	OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	
		"The version of the MIB supported by the implementation"
	::= { component-description 5 }

agentExtensionVersion	OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"The version of the MIB implementation" 	
	::= { component-description 6 }

status		OBJECT-TYPE
	SYNTAX		INTEGER {
				baseDriverNotLoadedAnsNotLoaded(0), 
				baseDriverLoadedAnsNotLoaded(1),
				baseDriverNotLoadedAnsLoaded(2),
				baseDriverLoadedAnsLoaded(3)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Status and Functionality of the Adapter(s)"
	::= { component-description 7 }

adapterTables OBJECT IDENTIFIER ::= { intel-lan-adapters 2 }

-- ******************************
-- Generic Adapter Attr Table
-- ******************************
genericAdapterAttrTables OBJECT IDENTIFIER ::= { adapterTables 1 }

genericAdapterAttrTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF GenericAdapterAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all kinds of Adapters"
	::= { genericAdapterAttrTables 1 }

genericAdapterAttrEntry	OBJECT-TYPE
	SYNTAX		GenericAdapterAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all kinds of Adapters"
	INDEX		{ adapterIndex }		
	::= { genericAdapterAttrTable 1 }

GenericAdapterAttrEntry ::= SEQUENCE {
	adapterIndex		    InterfaceIndex,
	adapterName		    DisplayString,
	adapterType		    INTEGER
}

adapterIndex	OBJECT-TYPE
	SYNTAX		InterfaceIndex
	ACCESS		read-only
	STATUS		current
	DESCRIPTION
		"A unique value, greater than zero, for each
		interface.  It is recommended that values are assigned
		contiguously starting from 1.  The value for each
		adapter  must remain constant at least from
		one re-initialization of the entity's network
		management system to the next re-initialization."
	::= { genericAdapterAttrEntry 1 }

adapterName	OBJECT-TYPE
	SYNTAX		DisplayString
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The name of the Adapter Interface"
	::= { genericAdapterAttrEntry 2 }	

adapterType   OBJECT-TYPE
	SYNTAX		INTEGER {
				standAlone(0),
				teamMember(1),
				virtual(2)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Type of Adapter"
	::= { genericAdapterAttrEntry 3 }

genericAdapterAttrDriversTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF GenericAdapterAttrDriversEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all kinds of Adapters"
	::= { genericAdapterAttrTables 2 }

genericAdapterAttrDriversEntry	OBJECT-TYPE
	SYNTAX		GenericAdapterAttrDriversEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all kinds of Adapters"
	INDEX		{ adapterIndex }		
	::= { genericAdapterAttrDriversTable 1 }

GenericAdapterAttrDriversEntry ::= SEQUENCE {
	adapterDriverName	    DisplayString,
	adapterDriverInfo	    DisplayString,
	adapterDriverVersion	    DisplayString,
	adapterDriverPath	    DisplayString,
	adapterDriverDate	    DisplayString,
	adapterDriverSize	    DisplayString
}

adapterDriverName	OBJECT-TYPE
	SYNTAX	    DisplayString
	ACCESS	    read-only
	STATUS	    current
	DESCRIPTION "Name of the Driver for the Adapter"
	::= { genericAdapterAttrDriversEntry 1 }

adapterDriverInfo	OBJECT-TYPE
	SYNTAX	    DisplayString
	ACCESS	    read-only
	STATUS	    current
	DESCRIPTION "Additional information for the Driver of the Adapter"
	::= { genericAdapterAttrDriversEntry 2 }
	
adapterDriverVersion	OBJECT-TYPE
	SYNTAX	    DisplayString
	ACCESS	    read-only
	STATUS	    current
	DESCRIPTION "Version of the Driver of the Adapter"
	::= { genericAdapterAttrDriversEntry 3 }

adapterDriverPath	OBJECT-TYPE
	SYNTAX	    DisplayString
	ACCESS	    read-only
	STATUS	    current
	DESCRIPTION "Path of the Driver File of the Adapter"
	::= { genericAdapterAttrDriversEntry 4 }

adapterDriverDate	OBJECT-TYPE
	SYNTAX	    DisplayString
	ACCESS	    read-only
	STATUS	    current
	DESCRIPTION "Date of the Driver File of the Adapter"
	::= { genericAdapterAttrDriversEntry 5 }

adapterDriverSize	OBJECT-TYPE
	SYNTAX	    DisplayString
	ACCESS	    read-only
	STATUS	    current
	DESCRIPTION "Size of the Driver File of the Adapter"
	::= { genericAdapterAttrDriversEntry 6 }

genericAdapterAttrTrafficStatsTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF GenericAdapterAttrTrafficStatsEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all kinds of Adapters"
	::= { genericAdapterAttrTables 3 }

genericAdapterAttrTrafficStatsEntry	OBJECT-TYPE
	SYNTAX		GenericAdapterAttrTrafficStatsEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all kinds of Adapters"
	INDEX		{ adapterIndex }		
	::= { genericAdapterAttrTrafficStatsTable 1 }

GenericAdapterAttrTrafficStatsEntry ::= SEQUENCE {
	adapterRxPackets	    Counter32,
	adapterTxPackets	    Counter32,
	adapterRxBytes		    Counter32,
	adapterTxBytes		    Counter32,
	adapterRxErrors		    Counter32,
	adapterTxErrors		    Counter32,
	adapterRxDropped	    Counter32,
	adapterTxDropped	    Counter32,
	adapterRxMulticast	    Counter32,
	adapterCollisions	    Counter32
}

adapterRxPackets   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"total packets received"
	::= { genericAdapterAttrTrafficStatsEntry 1 }

adapterTxPackets   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"total packets transmitted"
	::= { genericAdapterAttrTrafficStatsEntry 2 }
 
adapterRxBytes   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"total bytes received"
	::= { genericAdapterAttrTrafficStatsEntry 3 }
 
adapterTxBytes   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"total bytes transmitted"
	::= { genericAdapterAttrTrafficStatsEntry 4 }

adapterRxErrors   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"bad packets received"
	::= { genericAdapterAttrTrafficStatsEntry 5 }

adapterTxErrors   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"packet transmit problems"
	::= { genericAdapterAttrTrafficStatsEntry 6 }

adapterRxDropped   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"no space in OS kernel buffers"
	::= { genericAdapterAttrTrafficStatsEntry 7 }

adapterTxDropped   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"no space available in OS kernel"
	::= { genericAdapterAttrTrafficStatsEntry 8 }

adapterRxMulticast   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"multicast packets received"
	::= { genericAdapterAttrTrafficStatsEntry 9 }

adapterCollisions   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Total Collisions"
	::= { genericAdapterAttrTrafficStatsEntry 10 }

-- *******************************
-- Physical Adapter Attr Table
-- *******************************
physicalAdapterAttrTables OBJECT IDENTIFIER ::= { adapterTables 2 }

physicalAdapterAttrTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF PhysicalAdapterAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all Physical Adapters"
	::= { physicalAdapterAttrTables 1 }

physicalAdapterAttrEntry	OBJECT-TYPE
	SYNTAX		PhysicalAdapterAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all Physical Adapters"
	INDEX		{ physicalAdapterIndex }		
	::= { physicalAdapterAttrTable 1 }

PhysicalAdapterAttrEntry ::= SEQUENCE {
	physicalAdapterIndex	    InterfaceIndex,
	physicalAdapterLinkStatus   INTEGER,
	physicalAdapterLinkStatusChangesCounter	Counter32,
	physicalAdapterSpeed			Gauge32,
	physicalAdapterDplxMode			INTEGER,
	physicalAdapterAutoNegotiation	INTEGER,
	physicalAdapterPciBus		INTEGER,
	physicalAdapterPciSlot		INTEGER,
	physicalAdapterIrq		INTEGER,
	physicalAdapterCurrentNA	PhysAddress,
	physicalAdapterPermanentNA	PhysAddress
}

physicalAdapterIndex	OBJECT-TYPE
	SYNTAX		InterfaceIndex
	ACCESS		read-only
	STATUS		current
	DESCRIPTION
		"A unique value, greater than zero, for each
		interface.  It is recommended that values are assigned
		contiguously starting from 1.  The value for each
		adapter  must remain constant at least from
		one re-initialization of the entity's network
		management system to the next re-initialization."
	::= { physicalAdapterAttrEntry 1 }

physicalAdapterLinkStatus	OBJECT-TYPE
	SYNTAX		INTEGER {
				link-up(0),
				link-down(1)
			}				
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Physical Adapter Link Status"
	::= { physicalAdapterAttrEntry 2 }	

physicalAdapterLinkStatusChangesCounter	OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-write
	STATUS		current
	DESCRIPTION	
		"The Number of changes in the link 
		status of the physical Adaper"
	::= { physicalAdapterAttrEntry 3 }	

physicalAdapterSpeed	OBJECT-TYPE
	SYNTAX		Gauge32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Physical Adapter Speed"
	::= { physicalAdapterAttrEntry 4 }	

physicalAdapterDplxMode	OBJECT-TYPE
	SYNTAX		INTEGER {
				not-available(0),
				half(1),
				full(2)
			}				
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Physical Adapter Duplex Mode"
	::= { physicalAdapterAttrEntry 5 }	

physicalAdapterAutoNegotiation	OBJECT-TYPE
	SYNTAX		INTEGER {
				on(0),
				off(1)
			}				
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Physical Adapter Autonegotiation Mode"
	::= { physicalAdapterAttrEntry 6 }	

physicalAdapterPciBus	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Physical Adapter PCI Bus"
	::= { physicalAdapterAttrEntry 7 }	

physicalAdapterPciSlot	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Physical Adapter PCI Slot"
	::= { physicalAdapterAttrEntry 8 }	

physicalAdapterIrq	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Physical Adapter IRQ"
	::= { physicalAdapterAttrEntry 9 }	

physicalAdapterCurrentNA	OBJECT-TYPE
	SYNTAX		PhysAddress
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Current Network Address of the Physical Adapter"
	::= { physicalAdapterAttrEntry 10 }	

physicalAdapterPermanentNA	OBJECT-TYPE
	SYNTAX		PhysAddress
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Permanent Network Address of the Physical Adapter"
	::= { physicalAdapterAttrEntry 11 }	

physicalAdapterAttrChecksumOffloadTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF PhysicalAdapterAttrChecksumOffloadEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all Physical Adapters"
	::= { physicalAdapterAttrTables 2 }

physicalAdapterAttrChecksumOffloadEntry	OBJECT-TYPE
	SYNTAX		PhysicalAdapterAttrChecksumOffloadEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all Physical Adapters"
	INDEX		{ physicalAdapterIndex }		
	::= { physicalAdapterAttrChecksumOffloadTable 1 }

PhysicalAdapterAttrChecksumOffloadEntry ::= SEQUENCE {
	physicalAdapterTcpRxChecksumOffLoadEnable INTEGER,
	physicalAdapterTcpRxChecksumBad Counter32,
	physicalAdapterTcpTxChecksumOffLoadEnable INTEGER
}

physicalAdapterTcpRxChecksumOffLoadEnable OBJECT-TYPE
	SYNTAX		INTEGER {
				enabled(0),
				disabled(1)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"When enabled TCP/UDP Checksums 
			are performed in hardware"
	::= { physicalAdapterAttrChecksumOffloadEntry 1 }	

physicalAdapterTcpRxChecksumBad OBJECT-TYPE
	SYNTAX		 Counter32
	ACCESS		 read-only
	STATUS		 current
	DESCRIPTION	 "Number of Receive Bad Checksums"
	::= { physicalAdapterAttrChecksumOffloadEntry 2 }	

physicalAdapterTcpTxChecksumOffLoadEnable OBJECT-TYPE
	SYNTAX		INTEGER {
				enabled(0),
				disabled(1)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"When enabled TCP/UDP Checksums 
			are performed in hardware"
	::= { physicalAdapterAttrChecksumOffloadEntry 3 }	

-- ************************************
-- Virtual Adapter Attr Tables
-- ************************************
virtualAdapterAttrTables OBJECT IDENTIFIER ::= { adapterTables 3 }

virtualAdapterAttrTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF VirtualAdapterAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all iANS-Virtual Adapters"
	::= { virtualAdapterAttrTables 1 }

virtualAdapterAttrEntry	OBJECT-TYPE
	SYNTAX		VirtualAdapterAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all iANS-Virtual Adapters"
	INDEX		{ virtualAdapterIndex }		
	::= { virtualAdapterAttrTable 1 }

VirtualAdapterAttrEntry ::= SEQUENCE {
	virtualAdapterIndex	    InterfaceIndex,
	virtualAdapterTeamId    INTEGER
}

virtualAdapterIndex	OBJECT-TYPE
	SYNTAX		InterfaceIndex
	ACCESS		read-only
	STATUS		current
	DESCRIPTION
		"A unique value, greater than zero, for each
		interface.  It is recommended that values are assigned
		contiguously starting from 1.  The value for each
		adapter  must remain constant at least from
		one re-initialization of the entity's network
		management system to the next re-initialization."
	::= { virtualAdapterAttrEntry 1 }

virtualAdapterTeamId OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Id of the Team the Adapter belongs to"
	::= { virtualAdapterAttrEntry 2 }

virtualAdapterAttrVlanTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF VirtualAdapterAttrVlanEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all iANS-virtual Adapters"
	::= { virtualAdapterAttrTables 2 }

virtualAdapterAttrVlanEntry	OBJECT-TYPE
	SYNTAX		VirtualAdapterAttrVlanEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all iANS-virtual Adapters"
	INDEX		{ virtualAdapterIndex }		
	::= { virtualAdapterAttrVlanTable 1 }

VirtualAdapterAttrVlanEntry ::= SEQUENCE {
	virtualAdapterVlanId	    INTEGER
}

virtualAdapterVlanId	OBJECT-TYPE
	SYNTAX		INTEGER {
				none(0)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The VLAN Id for this Virtual Adapter"
	::= { virtualAdapterAttrVlanEntry 1 }	

-- ********************
-- Team Attr Tables
-- ********************
teamAttrTables OBJECT IDENTIFIER ::= { adapterTables 4 }

teamAttrTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF TeamAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Team Attr"
	::= { teamAttrTables 1 }

teamAttrEntry	OBJECT-TYPE
	SYNTAX		TeamAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Team Attr"
	INDEX		{ teamId }		
	::= { teamAttrTable 1 }

TeamAttrEntry ::= SEQUENCE {
	teamId	  		    INTEGER,
	teamNumberOfMembers	    INTEGER,
	teamNumberOfVirtualAdapters INTEGER
}

teamId	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Unique Team Id"
	::= { teamAttrEntry 1 }

teamNumberOfMembers	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The number of Members Adapters in the Team"
	::= { teamAttrEntry 2 }

teamNumberOfVirtualAdapters	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The number of Virtual Adapters in the Team"
	::= { teamAttrEntry 3 }
	
teamAttrVlanTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF TeamAttrVlanEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Team Attr"
	::= { teamAttrTables 2 }

teamAttrVlanEntry	OBJECT-TYPE
	SYNTAX		TeamAttrVlanEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Team Attr"
	INDEX		{ teamId }		
	::= { teamAttrVlanTable 1 }

TeamAttrVlanEntry ::= SEQUENCE {
	teamVlanTaggingType	    INTEGER,
	teamVlanGvrpSupport	    INTEGER
}

teamVlanTaggingType	OBJECT-TYPE
	SYNTAX		INTEGER {
				none(0),
				tag-802-1Q(1),
				tag-802-1P(2),
				tag-802-3AC(3),
				tag-iSL(4)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Tagging type of the VLan adapter"
	::= { teamAttrVlanEntry 1 }

teamVlanGvrpSupport			OBJECT-TYPE
	SYNTAX		INTEGER {
				enabled(0),
				disabled(1)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	""
	::= { teamAttrVlanEntry 2 }

teamAttrAdapterTeamingTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF TeamAttrAdapterTeamingEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Team AdapterTeaming Attr"
	::= { teamAttrTables 3 }

teamAttrAdapterTeamingEntry	OBJECT-TYPE
	SYNTAX		TeamAttrAdapterTeamingEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Team Attr"
	INDEX		{ teamId }		
	::= { teamAttrAdapterTeamingTable 1 }

TeamAttrAdapterTeamingEntry ::= SEQUENCE {
	teamAdapterTeamingTeamName		    DisplayString,
	teamAdapterTeamingMode			    INTEGER,
	teamAdapterTeamingLinkState		    INTEGER,
	teamAdapterTeamingSpeed			    Gauge32,
	teamAdapterTeamingProbesState		    INTEGER,
	teamAdapterTeamingProbesMode		    INTEGER,
	teamAdapterTeamingLoadBalanceRefresh	    INTEGER,
	teamAdapterTeamingProbesSendTime	    INTEGER,
	teamAdapterTeamingPreferredPrimaryIndex     INTEGER,
	teamAdapterTeamingCurrentPrimaryIndex	    INTEGER,
	teamAdapterTeamingPreviousPrimaryIndex	    INTEGER,
	teamAdapterTeamingFailoverCounter	    Counter32
}

teamAdapterTeamingTeamName    OBJECT-TYPE
	SYNTAX		DisplayString
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Unique teamAdapterTeaming Name"
	::= { teamAttrAdapterTeamingEntry 1 }

teamAdapterTeamingMode    OBJECT-TYPE
	SYNTAX		INTEGER {
				none(0),
				team-aft(1),
				team-alb(2),
				team-fec(3),
				team-gec(4),
				team-802-3ad(5)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Mode of the Team"
	::= { teamAttrAdapterTeamingEntry 2 }

teamAdapterTeamingLinkState    OBJECT-TYPE
	SYNTAX		INTEGER {
				up(0),
				down(1)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The State of the Team"
	::= { teamAttrAdapterTeamingEntry 3 }

teamAdapterTeamingSpeed    OBJECT-TYPE
	SYNTAX		Gauge32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Speed of the Team"
	::= { teamAttrAdapterTeamingEntry 4 }

teamAdapterTeamingProbesState    OBJECT-TYPE
	SYNTAX		INTEGER {
				probes-enabled(0),
				probes-disabled(1)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	
		"If enabled the team uses probes to check on its members"
	::= { teamAttrAdapterTeamingEntry 5 }

teamAdapterTeamingProbesMode    OBJECT-TYPE
	SYNTAX		INTEGER {
				broadcast(0),
				multicast(1),
				not-available(2)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	
		"If enabled the team uses probes to check on its members"
	::= { teamAttrAdapterTeamingEntry 6 }

teamAdapterTeamingLoadBalanceRefresh	    OBJECT-TYPE
	SYNTAX		INTEGER {
				not-available(0)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	""
	::= { teamAttrAdapterTeamingEntry 7 }

teamAdapterTeamingProbesSendTime	    OBJECT-TYPE
	SYNTAX		INTEGER {
				not-available(0)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	""
	::= { teamAttrAdapterTeamingEntry 8 }

teamAdapterTeamingPreferredPrimaryIndex	OBJECT-TYPE
	SYNTAX		INTEGER {
				not-available(0)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Index of the Preferred Primary Member Adapter"
	::= { teamAttrAdapterTeamingEntry 9 }

teamAdapterTeamingCurrentPrimaryIndex	OBJECT-TYPE
	SYNTAX		INTEGER {
				not-available(0)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Index of the Current Primary Member Adapter"
	::= { teamAttrAdapterTeamingEntry 10 }

teamAdapterTeamingPreviousPrimaryIndex	OBJECT-TYPE
	SYNTAX		INTEGER {
				not-available(0)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Index of the Previous Primary Member Adapter"
	::= { teamAttrAdapterTeamingEntry 11 }

teamAdapterTeamingFailoverCounter	OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-write
	STATUS		current
	DESCRIPTION	
			"The failover counter, records the number of failovers
			the team suffered"
	::= { teamAttrAdapterTeamingEntry 12 }

-- ***********************************
-- Team Member Attr Tables
-- ***********************************
teamMemberAttrTables OBJECT IDENTIFIER ::= { adapterTables 5 }

teamMemberAttrTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF TeamMemberAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all iANS-TeamMember Adapters"
	::= { teamMemberAttrTables 1 }

teamMemberAttrEntry	OBJECT-TYPE
	SYNTAX		TeamMemberAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all iANS-TeamMember Adapters"
	INDEX		{ teamMemberIndex }		
	::= { teamMemberAttrTable 1 }

TeamMemberAttrEntry ::= SEQUENCE {
	teamMemberIndex		InterfaceIndex,
	teamMemberTeamId		INTEGER
}

teamMemberIndex	OBJECT-TYPE
	SYNTAX		InterfaceIndex
	ACCESS		read-only
	STATUS		current
	DESCRIPTION
		"A unique value, greater than zero, for each
		interface.  It is recommended that values are assigned
		contiguously starting from 1.  The value for each
		adapter  must remain constant at least from
		one re-initialization of the entity's network
		management system to the next re-initialization."
	::= { teamMemberAttrEntry 1 }

teamMemberTeamId OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Id of the Team the Adapter belongs to"
	::= { teamMemberAttrEntry 2 }

teamMemberAttrAdapterTeamingTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF TeamMemberAttrAdapterTeamingEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all iANS-TeamMember Adapters"
	::= { teamMemberAttrTables 2 }

teamMemberAttrAdapterTeamingEntry	OBJECT-TYPE
	SYNTAX		TeamMemberAttrAdapterTeamingEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all iANS-TeamMember Adapters"
	INDEX		{ teamMemberIndex }		
	::= { teamMemberAttrAdapterTeamingTable 1 }

TeamMemberAttrAdapterTeamingEntry ::= SEQUENCE {
	teamMemberAdapterTeamingState		INTEGER,
	teamMemberAdapterTeamingFailureCounter	Counter32,
	teamMemberAdapterTeamingPriority	INTEGER
}

teamMemberAdapterTeamingState	OBJECT-TYPE
	SYNTAX		INTEGER {
				active(0),
				disabled(1),
				standby(2),
				active-secondary(3)
			}				
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The iANS-TeamMemberAdapterTeaming Adapter State"
	::= { teamMemberAttrAdapterTeamingEntry 1 }	

teamMemberAdapterTeamingFailureCounter	OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-write
	STATUS		current
	DESCRIPTION	
		"The Failure counter, records the number of failures the 
		adapter suffered"
	::= { teamMemberAttrAdapterTeamingEntry 2 }	

teamMemberAdapterTeamingPriority   OBJECT-TYPE
	SYNTAX		INTEGER {
				none(0),
				primary(1),
				secondary(2)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The TeamMember's prioity"
	::= {teamMemberAttrAdapterTeamingEntry 3 }

-- ******
-- events
-- ******

events OBJECT IDENTIFIER ::= { intel-lan-adapters 3 }

-- **********************
-- physicalAdapter Events
-- **********************
physicalAdapterEvents OBJECT IDENTIFIER ::= { events 1 }

physicalAdapterTraps OBJECT IDENTIFIER ::= { physicalAdapterEvents 1 }

physicalAdapterLinkUpTrap 	NOTIFICATION-TYPE
	OBJECTS		{ physicalAdapterIndex }
	STATUS		current
	DESCRIPTION	"An adapter has left a link down state"
	::= { physicalAdapterTraps 1 }

physicalAdapterLinkDownTrap NOTIFICATION-TYPE
	OBJECTS	 	{ physicalAdapterIndex }
	STATUS		current
	DESCRIPTION	"An adapter has left a link up state"
	::= { physicalAdapterTraps 2 }

physicalAdapterAddedTrap NOTIFICATION-TYPE
	OBJECTS	 	{ physicalAdapterIndex }
	STATUS		current
	DESCRIPTION	"An adapter has been added"
	::= { physicalAdapterTraps 3 }

physicalAdapterRemovedTrap NOTIFICATION-TYPE
	OBJECTS	 	{ physicalAdapterIndex }
	STATUS		current
	DESCRIPTION	"An adapter has been removed"
	::= { physicalAdapterTraps 4 }

physicalAdapterLinkUpDownTrapEnable	OBJECT-TYPE
	SYNTAX		INTEGER {
				disabled(0),
				enabled(1)
			}
	ACCESS		read-write
	STATUS		current
	DESCRIPTION	"Enable or Disable physicalAdapterLinkUpDownTrap's"
	::= { physicalAdapterEvents 2 }

physicalAdapterAddedRemovedTrapEnable	OBJECT-TYPE
	SYNTAX		INTEGER {
				disabled(0),
				enabled(1)
			}
	ACCESS		read-write
	STATUS		current
	DESCRIPTION	"Enable or Disable physicalAdapterAddedRemovedTrap's"
	::= { physicalAdapterEvents 3 }


-- *******************
-- Virtual Adapter Events
-- *******************
virtualAdapterEvents OBJECT IDENTIFIER ::= { events 2 }

virtualAdapterTraps OBJECT IDENTIFIER ::= { virtualAdapterEvents 1 }

virtualAdapterAddedTrap NOTIFICATION-TYPE
	OBJECTS		{ virtualAdapterIndex, teamId }
	STATUS		current
	DESCRIPTION	"A virtual adapter has been added to a team"
	::= { virtualAdapterTraps 1 }

virtualAdapterRemovedTrap NOTIFICATION-TYPE
	OBJECTS		{ virtualAdapterIndex }
	STATUS		current
	DESCRIPTION	"A virtual adapter has been removed from a team"
	::= { virtualAdapterTraps 2 }

virutalAdapterTrapEnable	OBJECT-TYPE
	SYNTAX		INTEGER {
				disabled(0),
				enabled(1)
			}
	ACCESS		read-write
	STATUS		current
	DESCRIPTION	"Enable or Disable Traps for topology changes"
	::= { virtualAdapterEvents 2 }

-- *******************
-- team Events
-- *******************
teamEvents OBJECT IDENTIFIER ::= { events 3 }

teamTraps OBJECT IDENTIFIER ::= { teamEvents 1 }

teamAdapterTeamingFailoverTrap NOTIFICATION-TYPE
	OBJECTS		{ 
			  teamId, 
			  teamAdapterTeamingCurrentPrimaryIndex, 
			  teamAdapterTeamingPreviousPrimaryIndex 
			}
	STATUS		current
	DESCRIPTION	"Member Failure Event Notification"
	::= { teamTraps 1 }

teamAddedTrap NOTIFICATION-TYPE
	OBJECTS		{ teamId }
	STATUS		current
	DESCRIPTION	"A member has been added to a team"
	::= { teamTraps 2 }

teamRemovedTrap NOTIFICATION-TYPE
	OBJECTS		{ teamId }
	STATUS		current
	DESCRIPTION	"A member has been removed from a team"
	::= { teamTraps 3 }

teamTrapEnable	OBJECT-TYPE
	SYNTAX		INTEGER {
				disabled(0),
				enabled(1)
			}
	ACCESS		read-write
	STATUS		current
	DESCRIPTION	"Enable or Disable teamFailoverTrap's"
	::= { teamEvents 2 }

-- *******************
-- Team Member Events
-- *******************
teamMemberEvents OBJECT IDENTIFIER ::= { events 4 }

teamMemberTraps OBJECT IDENTIFIER ::= { teamMemberEvents 1 }

teamMemberAddedTrap NOTIFICATION-TYPE
	OBJECTS		{ teamMemberIndex, teamId }
	STATUS		current
	DESCRIPTION	"A member has been added to a team"
	::= { teamMemberTraps 1 }

teamMemberRemovedTrap NOTIFICATION-TYPE
	OBJECTS		{ teamMemberIndex }
	STATUS		current
	DESCRIPTION	"A member has been removed from a team"
	::= { teamMemberTraps 2 }

teamMemberTrapEnable	OBJECT-TYPE
	SYNTAX		INTEGER {
				disabled(0),
				enabled(1)
			}
	ACCESS		read-write
	STATUS		current
	DESCRIPTION	"Enable or Disable Traps for topology changes"
	::= { teamMemberEvents 2 }

END
