-- $Id: INTEL-LAN-ADAPTERS-MIB.mib,v 1.2.5 2001/10/13 13:08:01 agurman Exp $
-- MIB Version = 1.2.5
-- Contacts:  
--       Amiad Gurman     <Amiad.Gurman@intel.com>
--	     Omer Levy		  <Omer.Levy@intel.com>
--	     Zohar Levy	      <Zohar.Levy@intel.com>
--Change log (from 1.2.4):  
--1.mibVersion1-2-4 => mibVersion1-2-5
--2.ansTeamMode: Added enumaration for Switch Fault Tolerance - team-sft(6) 
--3.intel-lan-adaptersobject identifier: 
--  Loacal definition instead of importing it from Intel-Common-MIB.
--4.InterfaceIndex:Local definition instead of importing it from IF-MIB.
--* Due to changhes 3,4, INTEL-LAN-ADAPTERS-MIB.mib became a stand alone mib without
--  dependeccies of Intel-Common-MIB and IF-MIB.

--History of Changes:
-- $Id: INTEL-LAN-ADAPTERS-MIB.mib,v 1.2.0 2001/04/03 13:56:01 agurman Exp $
-- MIB Version = 1.2.0 (update the MIBVersion entry !) 
--Change log (from 1.1.0):  
--1.mibVersion1-1-0 => mibVersion1-2-0
--2.ansTeamFecCompatible and ansTeamAggrSelectionMode objects - added to AnsTeamAttrEntry,
--3.adapterDriverLoadStatus - added to genericAdapterAttrEntry,
--4.In DESCRIPTION of physicalAdapterTcpRxChecksumOffLoadEnable and
--	physicalAdapterTcpRxChecksumOffLoadEnable:
--	"When enabled TCP\UDP Checksums..." => "When enabled TCP Checksums..."  

-- $Id: INTEL-LAN-ADAPTERS-MIB.mib,v 1.2.1 2001/05/03 13:08:01 agurman Exp $
-- MIB Version = 1.2.1 
--Change log (from 1.2.0):  
--1.mibVersion1-2-0 => mibVersion1-2-1
--2."Loaded" => "loaded" (line 155), "NotLoaded" => "notLoaded" (line 156),
--3.Ommit "," after "DisplayString",
--4."Yes" => "yes" (line 840), "No" => "no" (line 841),
--5."Bandwidth" => "bandwidth" (line 851), "Count" => "count" (line 852)-- $Id: INTEL-LAN-ADAPTERS-MIB.mib,v 1.2.2 2001/05/22 13:08:01 agurman Exp $

-- $Id: INTEL-LAN-ADAPTERS-MIB.mib,v 1.2.2 2001/05/21 13:08:01 agurman Exp $
-- MIB Version = 1.2.2
--Change log (from 1.2.1):  
--1.mibVersion1-2-0 => mibVersion1-2-2
--2.ansVlanAttrEntry - description -"VLAN are active" => "Vlan is active".
--3.physicalAdapterLinkUpTrap - description - "An Adapter has reached to a link up state" =>
--                                          =>"An Adapter has reached    a link up state"
--4.ansAddedTrap - description - "A Team been added" => "A Team has been added".
--5.ansRemovedTrap - description - "A Team been removed". "A Team has been removed"

-- $Id: INTEL-LAN-ADAPTERS-MIB.mib,v 1.2.3 2001/05/24 13:08:01 agurman Exp $
-- MIB Version = 1.2.3 
--Change log (from 1.2.2):  
--1.mibVersion1-2-2 => mibVersion1-2-3
--2.agentExtensionVersion - description -"The version of the MIB implementation" => 
--										 "The version of the SNMP extension agent implementation"   
--3.ansTeamMemberFailureCounter - description - "...records the number of failures the adapter suffered." =>
--												"...records the number of failovers that were from this member"

-- $Id: INTEL-LAN-ADAPTERS-MIB.mib,v 1.2.4 2001/05/24 13:08:01 agurman Exp $
-- MIB Version = 1.2.4 
--Change log (from 1.2.3):  
--1.mibVersion1-2-3 => mibVersion1-2-4
--2.ansTeamFecCompatible and ansTeamAggrSelectionMode objects - 
--  default values added:not-available(-1)

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

IMPORTS
	OBJECT-TYPE,
	NOTIFICATION-TYPE,
	Counter32,
	Gauge32
		FROM SNMPv2-SMI
	PhysAddress,
	DisplayString
		FROM SNMPv2-TC; 

iso          		OBJECT IDENTIFIER ::= { 1 }
org          		OBJECT IDENTIFIER ::= { iso 3 }
dod          		OBJECT IDENTIFIER ::= { org 6 }
internet     		OBJECT IDENTIFIER ::= { dod 1 }
directory    		OBJECT IDENTIFIER ::= { internet 1 }
mgmt         		OBJECT IDENTIFIER ::= { internet 2 }
experimental 		OBJECT IDENTIFIER ::= { internet 3 }
private      		OBJECT IDENTIFIER ::= { internet 4 }
enterprises  		OBJECT IDENTIFIER ::= { private 1 }
intel        		OBJECT IDENTIFIER ::= { enterprises 343 }
products     		OBJECT IDENTIFIER ::= { intel 2 }
nic-products 		OBJECT IDENTIFIER ::= { products 7 }
intel-lan-adapters  OBJECT IDENTIFIER ::= { nic-products 2 }

component-description OBJECT IDENTIFIER ::= { intel-lan-adapters 1 }
     
InterfaceIndex ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
            "A unique value, greater than zero, for each interface or
            interface sub-layer in the managed system.  It is
            recommended that values are assigned contiguously starting
            from 1.  The value for each interface sub-layer must remain
            constant at least from one re-initialization of the entity's
            network management system to the next re-initialization."
    SYNTAX       Integer32 (1..2147483647)

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

description	OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"Description of this Component - Intel(R) Network Adapter(s), Advanced Management"
	::= { component-description 2 }
	
operatingSystem	       	OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"The Operating System of the server which the SNMP agent is executed on"
	::= { component-description 3 }
	
mibVersion1-2-5		OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"The version of this MIB - empty string is always returned" 
	::= { component-description 4 }

mibVersionSupported	OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	
		"The version of the MIB supported by the agent. 
		1.x.y indicates that every MIB version of that template is supported by the agent"
	::= { component-description 5 }

agentExtensionVersion	OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"The version of the SNMP extension agent 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)
				Is base driver loaded
				Is ANS loaded"
	::= { component-description 7 }

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

-- ******************************
--   Generic Adapter Attr Table
-- ******************************
genericAdaptersAttrTables OBJECT IDENTIFIER ::= { adaptersTables 1 }

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

genericAdapterAttrEntry	OBJECT-TYPE
	SYNTAX		GenericAdapterAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all kinds of Adapters
				Entry for each physical or virtual adapter"
	INDEX		{ adapterIndex }		
	::= { genericAdaptersAttrTable 1 }

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

adapterIndex	OBJECT-TYPE
	SYNTAX		InterfaceIndex
	ACCESS		read-only
	STATUS		current
	DESCRIPTION
		"A unique value, greater than or equal to zero, for each
		interface. "
	::= { genericAdapterAttrEntry 1 }

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

adapterType   OBJECT-TYPE
	SYNTAX		INTEGER {
				standAlone(0),
				teamMember(1),
				virtual(2)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Type of Adapter (Member, stand alone or virtual)"
	::= { genericAdapterAttrEntry 3 }
          
adapterDriverLoadStatus   OBJECT-TYPE
	SYNTAX		INTEGER {
				loaded(0),
				notLoaded(1)
				}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The DriverLoadStatus:Loaded     - if driver is loaded on the NIC
									  Not Loaded - if the driver is not loaded
									  (The NIC is missing(hotRemove) or the driver is
									  not fully loaded for some reason)"
	::= { genericAdapterAttrEntry 4 }
genericAdaptersDriversAttrTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF GenericAdapterDriverAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all kinds of Adapters"
	::= { genericAdaptersAttrTables 2 }

genericAdapterDriverAttrEntry	OBJECT-TYPE
	SYNTAX		GenericAdapterDriverAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all kinds of Adapters
				Entry for each adapter"
	INDEX		{ adapterIndex }		
	::= { genericAdaptersDriversAttrTable 1 }

GenericAdapterDriverAttrEntry ::= 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"
	::= { genericAdapterDriverAttrEntry 1 }

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

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

adapterDriverDate	OBJECT-TYPE
	SYNTAX	    DisplayString
	ACCESS	    read-only
	STATUS	    current
	DESCRIPTION "Date of the creation of the Driver File of the Adapter :
				 mm / dd / yy"
	::= { genericAdapterDriverAttrEntry 5 }

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

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

genericAdapterTrafficStatsAttrEntry	OBJECT-TYPE
	SYNTAX		GenericAdapterTrafficStatsAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all kinds of Adapters
				Entry for each adapter instance"
	INDEX		{ adapterIndex }		
	::= { genericAdaptersTrafficStatsAttrTable 1 }

GenericAdapterTrafficStatsAttrEntry ::= 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"
	::= { genericAdapterTrafficStatsAttrEntry 1 }

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

adapterRxErrors   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"sum of packets received with errors. I.e. packets which failed to reach the protocol."
	::= { genericAdapterTrafficStatsAttrEntry 5 }

adapterTxErrors   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"packets failed to transmit"
	::= { genericAdapterTrafficStatsAttrEntry 6 }

adapterRxDropped   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Overruns"
	::= { genericAdapterTrafficStatsAttrEntry 7 }

adapterTxDropped   OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Num of packets dropped due to successive collisions"
	::= { genericAdapterTrafficStatsAttrEntry 8 }

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

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

-- *******************************
-- Physical Adapter Attr Table
-- *******************************
physicalAdaptersAttrTables OBJECT IDENTIFIER ::= { adaptersTables 2 }

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

physicalAdapterAttrEntry	OBJECT-TYPE
	SYNTAX		PhysicalAdapterAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all Physical Adapters
				Entry for each stand alone or member adapter"
	INDEX		{ physicalAdapterIndex }		
	::= { physicalAdaptersAttrTable 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 or equal to zero, for each
		interface."
	::= { physicalAdapterAttrEntry 1 }

physicalAdapterLinkStatus	OBJECT-TYPE
	SYNTAX		INTEGER {
				link-up(0),
				link-down(1)
			}				
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Physical Adapter Link Status.
				Appears only if available, 
				i.e. if the driver is compliant with SNMP 
				(otherwise, NO_SUCH_NAME is returned)."
	::= { physicalAdapterAttrEntry 2 }	

physicalAdapterLinkStatusChangesCounter	OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-write
	STATUS		current
	DESCRIPTION	
		"The Number of changes in the link status of the physical Adapter. 
		Any change, up to down or down to up is counted.
		Can be reset by the user. 
		I.e. can be set to zero only. Any other value is not permitted.
		Appears only if available, 
		i.e. if the driver is compliant with SNMP 
		(otherwise, NO_SUCH_NAME is returned)."
	::= { physicalAdapterAttrEntry 3 }	

physicalAdapterSpeed	OBJECT-TYPE
	SYNTAX		Gauge32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Physical Adapter Speed (MBps)
				Appears for SNMP compliant adapter with link up."
	::= { 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
				Appears for SNMP compliant adapter with link up."
	::= { physicalAdapterAttrEntry 5 }	

physicalAdapterAutoNegotiation	OBJECT-TYPE
	SYNTAX		INTEGER {
				on(0),
				off(1)
			}				
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Physical Adapter Autonegotiation Mode of speed and duplex
				Appears only if available, 
				i.e. if the driver is compliant with SNMP 
				(otherwise, NO_SUCH_NAME is returned)."
	::= { 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 Interrupt Request"
	::= { physicalAdapterAttrEntry 9 }	

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

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

physicalAdaptersAttrChecksumOffloadTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF PhysicalAdapterAttrChecksumOffloadEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr of Offloading enabled Physical Adapters
				Entry for each SNMP compliant physical adapter."
	::= { physicalAdaptersAttrTables 2 }

physicalAdapterAttrChecksumOffloadEntry	OBJECT-TYPE
	SYNTAX		PhysicalAdapterAttrChecksumOffloadEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all Physical Adapters"
	INDEX		{ physicalAdapterIndex }		
	::= { physicalAdaptersAttrChecksumOffloadTable 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 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 Checksums 
			are performed in hardware"
	::= { physicalAdapterAttrChecksumOffloadEntry 3 }	

-- ************************************
-- Virtual Adapter Attr Tables
-- ************************************
virtualAdaptersAttrTables OBJECT IDENTIFIER ::= { adaptersTables 3 }

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

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

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

virtualAdapterIndex	OBJECT-TYPE
	SYNTAX		InterfaceIndex
	ACCESS		read-only
	STATUS		current
	DESCRIPTION
		"A unique value, greater than or equal to zero, for each
		interface."
	::= { virtualAdapterAttrEntry 1 }

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

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

virtualAdapterVlanAttrEntry	OBJECT-TYPE
	SYNTAX		VirtualAdapterVlanAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr of VLANs.
				Appears for virtual adapters that support VLANs only."
	INDEX		{ virtualAdapterIndex }		
	::= { virtualAdaptersVlanAttrTable 1 }

VirtualAdapterVlanAttrEntry ::= SEQUENCE {
	virtualAdapterVlanId	    INTEGER
}

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

-- ********************
-- Ans Attr Tables
-- ********************
ansAttrTables OBJECT IDENTIFIER ::= { adaptersTables 4 }

ansAttrTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF AnsAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Ans Attr"
	::= { ansAttrTables 1 }

ansAttrEntry	OBJECT-TYPE
	SYNTAX		AnsAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Ans Attr"
	INDEX		{ ansId }		
	::= { ansAttrTable 1 }

AnsAttrEntry ::= SEQUENCE {
	ansId	  		    INTEGER,
	ansNumberOfMembers	    INTEGER,
	ansNumberOfVirtualAdapters INTEGER
}

ansId	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Unique Ans Id"
	::= { ansAttrEntry 1 }

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

ansNumberOfVirtualAdapters	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The number of Virtual Adapters in the Team"
	::= { ansAttrEntry 3 }
	
ansVlansAttrTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF AnsVlanAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Ans Attr"
	::= { ansAttrTables 2 }

ansVlanAttrEntry	OBJECT-TYPE
	SYNTAX		AnsVlanAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Ans VLAN Attr
				Appears only if VLAN is active"
	INDEX		{ ansId }		
	::= { ansVlansAttrTable 1 }

AnsVlanAttrEntry ::= SEQUENCE {
	ansVlanTaggingType	    INTEGER,
	ansVlanGvrpSupport	    INTEGER
}

ansVlanTaggingType	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"
	::= { ansVlanAttrEntry 1 }

ansVlanGvrpSupport			OBJECT-TYPE
	SYNTAX		INTEGER {
				enabled(0),
				disabled(1)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Does the team support GVRP."
	::= { ansVlanAttrEntry 2 }

ansTeamsAttrTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF AnsTeamAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Ans Team Attr"
	::= { ansAttrTables 3 }

ansTeamAttrEntry	OBJECT-TYPE
	SYNTAX		AnsTeamAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Ans Team Attr
				Appears if adapter teaming exists only"
	INDEX		{ ansId }		
	::= { ansTeamsAttrTable 1 }

AnsTeamAttrEntry ::= SEQUENCE {
	ansTeamName		    		 DisplayString,
	ansTeamMode			    	 INTEGER,
	ansTeamLinkState		     INTEGER,
	ansTeamSpeed			     Gauge32,
	ansTeamProbesState		     INTEGER,
	ansTeamProbesMode		     INTEGER,
	ansTeamLoadBalanceRefresh	 INTEGER,
	ansTeamProbesSendTime	     INTEGER,
	ansTeamPreferredPrimaryIndex INTEGER,
	ansTeamCurrentPrimaryIndex	 INTEGER,
	ansTeamPreviousPrimaryIndex	 INTEGER,
	ansTeamFailoverCounter	     Counter32,
	ansTeamFecCompatible         INTEGER,
	ansTeamAggrSelectionMode     INTEGER
}

ansTeamName    OBJECT-TYPE
	SYNTAX		DisplayString
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"Unique ansTeam Name"
	::= { ansTeamAttrEntry 1 }

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

ansTeamLinkState    OBJECT-TYPE
	SYNTAX		INTEGER {
				up(0),
				down(1)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The State of the Team.
				Aggregation of the link state of the team members"
	::= { ansTeamAttrEntry 3 }

ansTeamSpeed    OBJECT-TYPE
	SYNTAX		Gauge32
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"The Speed of the Team
				The speed of the current primary member (Mbps)."
	::= { ansTeamAttrEntry 4 }

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

ansTeamProbesMode    OBJECT-TYPE
	SYNTAX		INTEGER {
				broadcast(0),
				multicast(1),
				not-available(2)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	
		"Mode of probe usage"
	::= { ansTeamAttrEntry 6 }

ansTeamLoadBalanceRefresh	    OBJECT-TYPE
	SYNTAX		INTEGER {
				not-available(0)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"In seconds"
	::= { ansTeamAttrEntry 7 }

ansTeamProbesSendTime	    OBJECT-TYPE
	SYNTAX		INTEGER {
				not-available(0)
			}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	"In seconds"
	::= { ansTeamAttrEntry 8 }

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

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

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

ansTeamFailoverCounter	OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-write
	STATUS		current
	DESCRIPTION	
			"The failover counter, records the number of failovers
			the team suffered.
			Can be reset by the user. 
			I.e. can be set to zero only. Any other value is not permitted."
	::= { ansTeamAttrEntry 12 } 
	
ansTeamFecCompatible  OBJECT-TYPE
	SYNTAX		INTEGER { 
				not-available(-1)
				yes(0),
				no(1)
				}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	
			"In IEEE 802.3AD mode:compatibility with FEC mode"
	::= { ansTeamAttrEntry 13 } 
	
ansTeamAggrSelectionMode OBJECT-TYPE
	SYNTAX		INTEGER {
				not-available(-1)
				bandwidth(0),
				count(1)
				}
	ACCESS		read-only
	STATUS		current
	DESCRIPTION	
			"In IEEE 802.3AD mode:Aggregation Selection Mode"
	::= { ansTeamAttrEntry 14 } 

-- ***********************************
-- Ans Member Attr Tables
-- ***********************************
ansMembersAttrTables OBJECT IDENTIFIER ::= { adaptersTables 5 }

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

ansMemberAttrEntry	OBJECT-TYPE
	SYNTAX		AnsMemberAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr common to all iANS-TeamMember Adapters"
	INDEX		{ ansMemberIndex }		
	::= { ansMembersAttrTable 1 }

AnsMemberAttrEntry ::= SEQUENCE {
	ansMemberIndex		InterfaceIndex,
	ansMemberAnsId		INTEGER
}

ansMemberIndex	OBJECT-TYPE
	SYNTAX		InterfaceIndex
	ACCESS		read-only
	STATUS		current
	DESCRIPTION
		"A unique value, greater than or equal to zero, for each member. 
		This value is identical to the value of the physical adapter associated with this member."
	::= { ansMemberAttrEntry 1 }

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

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

ansTeamMemberAttrEntry	OBJECT-TYPE
	SYNTAX		AnsTeamMemberAttrEntry
	ACCESS		not-accessible
	STATUS		current
	DESCRIPTION	"Attr of iANS-TeamMember Adapters related to adapter teaming.
				Appears if adapter teaming exists only"
	INDEX		{ ansMemberIndex }		
	::= { ansTeamMembersAttrTable 1 }

AnsTeamMemberAttrEntry ::= SEQUENCE {
	ansTeamMemberState		INTEGER,
	ansTeamMemberFailureCounter	Counter32,
	ansTeamMemberPriority	INTEGER
}

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

ansTeamMemberFailureCounter	OBJECT-TYPE
	SYNTAX		Counter32
	ACCESS		read-write
	STATUS		current
	DESCRIPTION	                                  
		"The Failure counter, records the number of failovers that were from this member.
		Can be reset by the user. 
		I.e. can be set to zero only. Any other value is not permitted."
	::= { ansTeamMemberAttrEntry 2 }	

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

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

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

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

physicalAdaptersTraps OBJECT IDENTIFIER ::= { physicalAdaptersEvents 1 }

physicalAdapterLinkUpTrap 	NOTIFICATION-TYPE
	OBJECTS		{ physicalAdapterIndex }
	STATUS		current
	DESCRIPTION	"An adapter has reached a link up state"
	::= { physicalAdaptersTraps 1 }

physicalAdapterLinkDownTrap NOTIFICATION-TYPE
	OBJECTS	 	{ physicalAdapterIndex }
	STATUS		current
	DESCRIPTION	"An adapter has reached a link down state"
	::= { physicalAdaptersTraps 2 }

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

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

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

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


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

virtualAdaptersTraps OBJECT IDENTIFIER ::= { virtualAdaptersEvents 1 }

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

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

virutalAdaptersTrapEnable	OBJECT-TYPE
	SYNTAX		INTEGER {
				disabled(0),
				enabled(1)
			}
	ACCESS		read-write
	STATUS		current
	DESCRIPTION	"Enable or Disable Traps for virtual adapters"
	::= { virtualAdaptersEvents 2 }

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

ansTraps OBJECT IDENTIFIER ::= { ansEvents 1 }

ansTeamFailoverTrap NOTIFICATION-TYPE
	OBJECTS		{ 
			  ansId, 
			  ansTeamCurrentPrimaryIndex, 
			  ansTeamPreviousPrimaryIndex 
			}
	STATUS		current
	DESCRIPTION	"Trap for primary change in the team"
	::= { ansTraps 1 }

ansAddedTrap NOTIFICATION-TYPE
	OBJECTS		{ ansId }
	STATUS		current
	DESCRIPTION	"A team has been added"
	::= { ansTraps 2 }

ansRemovedTrap NOTIFICATION-TYPE
	OBJECTS		{ ansId }
	STATUS		current
	DESCRIPTION	"A team has been removed"
	::= { ansTraps 3 }

ansTrapEnable	OBJECT-TYPE
	SYNTAX		INTEGER {
				disabled(0),
				enabled(1)
			}
	ACCESS		read-write
	STATUS		current
	DESCRIPTION	"Enable or Disable team traps"
	::= { ansEvents 2 }

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

teamMembersTraps OBJECT IDENTIFIER ::= { teamMembersEvents 1 }

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

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

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

END
