-- *****************************************************************
-- CISCO-LES-MIB.my: LES MIB file.
--
-- July 1995, Chris Young
--
-- Copyright (c) 1995-1997, 1998 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
--
 CISCO-LES-MIB DEFINITIONS ::= BEGIN

 IMPORTS
	ciscoMgmt                       FROM CISCO-SMI
	MODULE-IDENTITY, OBJECT-TYPE,
	Counter32, Integer32		FROM SNMPv2-SMI 
	AtmLaneAddress			FROM LAN-EMULATION-CLIENT-MIB
	CiscoVpiInteger, 
	CiscoVciInteger			FROM CISCO-BUS-MIB
	MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
	RowStatus, DisplayString, 
	MacAddress, TimeStamp           FROM SNMPv2-TC;

 ciscoLesMIB	 MODULE-IDENTITY
	LAST-UPDATED "9603071030Z"
	ORGANIZATION "Cisco Systems Inc."
	CONTACT-INFO
		" Cisco Systems Inc."
	DESCRIPTION
		" The MIB module for the management of LANE Service 
		in Cisco devices."
	::= { ciscoMgmt 39 }
	
 ciscoLesMIBObjects OBJECT IDENTIFIER ::= { ciscoLesMIB 1 }

 les      OBJECT IDENTIFIER ::= { ciscoLesMIBObjects 1 }
 leClient   OBJECT IDENTIFIER ::= { ciscoLesMIBObjects 2 }
 register OBJECT IDENTIFIER ::= { ciscoLesMIBObjects 3 }

 lesTable OBJECT-TYPE
	SYNTAX     SEQUENCE OF LesEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" A (conceptual) table containing all instances of LESs
		on this device."
	::= { les 1 }

 lesEntry OBJECT-TYPE
	SYNTAX     LesEntry 
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" An entry (conceptual row) in the lesTable."
	INDEX     { lesElanName, lesIndex }
	::= { lesTable 1 }

 LesEntry ::= SEQUENCE {
	lesElanName             DisplayString,
	lesIndex                Integer32,
	lesAtmAddrSpec          AtmLaneAddress,
	lesAtmAddrMask		OCTET STRING,
	lesAtmAddrActual	AtmLaneAddress,
	lesIfIndex              Integer32,
	lesSubIfNum             Integer32,
	lesColocBusAtmAddrSpec  AtmLaneAddress,
	lesColocBusAtmAddrMask  OCTET STRING,
	lesColocBusAtmAddrActl  AtmLaneAddress,
	lesUpTime               TimeStamp,
	lesLanType              INTEGER,
	lesMaxFrm               INTEGER,
	lesJoinTimeout          INTEGER,
	lesLecsAtmAddr          AtmLaneAddress,
	lesControlDistVpi       CiscoVpiInteger,
	lesControlDistVci       CiscoVciInteger,
	lesOperStatus           INTEGER,
	lesAdminStatus          INTEGER,
	lesStatus               RowStatus,
	lesSegmentID            INTEGER
 }

 lesElanName OBJECT-TYPE
	SYNTAX     DisplayString (SIZE (1..32))
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" The name associated with the emulated LAN which this
		LES services."
	::= { lesEntry 1 }

 lesIndex OBJECT-TYPE
	SYNTAX     Integer32 (1..2147483647)
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" A  unique  identifier for   this LES servicing  this
		ELAN.  This value must remain constant while the entry
		is in existence and during the  operation of the agent
		(i.e.   It is allowed to  change  after reboot).  For 
		implementations  that do not allow  more  than one LES
		entity per ELAN per device, it is sufficient to always
		report 1 for  this object and  to only accept one  for
		row creation."
	::= { lesEntry 2 }

 lesAtmAddrSpec OBJECT-TYPE
	SYNTAX     AtmLaneAddress
	MAX-ACCESS read-create
	STATUS     current
	DESCRIPTION
		" The  ATM address of the   designated LES.  Note that
		setting this object  will  have  the side  effect   of
		reinitializing  the  LES and consequently dropping all
		clients connected  to  it.   If  this  object is   not
		specified    at row creation  time  then  the LES will
		choose a value for itself and attempt to register with
		the  switch    with  that value.   If    an address is
		specified which is  not acceptable to the  switch then
		the  lesOperStatus  will   remain  inactive  until  an
		acceptable address is set."
	::= { lesEntry 3 }

 lesAtmAddrMask OBJECT-TYPE
	SYNTAX     OCTET STRING (SIZE (0 | 20))
	MAX-ACCESS read-create
	STATUS     current
	DESCRIPTION
		"  An  address    mask   that  when  used   with   the
		lesAtmAddrSpec  specifies the portion  of the LES' ATM
		address that is desired  to be configured.  Note  that
		setting   this    object   will     result     in  the
		reinitialization of  the LES,consequently dropping all
		clients connected to it.  Note that this object cannot
		be set at row  creation time without also  supplying a
		value for the  lesAtmAddrSpec object.  If the LES  ATM
		address  is omitted at creation  time then this object
		defaults  to  the  value of   all  zeros (none  of the
		lesAtmAddrSpec value   is relevant). If  the  LES  ATM
		address is specified at  creation time but this object
		omitted, then this object defaults to the value of all
		ones (all of the lesAtmAddrSpec is relevant)."
	::= { lesEntry 4 }

 lesAtmAddrActual OBJECT-TYPE
	SYNTAX     AtmLaneAddress
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The resultant ATM address  in use by  the LES.  This
		object is a product of the specified ATM address, mask
		and interaction with the switch via the ILMI."
	::= { lesEntry 5 }	

 lesIfIndex OBJECT-TYPE
	SYNTAX     Integer32
	MAX-ACCESS read-create
	STATUS     current
	DESCRIPTION
		"  The interface that a LES will receive control
                connections on. The value specified for this object
                must equate to a value of ifIndex in the ifTable.  The
                interface  will be for that particular ATM port (the
                physical interface, not a logical layer on top of
                it). This object can only be specified upon row
                creation and cannot be altered there after." 
	::= { lesEntry 6 } 

 lesSubIfNum OBJECT-TYPE
	SYNTAX     Integer32
	MAX-ACCESS read-create
	STATUS     current
	DESCRIPTION
		" Specifies   the  sub-interface number that  the  LES
		will reside on.  This sub-interface may be shared with
		a LEC or  BUS of the same ELAN  but is not required to
		do  so.  If no value  is  specified for this object at
		row creation time, then a sub-interface will be chosen
		by  the agent. This   object may only be  specified at
		row creation time and cannot be altered thereafter."  
	::= { lesEntry 7 }

 lesColocBusAtmAddrSpec OBJECT-TYPE
	SYNTAX     AtmLaneAddress
	MAX-ACCESS read-create
	STATUS     current
	DESCRIPTION
		" For  those   implementations who  do  not  allow the
		separate creation/deletion of   the LES and   BUS this
		object allows the operator  to specify the ATM address
		of the BUS at  LES creation time.  For implementations
		that allow separate  process  creation this object  is
		optional.   Otherwise this is  the  ATM address of the
		designated BUS.   Note that setting  this object  will
		have the side  effect  of reinitializing the  BUS  and
		consequently dropping all clients connected to it.  If
		this object is not specified at row creation time then
		the BUS will choose a value for  itself and attempt to
		register  with the  switch  with  that value.  If   an
		address is  specified which is   not acceptable to the
		switch  then the  busOperStatus will  remain  inactive
		until an acceptable address is set."
	::= { lesEntry 8 } 

 lesColocBusAtmAddrMask OBJECT-TYPE
	SYNTAX     OCTET STRING (SIZE (0 | 20))
	MAX-ACCESS read-create
	STATUS     current
	DESCRIPTION
		"  An   address   mask   that  when   used  with   the
		lesColocatedBusAtmAddr specifies  the portion  of  the
		BUS'  ATM address desired   by management.   Note that
		setting this  object  will  have the  side  effect  of
		reinitializing  the BUS and  consequently dropping all
		clients connected to it.  Note that this object cannot
		be set  at row creation  time without also supplying a
		value   for the lesColocBusAtmAddrSpec  object. If the
		BUS ATM	address is omitted  at creation time then this
		object defaults to the value of all zeros (none of the
		lesColocBusAtmAddrSpec  value is relevant). If the BUS
		ATM  address is specified   at creation time but  this
		object omitted, then this object defaults to the value
		of  all ones  (all  of the   lesColocBusAtmAddrSpec is
		relevant)."
	::= { lesEntry 9 }

 lesColocBusAtmAddrActl OBJECT-TYPE
	SYNTAX     AtmLaneAddress
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The ATM address in use by the BUS.  This object is a
		product of  the specified  ATM  address, its  mask and
		interaction with the switch through the ILMI."
	::= { lesEntry 10 }

 lesUpTime OBJECT-TYPE
	SYNTAX     TimeStamp
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"   The  value of   sysUpTime  when  this   LES became
		activated."
	::= { lesEntry 11 }

 lesLanType OBJECT-TYPE
	SYNTAX     INTEGER { dot3(1), dot5(2) }
	MAX-ACCESS read-create
	STATUS     current
	DESCRIPTION
		" The type of legacy LAN that this LES emulates."
	DEFVAL     { dot3 }
	::= { lesEntry 12 }
	
 lesMaxFrm OBJECT-TYPE
	SYNTAX     INTEGER { dot3    (1516), 
	                     tr4Mb   (4544), 
	                     rfc1626 (9234), 
	                     tr16Mb  (18190) }
	MAX-ACCESS read-create
	STATUS     current
	DESCRIPTION
		" The maximum frame  size that the specified  LAN type
		can accept."
	DEFVAL     { dot3 }
	::= { lesEntry 13 }

 lesJoinTimeout OBJECT-TYPE
	SYNTAX     INTEGER (10..300)
	UNITS      "seconds"
	MAX-ACCESS read-create
	STATUS     current
	DESCRIPTION
		" The number  of seconds  that must  elapse before a  
		Join request can be timed-out."
	DEFVAL     { 120 }
	::= { lesEntry 14 }

 lesLecsAtmAddr OBJECT-TYPE
	SYNTAX     AtmLaneAddress
	MAX-ACCESS read-create
	STATUS     current
	DESCRIPTION
		" The  ATM address  associated with  the LECS  used by
		this LES. If no  LECS is in use  by the LES  then this
		object will have the value of all 0's (i.e 0x0000...).
		If it is  desired that the LES get  the address of the
		LECS  through the ILMI  then this  object may be  left
		unspecified at row activation.  If the ILMI fails then
		the lesOperStatus will  be inactive(2) and this column
		still not present."
	::= { lesEntry 15 }

 lesControlDistVpi OBJECT-TYPE
	SYNTAX     CiscoVpiInteger
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"  The   virtual  path  identifier   of   the  control
		distribute VCC to all clients, if it exits. "
	::= { lesEntry 16 }

 lesControlDistVci OBJECT-TYPE
	SYNTAX     CiscoVciInteger
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The  virtual  channel  identifier   of  the  control
		distribute VCC to all clients, if it exists. "
	::= { lesEntry 17 }

 lesOperStatus OBJECT-TYPE
	SYNTAX     INTEGER { active(1), inactive(2) } 
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" This   object reflects the  actual state  of the LES
		which may   differ from   that of   the lesAdminStatus
		object.    This   can   occur    when    the interface
		ifOperStatus  is     'down'  but  the    corresponding
		lesAdminStatus is 'active'."
	DEFVAL     { active } 
	::= { lesEntry 18 }

 lesAdminStatus OBJECT-TYPE
	SYNTAX     INTEGER { active(1), inactive(2) }
	MAX-ACCESS read-create
	STATUS     current
	DESCRIPTION
		"  The  desired  state   of  the  designated   LES  as
		prescribed by the operator. The  actions of the  agent
		will, if at  all  possible, eventually  result  in the
		desired state being  reflected in  the lesOperStatus."
	::= { lesEntry 19 } 

 lesStatus OBJECT-TYPE
	SYNTAX     RowStatus
	MAX-ACCESS read-create
	STATUS     current
	DESCRIPTION
		" The status of this entry (conceptual row).  This row
		cannot be set to active  until an appropiate value  of
		lesIfIndex has been specified. "
	::= { lesEntry 20 }

 lesSegmentID OBJECT-TYPE
	SYNTAX     INTEGER (0..4095)
	MAX-ACCESS read-create
	STATUS     current
	DESCRIPTION
		" The segment ID of the emulated LAN this LES is
                servicing.  This object is only valid if the
                lesLanType is dot5(2)."
	::= { lesEntry 21 }

 lesStatsTable OBJECT-TYPE
	SYNTAX     SEQUENCE OF LesStatsEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" A (conceptual) table of statistics associated with
		LES instances on the device."
	::= { les 2 }

 lesStatsEntry OBJECT-TYPE
	SYNTAX     LesStatsEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" A (conceptual) row in the lesStatsTable which
		corresponds to the statistics kept by a particular
		instance of a LES."
	INDEX     { lesElanName, lesIndex }
	::= { lesStatsTable 1 }

 LesStatsEntry ::= SEQUENCE {
	lesInErrors             Counter32,
	lesInErrorLastLec       AtmLaneAddress,
	lesInFlushReplies       Counter32,
	lesInJoinReqs           Counter32,
	lesOutJoinFails         Counter32,
	lesJoinLastFailCause    Integer32,
	lesJoinLastFailLec      AtmLaneAddress,
	lesOutConfigReqs        Counter32,
	lesInConfigResps        Counter32,
	lesInConfigFails        Counter32,
	lesInRegisReqs          Counter32,
	lesOutRegisFails        Counter32,
	lesRegisLastFailCause   Integer32,
	lesRegisLastFailLec     AtmLaneAddress,
	lesInUnregReqs          Counter32,
	lesInLearpUcasts        Counter32,
	lesInLearpBroadcasts    Counter32,
	lesOutLearpFwd          Counter32,
	lesInLearpResps         Counter32,
	lesInNarpReqs           Counter32,
	lesInTopolReqs          Counter32
}

 lesInErrors OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The number of frames  received by the LES which were
		either malformed  or did  not follow standard protocol
		(i.e. receiving   a  LE-ARP request   for a  multicast
		address)."
	::= { lesStatsEntry 1 }

 lesInErrorLastLec OBJECT-TYPE
	SYNTAX     AtmLaneAddress
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The ATM address of the LE client whose last frame to
		the LES	resulted in  an increment  to the  lesInErrors
		counter."
	::= { lesStatsEntry 2 }

 lesInFlushReplies OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The number of Flush  replies that have been received
		by the LES and forwarded onto its clients."
	::= { lesStatsEntry 3 }

 lesInJoinReqs OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The number  of LE_JOIN_REQUESTs received by this LES
		since activation."
	::= { lesStatsEntry 4 }

 lesOutJoinFails OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"    The  number  of   rejection     LE_JOIN_RESPONSEs
		transmitted by this LES since activation."
	::= { lesStatsEntry 5 }

 lesJoinLastFailCause OBJECT-TYPE
	SYNTAX     Integer32 
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The cause for the transmission of the last rejection
		LE_JOIN_RESPONSE.  This   is the value  of the  status
		field  within the rejection  response.   If the server
		has never issued a rejection response then this object
		will have the value of 0."
	::= { lesStatsEntry 6 }

 lesJoinLastFailLec OBJECT-TYPE
	SYNTAX     AtmLaneAddress
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"   The  ATM  address   of   the  client   whose  last
		LE_JOIN_REQUEST	resulted  in a   rejection  by    this
		server.  If the  server  has never issued a  rejection
		response then this object  will have the value of  all
		0's (i.e. 0x000...)."
	::= { lesStatsEntry 7 }

 lesOutConfigReqs OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The number of LE_CONFIGURE_REQUESTs sent by this LES
		since activation."
	::= { lesStatsEntry 8 }

 lesInConfigResps OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS read-only	
	STATUS     current
	DESCRIPTION
		"  The  number  of successful   LE_CONFIGURE_RESPONSEs
		received by this LES since activation."
	::= { lesStatsEntry 9 } 

 lesInConfigFails OBJECT-TYPE 
	SYNTAX    Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"   The   number of   rejection LE_CONFIGURE_RESPONSEs
		received by this LES since activation."
	::= { lesStatsEntry 10 }
 
 lesInRegisReqs OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The  number of LE_REGISTER_REQUESTs received by this
		LES since activation."
	::= { lesStatsEntry 11 }

 lesOutRegisFails OBJECT-TYPE 
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"  The   number of  rejection    LE_REGISTER_RESPONSEs
		transmitted by this LES since activation."
	::= { lesStatsEntry 12 }

 lesRegisLastFailCause OBJECT-TYPE
	SYNTAX     Integer32 
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The cause for the transmission of the last rejection
		LE_REGISTER_RESPONSE.  This  variable has the value of
		the status field  within  the  last  failure  register
		response.  If the  server  has never   issued a failed
		registration response then   the value of this  object
		shall be 0."
	::= { lesStatsEntry 13 }

 lesRegisLastFailLec OBJECT-TYPE
	SYNTAX     AtmLaneAddress
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"   The   ATM  address  of    the  client whose   last
		LE_REGISTER_REQUEST to  this LES resulted  in failure.
		If the server  has never issued a  failed registration
		response  then the value  of this  object shall be all
		0's (i.e. x0000...)."
	::= { lesStatsEntry 14 }

 lesInUnregReqs	OBJECT-TYPE 
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The number  of valid LE_UNREGISTER_REQUESTs received
		by this LES since activation."
	::= { lesStatsEntry 15 }

 lesInLearpUcasts OBJECT-TYPE 
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"   The number  of  LE_ARP_REQUESTs  received  by this
		LES  since   activation and  responded   to  directly.
		This applies   to all   LE_ARP requests for  addresses
		registered by  LE clients with  the LES.  Note  that a
		LES is not required to answer LE_ARP requests directly
		and  may  forward  the   request  on  to the   control
		distribute regardless.	This counter does not apply to
		those  requests the    BUS (the broadcast   address)."
	::= { lesStatsEntry 16 }

 lesInLearpBroadcasts OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The number of LE_ARP_REQUEST received by the LES for
		the broadcast address.  These requests are responded
		to with the BUS' ATM address."
	::= { lesStatsEntry 17 }

 lesOutLearpFwd OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The number of LE_ARP_REQUEST frames forwarded onto
		the control distribute VC."
	::= { lesStatsEntry 18 }

 lesInLearpResps OBJECT-TYPE 
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The number of LE_ARP_RESPONSEs received by this LES
		and forwarded onto the control distribute. "
	::= { lesStatsEntry 19 }

 lesInNarpReqs OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The number of  Negative LE_ARP requests  received by
		this LES and  forwarded  on to the control  distribute
		VC."
	::= { lesStatsEntry 20 }

 lesInTopolReqs	OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The number of  LE_TOPOLOGY_REQUESTs received by this
		LES since activation."
	::= { lesStatsEntry 21 }


 lesClientTable OBJECT-TYPE
	SYNTAX     SEQUENCE OF LesClientEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" A (conceptual) table listing the clients associated
		with a LES.  Note that the local or network management
		will not create or destroy rows in this table but
		may only inspect what LECs are currently joined
		with the LES."
	::= { leClient 1 }

 lesClientEntry OBJECT-TYPE
	SYNTAX     LesClientEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" An entry (conceptual) row that denotes a client that
		is joined with the LES."
	INDEX      { lesElanName, lesIndex, lesClientLecid }
	::= { lesClientTable 1 }

 LesClientEntry ::= SEQUENCE {
	lesClientLecid          INTEGER,
	lesClientAtmAddr        AtmLaneAddress,
	lesClientState          INTEGER,
	lesClientIfIndex        Integer32,
	lesClientControlVpi     CiscoVpiInteger,
	lesClientControlVci     CiscoVciInteger,
	lesClientStatus		RowStatus
 }
 
 lesClientLecid OBJECT-TYPE
	SYNTAX     INTEGER (0001..65279) -- 0x0001 to 0xFFEF
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" The LECID selected for an LEC by the LES during the JOIN
		phase."
	::= { lesClientEntry 1 }

 lesClientAtmAddr OBJECT-TYPE
	SYNTAX     AtmLaneAddress
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The primary ATM address associated with the designated LEC."
	::= { lesClientEntry 2 }

 lesClientState OBJECT-TYPE
	SYNTAX     INTEGER { connected(1),   
	                     joinRecv(2),    
	                     verify(3),
	                     addLec(4),
	                     busConnect(5),
	                     operational(6),
	                     terminating(7) }
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The current state of the LEC.  Note that busConnect is only a
		monitorable state if the BUS is colocated with the LES.  In the
		event that it is not then the client state should proceed 
		immediately to operational within this table (though it may not
		do so in actuality). Note that there is no relation between the
		client's internal state and the state reflected here.  The 
		state here is only the LES's observed state of the LEC."
	::= { lesClientEntry 3 }

 lesClientIfIndex OBJECT-TYPE
	SYNTAX     Integer32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The interface of the bi-directional control direct connection
		between the LEC and LES."
	::= { lesClientEntry 4 }

 lesClientControlVpi OBJECT-TYPE
	SYNTAX     CiscoVpiInteger
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The VPI of the bi-directional control direct connection 
		between the LEC and LES."
	::= { lesClientEntry 5 }

 lesClientControlVci OBJECT-TYPE
	SYNTAX     CiscoVciInteger 
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The VCI of the bi-directional control direct connection 
		between the LEC and LES."
	::= { lesClientEntry 6 }

 lesClientStatus OBJECT-TYPE
	SYNTAX     RowStatus
	MAX-ACCESS read-write
	STATUS     current
	DESCRIPTION
		" The status of the (conceptual) row.  Note that this
		object may only return the active(1) state.  The only
		value which may be written to this object is the
		destroy(6) state which will cause the client to be
		dropped from the ELAN."
	::= { lesClientEntry 7 }

 lesMacRegTable OBJECT-TYPE
	SYNTAX     SEQUENCE OF LesMacRegEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" A (conceptual) table of MAC addresses registered with the LES
		by its clients."
	::= { register 1 }

 lesMacRegEntry OBJECT-TYPE
	SYNTAX     LesMacRegEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		" An entry (conceptual row) that denotes a registered
		MAC address and the ATM address that corresponds to it."
	INDEX { lesElanName, lesIndex, lesMacRegMacAddress } 
	::= { lesMacRegTable 1 }

 LesMacRegEntry ::= SEQUENCE {
	lesMacRegMacAddress	MacAddress,
	lesMacRegAtmAddr	AtmLaneAddress,
	lesMacRegLecid		INTEGER
 }

 lesMacRegMacAddress OBJECT-TYPE
	SYNTAX     MacAddress
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" The MAC address of a registered client."
	::= { lesMacRegEntry 1 }

 lesMacRegAtmAddr OBJECT-TYPE
	SYNTAX     AtmLaneAddress
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The ATM address of the LEC that corresponds to the
		registered MAC address."
	::= { lesMacRegEntry 3 }

 lesMacRegLecid OBJECT-TYPE
	SYNTAX     INTEGER (0001..65279) -- 0x0001 to 0xFFEF
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"    The  LECID of   the   client  who registered  the
		designated MAC address."
	::= { lesMacRegEntry 4 }

 lesRDRegTable OBJECT-TYPE
	SYNTAX     SEQUENCE OF LesRDRegEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" A (conceptual) table of Route Descriptors registered
                with the LES by its clients."
	::= { register 2 }

 lesRDRegEntry OBJECT-TYPE
	SYNTAX     LesRDRegEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		" An entry (conceptual row) that denotes a registered
		Route Descriptor address and the ATM address that
                corresponds to it." 
	INDEX { lesElanName, lesIndex, lesRDRegSegmentId, lesRDRegBridgeNum } 
	::= { lesRDRegTable 1 }

 LesRDRegEntry ::= SEQUENCE {
	lesRDRegSegmentId	INTEGER,
	lesRDRegBridgeNum       INTEGER,
	lesRDRegAtmAddr         AtmLaneAddress,
	lesRDRegLecid		INTEGER
 }

 lesRDRegSegmentId OBJECT-TYPE
	SYNTAX     INTEGER (0..4095)
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" The segment ID of a registered client."
	::= { lesRDRegEntry 1 }

 lesRDRegBridgeNum OBJECT-TYPE
	SYNTAX     INTEGER (0..15)
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		" The bridge number of a registered client going to
        the designated segment."
	::= { lesRDRegEntry 2 }

 lesRDRegAtmAddr OBJECT-TYPE
	SYNTAX     AtmLaneAddress
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		" The ATM address of the LEC that corresponds to the
		registered Route Descriptor."
	::= { lesRDRegEntry 3 }

 lesRDRegLecid OBJECT-TYPE
	SYNTAX     INTEGER (0001..65279) -- 0x0001 to 0xFFEF
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"    The  LECID of   the   client  who registered  the
		designated Route Descriptor address."
	::= { lesRDRegEntry 4 }

ciscoLesMIBConformance OBJECT IDENTIFIER ::= { ciscoLesMIB 2 }

ciscoLesMIBGroups OBJECT IDENTIFIER ::= { ciscoLesMIBConformance 1 }

ciscoLesMIBCompliances OBJECT IDENTIFIER ::= { ciscoLesMIBConformance 2 }

ciscoLesGroup OBJECT-GROUP
	OBJECTS   { lesAtmAddrSpec, lesAtmAddrMask, lesAtmAddrActual,
		    lesIfIndex, lesUpTime, lesLanType, lesMaxFrm,
		    lesJoinTimeout, lesControlDistVpi,
		    lesControlDistVci, lesOperStatus, lesAdminStatus,
		    lesStatus }
	STATUS    current
	DESCRIPTION
		" The core set of objects necessary to managing a LES."
	::= { ciscoLesMIBGroups 1 }

ciscoLesStatsGroup OBJECT-GROUP
	OBJECTS    { lesInErrors, lesInErrorLastLec,
		     lesInFlushReplies, lesInJoinReqs,
		     lesOutJoinFails, lesJoinLastFailCause,
		     lesJoinLastFailLec, lesInRegisReqs,
		     lesOutRegisFails, lesRegisLastFailCause,
		     lesRegisLastFailLec, lesInUnregReqs,
		     lesInLearpUcasts, lesInLearpBroadcasts,
		     lesOutLearpFwd, lesInLearpResps, lesInNarpReqs,
		     lesInTopolReqs } 
	STATUS    current
	DESCRIPTION
		"    The  set    of   objects  containing  statistical
		information about a LES."
	::= { ciscoLesMIBGroups 2 }

ciscoLesColocatedGroup OBJECT-GROUP
	OBJECTS   { lesColocBusAtmAddrSpec, lesColocBusAtmAddrMask,
                    lesColocBusAtmAddrActl } 
	STATUS    current
	DESCRIPTION
		" The objects needed to supported collocated LANE service
		components."
	::= { ciscoLesMIBGroups 3 }

ciscoLesLecsGroup OBJECT-GROUP
	OBJECTS   { lesLecsAtmAddr, lesOutConfigReqs, lesInConfigResps, 
                    lesInConfigFails }
	STATUS    current
	DESCRIPTION
		" The objects necessary for those LES implementations that 
		use the LECS for LEC verification."
	::= { ciscoLesMIBGroups 4 }

ciscoLesCntrlDistGroup OBJECT-GROUP
	OBJECTS   { lesControlDistVpi, lesControlDistVci }
	STATUS    current
	DESCRIPTION
		" The additional objects for LESs that support a point to
		multipoint control distribute VC."
	::= { ciscoLesMIBGroups 5 }

ciscoLesSubIfGroup OBJECT-GROUP
	OBJECTS   { lesSubIfNum } 
	STATUS    current
	DESCRIPTION
		" For those implementations that wish to tie their LE service
		components to an particular sub-interface."
	::= { ciscoLesMIBGroups 6 }

ciscoLesClientGroup OBJECT-GROUP
	OBJECTS   { lesClientAtmAddr, lesClientState, lesClientIfIndex,
                    lesClientControlVpi, lesClientControlVci, 
                    lesClientStatus,
                    lesMacRegAtmAddr, lesMacRegLecid }
	STATUS    current
	DESCRIPTION
		" A collection of objects used for inspecting the clients 
		requesting the attention/service of the LES."
	::= { ciscoLesMIBGroups 7 }

ciscoLesTokenRingGroup OBJECT-GROUP
	OBJECTS    { lesSegmentID, lesRDRegAtmAddr, lesRDRegLecid }
	STATUS     current
	DESCRIPTION
		" A collection of objects used for managing LESs
	        capable of emulated token rings."
	::= { ciscoLesMIBGroups 8 }

ciscoLesMIBCompliance MODULE-COMPLIANCE
	STATUS current
	DESCRIPTION
		" The compliance statement for SNMP entities that support
		Cisco's LES MIB."
	MODULE -- this module
		MANDATORY-GROUPS   { ciscoLesGroup,
                                     ciscoLesStatsGroup,
                                     ciscoLesClientGroup }

		GROUP     ciscoLesSubIfGroup
		DESCRIPTION
			" The group of objects necessary to allow multiple LANE
                        components to share a common ifIndex."

		GROUP     ciscoLesColocatedGroup
		DESCRIPTION
			" The group of objects necessary to support a 
			colocated BUS."

		GROUP     ciscoLesLecsGroup
		DESCRIPTION
			" The group of objects necessary to support a LES
			that utilizes the LECS for verification of JOIN
			requests."
		
		GROUP     ciscoLesCntrlDistGroup
		DESCRIPTION
			" The group of objects mandatory for a LES that 
			utilizes a control distribute point to multipoint
			VC with its clients."

                GROUP     ciscoLesTokenRingGroup
                DESCRIPTION
                        " The group of objects mandatory for a LES
                        that supports token ring emulation."

		OBJECT     lesStatus
		MIN-ACCESS not-accessible
		DESCRIPTION
			" Those implementations that do not support
			the creation of a LES remotely need not
			implement the lesStatus object."

                OBJECT     lesSegmentID
                MIN-ACCESS read-only
                DESCRIPTION
                        " Later implementations of this object derive
                        the value from interaction with the LECS.
                        Consequently read-create access has been removed."

	::= { ciscoLesMIBCompliances 1 }

END
