[Docs] [txt|pdf] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 02 03 04 05 06 07 08 09 10 RFC 4327

Network Working Group                                       Martin Dubuc
Internet Draft
Category: Standards Track                            Sudheer Dharanikota
Expires: October 2003                                      Avici Systems

                                                        Thomas D. Nadeau
                                                           Cisco Systems

                                                        Jonathan P. Lang
                                                         Rincon Networks

                                                           Evan McGinnis
                                                        Calient Networks

                                                              April 2003


          Link Management Protocol Management Information Base


                    draft-ietf-ccamp-lmp-mib-05.txt


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC 2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet- Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet- Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes managed objects for modeling the Link



Dubuc et al.              Expires October 2003                  [Page 1]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   Management Protocol (LMP).

Table of Contents

1.   The Internet-Standard Management Framework  . . . . . . . . . .   2
2.   Introduction  . . . . . . . . . . . . . . . . . . . . . . . . .   3
3.   Terminology . . . . . . . . . . . . . . . . . . . . . . . . . .   3
4.   The SNMP Management Framework . . . . . . . . . . . . . . . . .   4
5.   Feature Checklist . . . . . . . . . . . . . . . . . . . . . . .   5
6.   Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . .   5
6.1. Summary of LMP MIB  . . . . . . . . . . . . . . . . . . . . . .   6
7.   Brief Description of MIB Objects  . . . . . . . . . . . . . . .   6
7.1. lmpNbrTable . . . . . . . . . . . . . . . . . . . . . . . . . .   6
7.2. lmpControlChannelTable  . . . . . . . . . . . . . . . . . . . .   6
7.3. lmpControlChannelPerfTable  . . . . . . . . . . . . . . . . . .   7
7.4. lmpTeLinkTable  . . . . . . . . . . . . . . . . . . . . . . . .   7
7.5. lmpLinkVerificationTable  . . . . . . . . . . . . . . . . . . .   7
7.6. lmpTeLinkPerfTable  . . . . . . . . . . . . . . . . . . . . . .   7
7.7. lmpDataLinkTable  . . . . . . . . . . . . . . . . . . . . . . .   7
7.8. lmpDataLinkPerfTable  . . . . . . . . . . . . . . . . . . . . .   7
8.   Example of LMP Control Channel Interface Setup  . . . . . . . .   7
9.   Application of the Interfaces Group to LMP  . . . . . . . . . .  10
9.1. Support of the LMP Layer by ifTable . . . . . . . . . . . . . .  10
10.  Link Management Protocol MIB Definitions  . . . . . . . . . . .  12
11.  Intellectual Property Considerations  . . . . . . . . . . . . .  75
12.  Security Considerations . . . . . . . . . . . . . . . . . . . .  75
13.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . .  76
14.  References  . . . . . . . . . . . . . . . . . . . . . . . . . .  76
14.1  Normative References . . . . . . . . . . . . . . . . . . . . .  76
14.2  Informative References . . . . . . . . . . . . . . . . . . . .  78
15.  Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . .  79
16.  Full Copyright Statement  . . . . . . . . . . . . . . . . . . .  79

1.  The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the SMIv2, which is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].




Dubuc et al.              Expires October 2003                  [Page 2]

Internet Draft                CCAMP LMP MIB               April 18, 2003


2.  Introduction

   Current work is underway in the IETF to specify a suite of protocols
   to be used as a common control plane and a separate common measure-
   ment plane. Along with Generalized MPLS (GMPLS) [RFC3471], the Link
   Management Protocol [LMP], which primary purpose is to manage traffic
   engineering (TE) links, is one of the key components of this stan-
   dardization activity. Primary goals of LMP are the maintenance of the
   control channel connectivity, correlation of link properties, verifi-
   cation of data-bearing links and detection and isolation of link
   faults.

   We describe in this document a MIB that can be used to manage LMP
   implementations. This MIB covers both configuration and performance
   monitoring aspects of LMP.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119, reference
   [RFC2119].

3.  Terminology

   This document uses terminology from the document describing the Link
   Management Protocol [LMP]. An "LMP adjacency" is formed between two
   nodes that support the same capabilities, and LMP messages are
   exchanged between the node pair over control channels that form this
   adjacency. Several control channels can be active at the same time.
   With the exception of messages related to control channel management,
   any time a LMP message needs to be transferred to a neighbor node, it
   can be sent on any of the active control channels. The control chan-
   nels can also be used to exchange MPLS control plane information or
   routing information.

   LMP is designed to support aggregation of one or more data-bearing
   links into a traffic-engineering (TE) link. The data-bearing links
   can be either component links or ports depending on their multiplex-
   ing capability (see [LMP] for distinction between port and component
   link).

   Each TE link is associated with an LMP adjacency, and one or more
   control channels are used to exchange LMP messages for a particular
   adjacency. In turn, control channels are used to manage the TE links
   associated with the LMP adjacency.







Dubuc et al.              Expires October 2003                  [Page 3]

Internet Draft                CCAMP LMP MIB               April 18, 2003


4.  The SNMP Management Framework

   The SNMP Management Framework presently consists of five major compo-
   nents:

   -  An overall architecture, described in RFC 2571 [RFC2571].

   -  Mechanisms for describing and naming objects and events for the
      purpose of management.  The first version of this Structure of
      Management Information (SMI) is called SMIv1 and described in
      STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC
      1215 [RFC1215].  The second version, called SMIv2, is described
      in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and
      STD 58, RFC 2580 [RFC2580].

   -  Message protocols for transferring management information.  The
      first version of the SNMP message protocol is called SNMPv1 and
      described in STD 15, RFC 1157 [RFC1157].  A second version of
      the SNMP message protocol, which is not an Internet standards
      track protocol, is called SNMPv2c and described in RFC 1901
      [RFC1901] and RFC 1906 [RFC1906].  The third version of the
      message protocol is called SNMPv3 and described in RFC 1906
      [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574].

   -  Protocol operations for accessing management information.  The
      first set of protocol operations and associated PDU formats is
      described in STD 15, RFC 1157 [RFC1157].  A second set of
      protocol operations and associated PDU formats is described in
      RFC 1905 [RFC1905].

   -  A set of fundamental applications described in RFC 2573
      [RFC2573] and the view-based access control mechanism described
      in RFC 2575 [RFC2575].

   A more detailed introduction to the current SNMP Management Framework
   can be found in RFC 2570 [RFC2570].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the mechanisms defined in the SMI.

   This memo specifies a MIB module that is compliant to the SMIv2.  A
   MIB conforming to the SMIv1 can be produced through the appropriate
   translations.  The resulting translated MIB must be semantically
   equivalent, except where objects or events are omitted because no
   translation is possible (use of Counter64).  Some machine readable
   information in SMIv2 will be converted into textual descriptions in
   SMIv1 during the translation process.  However, this loss of machine



Dubuc et al.              Expires October 2003                  [Page 4]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   readable information is not considered to change the semantics of the
   MIB.

5.  Feature Checklist

   The Link Management protocol MIB (LMP-MIB) is designed to satisfy the
   following requirements and constraints:

   -  The MIB supports the enabling and disabling of LMP capability
      on LMP capable interfaces of a photonic switch, optical
      cross-connect or router.

   -  The MIB is used provide information about LMP adjacencies.

   -  Support is provided for configuration of the keep alive and
      link verification parameters.

   -  The MIB is used to express the mapping between local and remote
      TE links, as well as local and remote interface identifiers for
      port or component link.

   -  Performance counters are provided for measuring LMP
      performance on a per-control channel basis. Performance counters
      are also provided for measuring LMP performance on the data-
      bearing links.

   Note that the LMP MIB goes hand-in-hand with the TE Link MIB [TELINK-
   MIB]. The TE link table, which is used to associate data-bearing
   links to TE links, is defined in the TE Link MIB. The TE link table
   in the LMP MIB contains TE link information specific to LMP.

6.  Outline

   Configuring LMP through an optical device involves the following
   steps:

   -  Enabling LMP on LMP capable interfaces through control channel
      configuration.

   -  Optionally specifying link verification parameters.

   -  Configuring the data-bearing links and associating them to the
      appropriate TE link (this association is stored in the
      ifStackTable of the Interfaces Group MIB).

   TE links are managed by the control channels that run between the
   same pair of nodes (LMP adjacency).




Dubuc et al.              Expires October 2003                  [Page 5]

Internet Draft                CCAMP LMP MIB               April 18, 2003


6.1.  Summary of LMP MIB

   The MIB objects for performing these actions consist of the following
   tables:

   -  The remote node table (lmpNbrTable) is used to identify the pair
      of nodes that exchange LMP messages over control channels.

   -  The control channel table (lmpControlChannelTable) is used
      for enabling the LMP protocol on LMP-capable interfaces.

   -  The control channel performance table
      (lmpControlChannelPerfTable) is used for collecting
      LMP performance counts on a per-control channel basis.

   -  The TE link table (lmpTeLinkTable) is used for
      specifying LMP information associated with TE links.

   -  The link verification table (lmpLinkVerificationTable) is used for
      configuring the LMP link verification parameters of TE links.

   -  The TE link performance table (lmpTeLinkPerfTable) is used for
      collecting LMP performance counts on a per-TE link basis.

   -  The data-bearing link table (lmpDataLinkTable) is used to
      specify the data-bearing links that are associated with TE links.

   -  The data-bearing link performance table
      (lmpDataLinkPerfTable) is used for collecting LMP
      performance counts on data-bearing links.

   These tables are described in the subsequent sections.

7.  Brief Description of MIB Objects

   Sections 7.1-7.3 describe objects pertaining to LMP-capable inter-
   faces. Section 7.4 to 7.7 describes objects for specifying TE links
   and data-bearing links. The MIB objects were derived from the LMP
   document [LMP].

7.1.  lmpNbrTable

   This table identifies the pairs of nodes on which LMP is enabled.

7.2.  lmpControlChannelTable

   This table represents the interfaces that are LMP capable (i.e. capa-
   ble of transmitting LMP messages). A photonic switch, optical cross-



Dubuc et al.              Expires October 2003                  [Page 6]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   connect, or router creates an entry in this table for every LMP capa-
   ble interface on that device.

7.3.  lmpControlChannelPerfTable

   This table contains the objects to measure the LMP performance of LMP
   capable interfaces and is an AUGMENT to the lmpControlChannelTable.

7.4.  lmpTeLinkTable

   This table represents the TE link information specific to LMP.

7.5.  lmpLinkVerificationTable

   This table augments the lmpTeLinkTable and represents the link veri-
   fication parameters associated with the TE links.

7.6.  lmpTeLinkPerfTable

   This table contains the objects to measure the LMP performance of LMP
   capable interfaces and is an AUGMENT to the lmpTeLinkTable.

7.7.  lmpDataLinkTable

   The data-bearing link table enumerates the data-bearing links that
   are associated with each TE link.

7.8.  lmpDataLinkPerfTable

   This table augments the lmpDataLinkTable. It contains the objects to
   measure the LMP performance of data-bearing links.

8.  Example of LMP Control Channel Setup

   In this section we provide a brief example of using the MIB
   objects described in section 10 to set up an LMP control channel.
   While this example is not meant to illustrate every nuance of the
   MIB, it is intended as an aid to understanding some of the key
   concepts. It is meant to be read after going through the MIB itself.

   Suppose that one would like to form an LMP adjacency between two
   nodes using two control channels. Suppose also that there are
   three data-bearing links. We also assume that the data-bearing
   links are ports (lambdas). We also assume that the link
   verification procedure is not enabled. The following example
   illustrates which rows and corresponding objects might be created
   to accomplish this.




Dubuc et al.              Expires October 2003                  [Page 7]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   First, LMP must be enabled between the pair of nodes.

   In lmpNbrTable:
   {
      lmpNbrNodeId                       = 'c0010101'H, -- 192.1.1.1
      lmpNbrAdminStatus                  = up(1),
      lmpNbrRowStatus                    = createAndGo(4)
   }

   Then, the control channels must be set up. These are created in
   the lmpControlChannelTable.

   In lmpControlChannelTable:
   {
      lmpCcId                           = 1,
      lmpCcUnderlyingIfIndex            = 1,
      lmCcIsIf                          = false(1),
      lmpCcAuthentication               = false(1),
      lmpCcHelloInterval                = 15,
      lmpCcHelloIntervalMin             = 15,
      lmpCcHelloIntervalMax             = 1000,
      lmpCcHelloDeadInterval            = 45,
      lmpCcHelloDeadIntervalMin         = 45,
      lmpCcHelloDeadIntervalMax         = 1000,
      lmpCcAdminStatus                  = up(1),
      lmpCcRowStatus                    = createAndGo(4)
   }

   {
      lmpCcId                           = 2,
      lmpCcUnderlyingIfIndex            = 2,
      lmCcIsIf                          = false(1),
      lmpCcAuthentication               = false(1),
      lmpCcHelloInterval                = 15,
      lmpCcHelloIntervalMin             = 15,
      lmpCcHelloIntervalMax             = 1000,
      lmpCcHelloDeadInterval            = 45,
      lmpCcHelloDeadIntervalMin         = 45,
      lmpCcHelloDeadIntervalMax         = 1000,
      lmpCcAdminStatus                  = up(1),
      lmpCcRowStatus                    = createAndGo(4)
   }

   Next, the three data-bearing links are created. For each data-
   bearing link, an ifEntry with the same ifIndex needs to be created
   beforehand.

   In lmpDataLinkTable:



Dubuc et al.              Expires October 2003                  [Page 8]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   {
      ifIndex                         = 41,
      lmpDataLinkNumberingType = unnumbered(1),
      lmpDataLinkRemoteIfId    = 47,
      lmpDataLinkRowStatus     = createAndGo(4)
   }

   {
      ifIndex                         = 43,
      lmpDataLinkNumberingType = unnumbered(1),
      lmpDataLinkRemoteIfId    = 42,
      lmpDataLinkRowStatus     = createAndGo(4)
   }

   {
      ifIndex                         = 44,
      lmpDataLinkNumberingType = unnumbered(1),
      lmpDataLinkRemoteIfId    = 48,
      lmpDataLinkRowStatus     = createAndGo(4)
   }

   Note that the data-bearing link type (lmpDataLinkType) does
   not need to be provisioned as it is automatically populated by the
   node. The definition of the protection role (primary or
   secondary) for the data-bearing links is stored in the
   componentLinkTable of the TE Link MIB [TELINK-MIB].

   Then, a TE link is created as an ifEntry with ifType teLink in
   the ifTable.

   Once the TE link is created in the ifTable, a TE link entry
   is created in the LMP MIB to specify TE link information specific
   to LMP.

   In lmpTeLinkTable:
   {
      ifIndex                    = 20,
      lmpTeLinkVerification      = true(2),
      lmpTeLinkFaultManagement   = true(2),
      lmpTeLinkDwdm              = false(1),
      lmpTeLinkBitRate           = 100000,
      lmpTeLinkWavelength        = 0,
      lmpTeLinkRowStatus         = createAndGo(4)
   }

   The association between the data-bearing links and the TE links is
   stored in the ifStackTable [IF-MIB].




Dubuc et al.              Expires October 2003                  [Page 9]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   In parallel with the entry created in the lmpTeLinkTable, an entry
   may be created in the teLinkTable of TE Link MIB
   [TELINK-MIB].

9.  Application of the Interfaces Group to LMP

   The Interfaces Group [RFC2863] defines generic managed objects for
   managing interfaces. This memo contains the media-specific
   extensions to the Interfaces Group for managing LMP control channels
   that are modeled as interfaces. If the control channel as defined in
   the lmpControlChannelTable is modeled as an ifEntry, then the
   following definition applies. An lmpControlChannelTable entry is
   designated as being represented as an Interfaces MIB ifEntry if the
   lmpControlChannelEntry object lmpCcIsIf is set to true (2). In this
   case, the control channel SHOULD be modeled as an ifEntry and
   provide appropriate interface stacking as defined below.

   This memo assumes the interpretation of the Interfaces Group to be
   in accordance with [RFC2863] which states that the interfaces table
   (ifTable) contains information on the managed resource's
   interfaces and that each sub-layer below the internetwork layer of
   a network interface is considered an interface. Since the LMP
   interface only carries control traffic, it is considered to be below
   the internetwork layer. Thus, the LMP interface may be represented
   as an entry in the ifTable. The inter-relation of entries in the
   ifTable is defined by Interfaces Stack Group defined in [RFC2863].

   When LMP control channels are modeled as interfaces, the interface
   stack table must appear as follows for the LMP control channel
   interfaces:

   +----------------------------------------+
   | LMP-interface ifType = lmp(TBD)        +
   +----------------------------------------+
   | Underlying Layer...                    +
   +----------------------------------------+

   In the above diagram, "Underlying Layer..." refers to the ifIndex
   of any interface type over which the LMP interface will transmit
   its traffic. Note that if the underlying layer provides multiple
   access to its media (i.e.: Ethernet), then it is possible to stack
   multiple LMP interfaces on top of this interface in parallel.

9.1.  Support of the LMP Layer by ifTable

   Some specific interpretations of ifTable for the LMP layer
   follow.




Dubuc et al.              Expires October 2003                 [Page 10]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   Object        Use for the LMP layer

   ifIndex       Each LMP interface may be represented by an ifEntry.

   ifDescr       Description of the LMP interface.

   ifType        The value that is allocated for LMP is TBD.
                 This number will be assigned by the IANA.

   ifSpeed       The total bandwidth in bits per second for use by
                 the LMP layer.

   ifPhysAddress Unused.

   ifAdminStatus This variable indicates the administrator's intent
                 as to whether LMP should be enabled, disabled, or
                 running in some diagnostic testing mode on this
                 interface. Also see [RFC2863].

   ifOperStatus  This value reflects the actual or operational
                 status of LMP on this interface.

   ifLastChange  See [RFC2863].

   ifInOctets    The number of received octets over the interface,
                 i.e., the number of octets received as LMP
                 packets.

   ifOutOctets   The number of transmitted octets over the
                 interface, i.e., the number of octets transmitted
                 as LMP packets.

   ifInErrors    The number of LMP packets dropped due to
                 uncorrectable errors.

   ifInUnknownProtos
                 The number of received packets discarded during
                 packet header validation, including packets with
                 unrecognized label values.

   ifOutErrors   See [RFC2863].

   ifName        Textual name (unique on this system) of the
                 interface or an octet string of zero length.

   ifLinkUpDownTrapEnable
                 Default is disabled (2).




Dubuc et al.              Expires October 2003                 [Page 11]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   ifConnectorPresent
                 Set to false (2).

   ifHighSpeed   See [RFC2863].

   ifHCInOctets  The 64-bit version of ifInOctets; supported if
                 required by the compliance statements in [RFC2863].

   ifHCOutOctets The 64-bit version of ifOutOctets; supported if
                 required by the compliance statements in [RFC2863].

   ifAlias       The non-volatile 'alias' name for the interface as
                 specified by a network manager.

   ifCounterDiscontinuityTime
                 See [RFC2863].

10.  LMP MIB Definitions

LMP-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
   mib-2, Unsigned32, Counter32, TimeTicks
      FROM SNMPv2-SMI

   MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
      FROM SNMPv2-CONF

   TEXTUAL-CONVENTION, TruthValue, RowStatus, StorageType,
   TimeStamp
      FROM SNMPv2-TC

   InterfaceIndexOrZero, ifIndex
      FROM IF-MIB

   InetAddressType, InetAddress
      FROM INET-ADDRESS-MIB

   teLinkRemoteIpAddr, teLinkIncomingIfId
      FROM TE-LINK-MIB;

lmpMIB MODULE-IDENTITY
   LAST-UPDATED "200304181200Z"  -- 18 April 2003 12:00:00 EST
   ORGANIZATION "Common Control and Measurement Protocols (CCAMP)
                 Working Group"
   CONTACT-INFO
       "        Martin Dubuc



Dubuc et al.              Expires October 2003                 [Page 12]

Internet Draft                CCAMP LMP MIB               April 18, 2003


        Email:  dubuc.consulting@rogers.com

                Sudheer Dharanikota
        Email:  sudheer@avici.com

                Thomas D. Nadeau
        Email:  tnadeau@cisco.com

                Jonathan P. Lang
        Email:  jplang@ieee.org

                Evan McGinnis
        Email:  evan@calient.net"


   DESCRIPTION
       "This MIB contains managed object definitions for the
        Link Management Protocol (LMP) as
        defined in: Lang, J., Mitra, K., Drake, J., Kompella, K.,
        Rekhter, Y., Berger, L., Saha, D., Basak, D.,
        Sandick, H., Zinin, A.,Rajagopalan, B., and
        Ramamoorthi, S., Link Management Protocol,
        Internet Draft <draft-ietf-ccamp-lmp-08.txt>,
        March 2003."

   -- Revision history.
   REVISION
       "200304181200Z"  -- 18 April 2003 12:00:00 EST
   DESCRIPTION
       "Initial version published as RFC xxxx (to be assigned by RFC Editor)"
   ::= { mib-2 xxx } -- To be assigned by IANA (experimental 113 can be used
                     -- in the interim)


-- Textual Conventions

LmpInterval ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "d"
   STATUS        current
   DESCRIPTION
       "The interval delay in milliseconds."
   SYNTAX        Unsigned32 (1..65535)

LmpRetransmitInterval ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "d"
   STATUS        current
   DESCRIPTION
       "The retransmission interval delay in milliseconds."



Dubuc et al.              Expires October 2003                 [Page 13]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   SYNTAX        Unsigned32 (1..4294967295)


-- Top level components of this MIB

-- Notifications
lmpNotifications OBJECT IDENTIFIER ::= { lmpMIB 0 }
-- Tables, Scalars
lmpObjects       OBJECT IDENTIFIER ::= { lmpMIB 1 }
-- Conformance
lmpConformance   OBJECT IDENTIFIER ::= { lmpMIB 2 }


lmpAdminStatus OBJECT-TYPE
   SYNTAX        INTEGER { up(1), down(2) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "The desired operational status of LMP on the node."
   DEFVAL        { up }
   ::= { lmpObjects 1 }

lmpOperStatus OBJECT-TYPE
   SYNTAX        INTEGER { up(1), down(2) }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The actual operational status of LMP on the node."
   ::= { lmpObjects 2 }


-- LMP Neighbor Table

lmpNbrTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF LmpNbrEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies the neighbor node(s) to which control channels
        may be established."
   ::= { lmpObjects 3 }

lmpNbrEntry OBJECT-TYPE
   SYNTAX        LmpNbrEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table is created by a LMP-enabled device for



Dubuc et al.              Expires October 2003                 [Page 14]

Internet Draft                CCAMP LMP MIB               April 18, 2003


        every pair of nodes that can establish control channels."
   INDEX         { lmpNbrNodeId }
   ::= { lmpNbrTable 1 }

LmpNbrEntry ::= SEQUENCE {
  lmpNbrNodeId              InetAddress,
  lmpNbrRetransmitInterval  LmpRetransmitInterval,
  lmpNbrRetryLimit          Unsigned32,
  lmpNbrRetransmitDelta     Unsigned32,
  lmpNbrAdminStatus         INTEGER,
  lmpNbrOperStatus          INTEGER,
  lmpNbrRowStatus           RowStatus,
  lmpNbrStorageType         StorageType
}

lmpNbrNodeId OBJECT-TYPE
   SYNTAX        InetAddress (SIZE(4))
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This is a unique index for an entry in the LmpNbrTable.
        This value represents the remote Node ID. The Node ID
        address type must be IPv4."
   ::= { lmpNbrEntry 1 }

lmpNbrRetransmitInterval OBJECT-TYPE
   SYNTAX        LmpRetransmitInterval
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object specifies the initial retransmission interval that
        is used for the retransmission of messages which require
        acknowledgement."
   REFERENCE
       "[LMP]"
   DEFVAL        { 500 }
   ::= { lmpNbrEntry 2 }

lmpNbrRetryLimit OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object specifies the maximum number of times a message
        is transmitted without being acknowledged. A value of 0 is used
        to indicate that a node should never stop retransmission."
   REFERENCE
       "[LMP]"



Dubuc et al.              Expires October 2003                 [Page 15]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   DEFVAL        { 3 }
   ::= { lmpNbrEntry 7 }

lmpNbrRetransmitDelta OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object governs the speed with which the sender increases
        the retransmission interval."
   REFERENCE
       "[LMP]"
   DEFVAL        { 1 }
   ::= { lmpNbrEntry 8 }

lmpNbrAdminStatus OBJECT-TYPE
   SYNTAX        INTEGER { up(1), down(2) }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The desired operational status of LMP to this remote node."
   ::= { lmpNbrEntry 3 }

lmpNbrOperStatus OBJECT-TYPE
   SYNTAX        INTEGER { up(1), down(2) }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The actual operational status of LMP to this remote node."
   ::= { lmpNbrEntry 4 }

lmpNbrRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This variable is used to create, modify, and/or
        delete a row in this table. All read-create objects
        can only be changed when lmpNbrRowStatus is active."
   ::= { lmpNbrEntry 5 }

lmpNbrStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The storage type for this conceptual row in the
        lmpNbrTable. Conceptual rows having the value



Dubuc et al.              Expires October 2003                 [Page 16]

Internet Draft                CCAMP LMP MIB               April 18, 2003


        'permanent' need not allow write-access to any
        columnar object in the row."
   ::= { lmpNbrEntry 6 }

-- End of lmpNbrTable


lmpCcHelloIntervalDefault OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "This object specifies the default value for the HelloInterval
        parameter used in the Hello protocol keep-alive phase. It
        indicates how frequently LMP Hello messages will be sent. It
        is used a the default value for lmpCcHelloInterval."
   REFERENCE
       "[LMP]"
   ::= { lmpObjects 4 }

lmpCcHelloIntervalDefaultMin OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "This object specifies the default minimum value for the
        HelloInterval parameter. It is used as a default value
        for lmpCcHelloIntervalMin."
   ::= { lmpObjects 5 }

lmpCcHelloIntervalDefaultMax OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "This object specifies the default maximum value for the
        HelloInterval parameter. It is used as a default value
        for lmpCcHelloIntervalMax."
   ::= { lmpObjects 6 }

lmpCcHelloDeadIntervalDefault OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "This object specifies the default HelloDeadInterval parameter to
        use in the Hello protocol keep-alive phase. It indicates how long
        a device should wait before declaring the control channel dead.



Dubuc et al.              Expires October 2003                 [Page 17]

Internet Draft                CCAMP LMP MIB               April 18, 2003


        The HelloDeadInterval parameter should be at least three times the
        value of HelloInterval. It is used as a default value for
        lmpCcHelloDeadInterval."
   REFERENCE
       "[LMP]"
   ::= { lmpObjects 7 }

lmpCcHelloDeadIntervalDefaultMin OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "This object specifies the default minimum value for the
        HelloDeadInterval parameter. It is used as a default value
        for lmpCcHelloDeadIntervalMin."
   ::= { lmpObjects 8 }

lmpCcHelloDeadIntervalDefaultMax OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "This object specifies the default maximum value for the
        HelloDeadInterval parameter. It is used as a default value
        for lmpCcHelloDeadIntervalMax."
   ::= { lmpObjects 9 }


-- LMP Control Channel Table

lmpControlChannelTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF LmpControlChannelEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies LMP control channel information."
   ::= { lmpObjects 10 }

lmpControlChannelEntry OBJECT-TYPE
   SYNTAX        LmpControlChannelEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table is created by a LMP-enabled device for
        every control channel. Whenever a new entry is created with lmpCcIsIf
        set to true(2), then a corresponding entry is created in ifTable as
        well (see RFC 2863)."
   INDEX         { lmpCcId }



Dubuc et al.              Expires October 2003                 [Page 18]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   ::= { lmpControlChannelTable 1 }

LmpControlChannelEntry ::= SEQUENCE {
  lmpCcId                            Unsigned32,
  lmpCcUnderlyingIfIndex             InterfaceIndexOrZero,
  lmpCcIsIf                          TruthValue,
  lmpCcNbrNodeId                     InetAddress,
  lmpRemoteCcId                      Unsigned32,
  lmpRemoteCcIpAddrType              InetAddressType,
  lmpRemoteCcIpAddr                  InetAddress,
  lmpCcSetupRole                     INTEGER,
  lmpCcAuthentication                TruthValue,
  lmpCcHelloInterval                 LmpInterval,
  lmpCcHelloIntervalMin              LmpInterval,
  lmpCcHelloIntervalMax              LmpInterval,
  lmpCcHelloIntervalNegotiated       LmpInterval,
  lmpCcHelloDeadInterval             LmpInterval,
  lmpCcHelloDeadIntervalMin          LmpInterval,
  lmpCcHelloDeadIntervalMax          LmpInterval,
  lmpCcHelloDeadIntervalNegotiated   LmpInterval,
  lmpCcLastChange                    TimeTicks,
  lmpCcAdminStatus                   INTEGER,
  lmpCcOperStatus                    INTEGER,
  lmpCcRowStatus                     RowStatus,
  lmpCcStorageType                   StorageType
}

lmpCcId OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This value represents the local control channel identifier."
   ::= { lmpControlChannelEntry 1 }

lmpCcUnderlyingIfIndex OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This value represents the underlying interface index, i.e. the
        interface index of the interface over which the LMP interface
        will transmit its traffic. If set to 0, then the control channel
        is not associated with any underlying interface. If the control
        channel is not associated with an underlying interface, the control
        channel's operational status must not be up(1), nor should the
        control channel forward or receive traffic."
   ::= { lmpControlChannelEntry 2 }



Dubuc et al.              Expires October 2003                 [Page 19]

Internet Draft                CCAMP LMP MIB               April 18, 2003


lmpCcIsIf OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Denotes whether or not this control channel corresponds to
        an interface represented in the interfaces group table."
   ::= { lmpControlChannelEntry 3 }

lmpCcNbrNodeId OBJECT-TYPE
   SYNTAX        InetAddress (SIZE(4))
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This is the Node ID of the control channel remote node.
        This value is either configured or gets created by the node
        when a Config message is received or when an outgoing Config
        message is acknowledged by the remote node. The Node ID
        address type must be IPv4."
   ::= { lmpControlChannelEntry 4 }

lmpRemoteCcId OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This value represents the remote control channel identifier. It is
        determined during the negotiation phase. A value
        of zero means that the remote control channel identifier has not
        yet been learnt."
   ::= { lmpControlChannelEntry 5 }

lmpRemoteCcIpAddrType OBJECT-TYPE
   SYNTAX        InetAddressType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This value represents the remote control channel IP address type.
        In point-to-point configuration, this value can be set to
        unknown(0)."
   ::= { lmpControlChannelEntry 6 }

lmpRemoteCcIpAddr OBJECT-TYPE
   SYNTAX        InetAddress
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This value represents the remote control channel IP address for



Dubuc et al.              Expires October 2003                 [Page 20]

Internet Draft                CCAMP LMP MIB               April 18, 2003


        non point-to-point configuration. For point-to-point configuration,
        this value can be set to null."
   ::= { lmpControlChannelEntry 7 }

lmpCcSetupRole OBJECT-TYPE
   SYNTAX        INTEGER { active(1), passive(2) }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The role that this node should take during establishment of this
        control channel. An active node will initiate establishment. A
        passive node will wait for the remote node to initiate. A pair
        of nodes that both take the passive role will never establish
        communications."
   DEFVAL        { active }
   ::= { lmpControlChannelEntry 8 }

lmpCcAuthentication OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object indicates whether the control channel should use
        authentication."
   REFERENCE
       "[LMP]"
   ::= { lmpControlChannelEntry 9 }

lmpCcHelloInterval OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object specifies the value of the HelloInterval
        parameter. The default value for this object should be
        set to lmpCcHelloIntervalDefault."
   ::= { lmpControlChannelEntry 12 }

lmpCcHelloIntervalMin OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object specifies the minimum value for the
        HelloInterval parameter. The default value for this
        object should be set to lmpCcHelloIntervalMinDefault."
   ::= { lmpControlChannelEntry 13 }




Dubuc et al.              Expires October 2003                 [Page 21]

Internet Draft                CCAMP LMP MIB               April 18, 2003


lmpCcHelloIntervalMax OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object specifies the maximum value for the
        HelloInterval parameter. The default value for this
        object should be set to lmpCcHelloIntervalMaxDefault."
   ::= { lmpControlChannelEntry 14 }

lmpCcHelloIntervalNegotiated OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Once the control channel is active, this object represents
        the negotiated HelloInterval value."
   ::= { lmpControlChannelEntry 15 }

lmpCcHelloDeadInterval OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object specifies the value of the HelloDeadInterval
        parameter. The default value for this object should be
        set to lmpCcHelloDeadIntervalDefault."
   ::= { lmpControlChannelEntry 16 }

lmpCcHelloDeadIntervalMin OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object specifies the minimum value for the
        HelloDeadInterval parameter. The default value for this
        object should be set to lmpCcHelloDeadIntervalMinDefault."
   ::= { lmpControlChannelEntry 17 }

lmpCcHelloDeadIntervalMax OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object specifies the maximum value for the
        HelloDeadInterval parameter. The default value for this
        object should be set to lmpCcHelloIntervalMaxDefault."
   ::= { lmpControlChannelEntry 18 }



Dubuc et al.              Expires October 2003                 [Page 22]

Internet Draft                CCAMP LMP MIB               April 18, 2003


lmpCcHelloDeadIntervalNegotiated OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Once the control channel is active, this object represents
        the negotiated HelloDeadInterval value."
   ::= { lmpControlChannelEntry 19 }

lmpCcLastChange OBJECT-TYPE
   SYNTAX       TimeTicks
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
       "The value of sysUpTime at the time the control channel entered
        its current operational state. If the current state was
        entered prior to the last re-initialization of the local
        network management subsystem, then this object contains a
        zero value."
   ::= { lmpControlChannelEntry 20 }

lmpCcAdminStatus OBJECT-TYPE
   SYNTAX        INTEGER { up(1), down(2) }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The desired operational status of this control channel."
   ::= { lmpControlChannelEntry 21 }

lmpCcOperStatus OBJECT-TYPE
   SYNTAX        INTEGER {
                     up(1),
                     down(2),
                     configSnd(3),
                     configRcv(4),
                     active(5),
                     goingDown(6)
                 }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The actual operational status of this control channel
        interface."
   ::= { lmpControlChannelEntry 22 }

lmpCcRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create



Dubuc et al.              Expires October 2003                 [Page 23]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   STATUS        current
   DESCRIPTION
       "This variable is used to create, modify, and/or
        delete a row in this table. All read-create objects
        can only be changed when lmpCcRowStatus is active."
   ::= { lmpControlChannelEntry 23 }

lmpCcStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The storage type for this conceptual row in the
        lmpControlChannelTable. Conceptual rows having the value
        'permanent' need not allow write-access to any
        columnar object in the row."
   ::= { lmpControlChannelEntry 24 }

-- End of lmpControlChannelTable


-- LMP Control Channel Performance Table

lmpControlChannelPerfTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF LmpControlChannelPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies LMP control channel performance counters."
   ::= { lmpObjects 11 }

lmpControlChannelPerfEntry OBJECT-TYPE
   SYNTAX        LmpControlChannelPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table is created by a LMP-enabled device for
        every control channel."
   AUGMENTS      { lmpControlChannelEntry }
   ::= { lmpControlChannelPerfTable 1 }

LmpControlChannelPerfEntry ::= SEQUENCE {
  lmpCcInOctets                    Counter32,
  lmpCcInDiscards                  Counter32,
  lmpCcInErrors                    Counter32,
  lmpCcOutOctets                   Counter32,
  lmpCcOutDiscards                 Counter32,
  lmpCcOutErrors                   Counter32,



Dubuc et al.              Expires October 2003                 [Page 24]

Internet Draft                CCAMP LMP MIB               April 18, 2003


  lmpCcConfigReceived              Counter32,
  lmpCcConfigSent                  Counter32,
  lmpCcConfigRetransmit            Counter32,
  lmpCcConfigAckReceived           Counter32,
  lmpCcConfigAckSent               Counter32,
  lmpCcConfigNackReceived          Counter32,
  lmpCcConfigNackSent              Counter32,
  lmpCcHelloReceived               Counter32,
  lmpCcHelloSent                   Counter32,
  lmpCcBeginVerifyReceived         Counter32,
  lmpCcBeginVerifySent             Counter32,
  lmpCcBeginVerifyRetransmit       Counter32,
  lmpCcBeginVerifyAckReceived      Counter32,
  lmpCcBeginVerifyAckSent          Counter32,
  lmpCcBeginVerifyNackReceived     Counter32,
  lmpCcBeginVerifyNackSent         Counter32,
  lmpCcEndVerifyReceived           Counter32,
  lmpCcEndVerifySent               Counter32,
  lmpCcEndVerifyRetransmit         Counter32,
  lmpCcEndVerifyAckReceived        Counter32,
  lmpCcEndVerifyAckSent            Counter32,
  lmpCcTestStatusSuccessReceived   Counter32,
  lmpCcTestStatusSuccessSent       Counter32,
  lmpCcTestStatusSuccessRetransmit Counter32,
  lmpCcTestStatusFailureReceived   Counter32,
  lmpCcTestStatusFailureSent       Counter32,
  lmpCcTestStatusFailureRetransmit Counter32,
  lmpCcTestStatusAckReceived       Counter32,
  lmpCcTestStatusAckSent           Counter32,
  lmpCcLinkSummaryReceived         Counter32,
  lmpCcLinkSummarySent             Counter32,
  lmpCcLinkSummaryRetransmit       Counter32,
  lmpCcLinkSummaryAckReceived      Counter32,
  lmpCcLinkSummaryAckSent          Counter32,
  lmpCcLinkSummaryNackReceived     Counter32,
  lmpCcLinkSummaryNackSent         Counter32,
  lmpCcChannelStatusReceived       Counter32,
  lmpCcChannelStatusSent           Counter32,
  lmpCcChannelStatusRetransmit     Counter32,
  lmpCcChannelStatusAckReceived    Counter32,
  lmpCcChannelStatusAckSent        Counter32,
  lmpCcChannelStatusReqReceived    Counter32,
  lmpCcChannelStatusReqSent        Counter32,
  lmpCcChannelStatusReqRetransmit  Counter32,
  lmpCcChannelStatusRspSent        Counter32,
  lmpCcChannelStatusRspReceived    Counter32,
  lmpCcCounterDiscontinuityTime    TimeStamp
}



Dubuc et al.              Expires October 2003                 [Page 25]

Internet Draft                CCAMP LMP MIB               April 18, 2003


lmpCcInOctets OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of LMP message octets received on the
             control channel."
    ::= { lmpControlChannelPerfEntry 1 }

lmpCcInDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of inbound packets which were chosen to be
             discarded even though no errors had been detected. One
             possible reason for discarding such a packet could be to
             free up buffer space."
    ::= { lmpControlChannelPerfEntry 2 }

lmpCcInErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
            "The number of inbound packets that contained errors
             preventing them from being processed by LMP."
    ::= { lmpControlChannelPerfEntry 3 }

lmpCcOutOctets OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
            "The total number of LMP message octets transmitted out of
             the control channel."
    ::= { lmpControlChannelPerfEntry 4 }

lmpCcOutDiscards OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
            "The number of outbound packets which were chosen to be
             discarded even though no errors had been detected to prevent
             their being transmitted. One possible reason for discarding
             such a packet could be to free up buffer space."
    ::= { lmpControlChannelPerfEntry 5 }



Dubuc et al.              Expires October 2003                 [Page 26]

Internet Draft                CCAMP LMP MIB               April 18, 2003


lmpCcOutErrors OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
            "The number of outbound packets that could not be
             transmitted because of errors."
    ::= { lmpControlChannelPerfEntry 6 }

lmpCcConfigReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of Config messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 7 }

lmpCcConfigSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of Config messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 8 }

lmpCcConfigRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of Config messages that
        have been retransmitted over this control channel."
   ::= { lmpControlChannelPerfEntry 9 }

lmpCcConfigAckReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ConfigAck messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 10 }

lmpCcConfigAckSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only



Dubuc et al.              Expires October 2003                 [Page 27]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   STATUS        current
   DESCRIPTION
       "This object counts the number of ConfigAck messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 11 }

lmpCcConfigNackReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ConfigNack messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 12 }

lmpCcConfigNackSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ConfigNack messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 13 }

lmpCcHelloReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of Hello messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 14 }

lmpCcHelloSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of Hello messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 15 }

lmpCcBeginVerifyReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerify messages that have



Dubuc et al.              Expires October 2003                 [Page 28]

Internet Draft                CCAMP LMP MIB               April 18, 2003


        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 16 }

lmpCcBeginVerifySent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerify messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 17 }

lmpCcBeginVerifyRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerify messages that
        have been retransmitted over this control channel."
   ::= { lmpControlChannelPerfEntry 18 }

lmpCcBeginVerifyAckReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerifyAck messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 19 }

lmpCcBeginVerifyAckSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerifyAck messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 20 }

lmpCcBeginVerifyNackReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerifyNack messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 21 }




Dubuc et al.              Expires October 2003                 [Page 29]

Internet Draft                CCAMP LMP MIB               April 18, 2003


lmpCcBeginVerifyNackSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerifyNack messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 22 }

lmpCcEndVerifyReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of EndVerify messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 23 }

lmpCcEndVerifySent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of EndVerify messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 24 }

lmpCcEndVerifyRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of EndVerify messages that
        have been retransmitted over this control channel."
   ::= { lmpControlChannelPerfEntry 25 }

lmpCcEndVerifyAckReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of EndVerifyAck messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 26 }

lmpCcEndVerifyAckSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only



Dubuc et al.              Expires October 2003                 [Page 30]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   STATUS        current
   DESCRIPTION
       "This object counts the number of EndVerifyAck messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 27 }

lmpCcTestStatusSuccessReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusSuccess messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 28 }

lmpCcTestStatusSuccessSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusSuccess messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 29 }

lmpCcTestStatusSuccessRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusSuccess messages that
        have been retransmitted over this control channel."
   ::= { lmpControlChannelPerfEntry 30 }

lmpCcTestStatusFailureReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusFailure messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 31 }

lmpCcTestStatusFailureSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusFailure messages that have



Dubuc et al.              Expires October 2003                 [Page 31]

Internet Draft                CCAMP LMP MIB               April 18, 2003


        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 32 }

lmpCcTestStatusFailureRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusFailure messages that
        have been retransmitted over this control channel."
   ::= { lmpControlChannelPerfEntry 33 }

lmpCcTestStatusAckReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusAck messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 34 }

lmpCcTestStatusAckSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusAck messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 35 }

lmpCcLinkSummaryReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of LinkSummary messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 36 }

lmpCcLinkSummarySent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of LinkSummary messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 37 }




Dubuc et al.              Expires October 2003                 [Page 32]

Internet Draft                CCAMP LMP MIB               April 18, 2003


lmpCcLinkSummaryRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of LinkSummary messages that
        have been retransmitted over this control channel."
   ::= { lmpControlChannelPerfEntry 38 }

lmpCcLinkSummaryAckReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of LinkSummaryAck messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 39 }

lmpCcLinkSummaryAckSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of LinkSummaryAck messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 40 }

lmpCcLinkSummaryNackReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of LinkSummaryNack messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 41 }

lmpCcLinkSummaryNackSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of LinkSummaryNack messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 42 }

lmpCcChannelStatusReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only



Dubuc et al.              Expires October 2003                 [Page 33]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatus messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 43 }

lmpCcChannelStatusSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatus messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 44 }

lmpCcChannelStatusRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatus messages that have
        been retransmitted on this control channel."
   ::= { lmpControlChannelPerfEntry 45 }

lmpCcChannelStatusAckReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatusAck messages that have
        been received on this control channel."
   ::= { lmpControlChannelPerfEntry 46 }

lmpCcChannelStatusAckSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatus messages that have
        been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 47 }

lmpCcChannelStatusReqReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatusRequest messages that



Dubuc et al.              Expires October 2003                 [Page 34]

Internet Draft                CCAMP LMP MIB               April 18, 2003


        have been received on this control channel."
   ::= { lmpControlChannelPerfEntry 48 }

lmpCcChannelStatusReqSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatusRequest messages that
        have been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 49 }

lmpCcChannelStatusReqRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatusRequest messages that
        have been retransmitted on this control channel."
   ::= { lmpControlChannelPerfEntry 50 }

lmpCcChannelStatusRspReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatusResponse messages that
        have been received on this control channel."
   ::= { lmpControlChannelPerfEntry 51 }

lmpCcChannelStatusRspSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatusResponse messages that
        have been sent on this control channel."
   ::= { lmpControlChannelPerfEntry 52 }

lmpCcCounterDiscontinuityTime OBJECT-TYPE
    SYNTAX       TimeStamp
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of sysUpTime on the most recent occasion at which
         any one or more of this control channel's counters suffered a
         discontinuity. The relevant counters are the specific
         instances associated with this control channel of any Counter32



Dubuc et al.              Expires October 2003                 [Page 35]

Internet Draft                CCAMP LMP MIB               April 18, 2003


         object contained in the lmpControlChannelPerfTable. If
         no such discontinuities have occurred since the last re-
         initialization of the local management subsystem, then this
         object contains a zero value."
    ::= { lmpControlChannelPerfEntry 53 }

-- End of lmpControlChannelPerfTable


-- LMP TE Link Table

lmpTeLinkTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF LmpTeLinkEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table contains a collection of TE link."
   ::= { lmpObjects 12 }

lmpTeLinkEntry OBJECT-TYPE
   SYNTAX        LmpTeLinkEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table exists for each ifEntry with an
        ifType of teLink(200), i.e. for every TE link. An ifEntry
        with an ifIndex must exist before the corresponding
        teLinkEntry is created. If a TE link entry in the ifTable is
        destroyed, then so is the corresponding entry in the
        teLinkTable. The administrative status value is controlled
        from the ifEntry. Setting the administrative status to
        testing prompts LMP to start link verification on the TE link.
        Information about the TE link that is not LMP specific is also
        contained in teLinkTable [TELINK-MIB]."
   INDEX         { ifIndex }
   ::= { lmpTeLinkTable 1 }

LmpTeLinkEntry ::= SEQUENCE {
  lmpTeLinkNbrNodeId        InetAddress,
  lmpTeLinkVerification     TruthValue,
  lmpTeLinkFaultManagement  TruthValue,
  lmpTeLinkDwdm             TruthValue,
  lmpTeLinkOperStatus       INTEGER,
  lmpTeLinkRowStatus        RowStatus,
  lmpTeLinkStorageType      StorageType
}

lmpTeLinkNbrNodeId OBJECT-TYPE



Dubuc et al.              Expires October 2003                 [Page 36]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   SYNTAX        InetAddress (SIZE(4))
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This is the Node ID of the TE link remote node. This value
        may be learned during control channel parameter negotiation
        phase (in the Config message). Node ID address type must
        be IPv4."
   ::= { lmpTeLinkEntry 1 }

lmpTeLinkVerification OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object indicates if the extended LMP link verification
        procedure is enabled for this TE link."
   REFERENCE
       "[LMP]"
   ::= { lmpTeLinkEntry 2 }

lmpTeLinkFaultManagement OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object indicates if the extended LMP fault management
        procedure is enabled on this TE link."
   REFERENCE
       "[LMP]"
   ::= { lmpTeLinkEntry 3 }

lmpTeLinkDwdm OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object indicates if the extended LMP DWDM procedure
        is enabled on this TE link."
   REFERENCE
       "[LMP]"
   ::= { lmpTeLinkEntry 4 }

lmpTeLinkOperStatus OBJECT-TYPE
   SYNTAX        INTEGER { up(1), down(2), testing(3), init(4), degraded(5) }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION



Dubuc et al.              Expires October 2003                 [Page 37]

Internet Draft                CCAMP LMP MIB               April 18, 2003


       "The actual operational status of this TE link. The status
        is set to testing when the TE link is performing link
        verification. A degraded state indicates that there are
        no active control channel between the pair of nodes that
        form the endpoints of the TE link, but yet at least one
        data-bearing links on the TE link is allocated."
   ::= { lmpTeLinkEntry 5 }

lmpTeLinkRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This variable is used to create, modify, and/or
        delete a row in this table. All read-create objects
        can only be changed when lmpTeLinkRowStatus is active."
   ::= { lmpTeLinkEntry 6 }

lmpTeLinkStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The storage type for this conceptual row in the
        lmpTeLinkTable. Conceptual rows having the value
        'permanent' need not allow write-access to any
        columnar object in the row."
   ::= { lmpTeLinkEntry 7 }

-- End of lmpTeLinkTable


lmpLinkVerificationInterval OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "This object indicates how often the link verification procedure
        is executed. The interval is in milliseconds."
   ::= { lmpObjects 13 }


-- LMP Link Verification Table

lmpLinkVerificationTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF LmpLinkVerificationEntry
   MAX-ACCESS    not-accessible
   STATUS        current



Dubuc et al.              Expires October 2003                 [Page 38]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   DESCRIPTION
       "This table specifies TE link information associated with the
        LMP verification procedure."
   ::= { lmpObjects 14 }

lmpLinkVerificationEntry OBJECT-TYPE
   SYNTAX        LmpLinkVerificationEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table is created by a LMP-enabled device for
        every TE link that supports the LMP verification
        procedure."
   AUGMENTS      { lmpTeLinkEntry }
   ::= { lmpLinkVerificationTable 1 }

LmpLinkVerificationEntry ::= SEQUENCE {
  lmpVerifyInterval           LmpInterval,
  lmpVerifyDeadInterval       LmpInterval,
  lmpVerifyTransportMechanism BITS,
  lmpVerifyAllLinks           INTEGER,
  lmpTeLinkBitRate            Unsigned32,
  lmpTeLinkWavelength         Unsigned32
}

lmpVerifyInterval OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object specifies the VerifyInterval parameter used
        in the LMP link verification process. It indicates the interval
        at which the Test messages are sent."
   REFERENCE
       "[LMP]"
   ::= { lmpLinkVerificationEntry 1 }

lmpVerifyDeadInterval OBJECT-TYPE
   SYNTAX        LmpInterval
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object specifies the VerifyDeadInterval parameter used
        in the verification of the physical connectivity of data-bearing
        links. It specifies the observation period used to detect a Test
        message at the remote node."
   REFERENCE
       "[LMP]"



Dubuc et al.              Expires October 2003                 [Page 39]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   ::= { lmpLinkVerificationEntry 2 }

lmpVerifyTransportMechanism OBJECT-TYPE
   SYNTAX        BITS {
                     -- SONET/SDH encoding type:
                     j016OverheadBytes(0),
                     j064OverheadBytes(1),
                     dccSectionOverheadBytes(2),
                     dccLineOverheadBytes(3),
                     pos(4),
                     j0Trace(5)
                     -- GigE encoding type: TBD
                     -- 10GigE encoding type: TBD
                 }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This defines the transport mechanism for the Test messages. The
        scope of this bit mask is restricted to each link encoding
        type. The local node will set the bits corresponding to the
        various mechanisms it can support for transmitting LMP Test
        messages. The receiver chooses the appropriate mechanism in the
        BeginVerifyAck message."
   REFERENCE
       "[LMP]"
   ::= { lmpLinkVerificationEntry 3 }

lmpVerifyAllLinks OBJECT-TYPE
   SYNTAX        INTEGER { verifyAllLinks(1), verifyNewLinks(2) }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object indicates whether the verification process checks
        all entities or only the new entities that have been added to
        this TE link."
   ::= { lmpLinkVerificationEntry 4 }

lmpTeLinkBitRate OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This is the bit rate at which the Test messages will be
        transmitted and is expressed in bytes per second."
   REFERENCE
       "[LMP]"
   ::= { lmpLinkVerificationEntry 5 }




Dubuc et al.              Expires October 2003                 [Page 40]

Internet Draft                CCAMP LMP MIB               April 18, 2003


lmpTeLinkWavelength OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This value corresponds to the wavelength at
        which the Test messages will be transmitted over and is
        measured in nanometers (nm). If each data-bearing link
        corresponds to a separate wavelength, than this value should be
        set to 0."
   REFERENCE
       "[LMP]"
   ::= { lmpLinkVerificationEntry 6 }

-- End of lmpLinkVerificationTable


-- LMP TE Link Performance Table

lmpTeLinkPerfTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF LmpTeLinkPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies LMP TE link performance counters."
   ::= { lmpObjects 15 }

lmpTeLinkPerfEntry OBJECT-TYPE
   SYNTAX        LmpTeLinkPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table is created by a LMP-enabled device for
        every TE link."
   AUGMENTS      { lmpTeLinkEntry }
   ::= { lmpTeLinkPerfTable 1 }

LmpTeLinkPerfEntry ::= SEQUENCE {
  lmpTeInOctets                    Counter32,
  lmpTeOutOctets                   Counter32,
  lmpTeBeginVerifyReceived         Counter32,
  lmpTeBeginVerifySent             Counter32,
  lmpTeBeginVerifyRetransmit       Counter32,
  lmpTeBeginVerifyAckReceived      Counter32,
  lmpTeBeginVerifyAckSent          Counter32,
  lmpTeBeginVerifyNackReceived     Counter32,
  lmpTeBeginVerifyNackSent         Counter32,
  lmpTeEndVerifyReceived           Counter32,



Dubuc et al.              Expires October 2003                 [Page 41]

Internet Draft                CCAMP LMP MIB               April 18, 2003


  lmpTeEndVerifySent               Counter32,
  lmpTeEndVerifyRetransmit         Counter32,
  lmpTeEndVerifyAckReceived        Counter32,
  lmpTeEndVerifyAckSent            Counter32,
  lmpTeTestStatusSuccessReceived   Counter32,
  lmpTeTestStatusSuccessSent       Counter32,
  lmpTeTestStatusSuccessRetransmit Counter32,
  lmpTeTestStatusFailureReceived   Counter32,
  lmpTeTestStatusFailureSent       Counter32,
  lmpTeTestStatusFailureRetransmit Counter32,
  lmpTeTestStatusAckReceived       Counter32,
  lmpTeTestStatusAckSent           Counter32,
  lmpTeLinkSummaryReceived         Counter32,
  lmpTeLinkSummarySent             Counter32,
  lmpTeLinkSummaryRetransmit       Counter32,
  lmpTeLinkSummaryAckReceived      Counter32,
  lmpTeLinkSummaryAckSent          Counter32,
  lmpTeLinkSummaryNackReceived     Counter32,
  lmpTeLinkSummaryNackSent         Counter32,
  lmpTeChannelStatusReceived       Counter32,
  lmpTeChannelStatusSent           Counter32,
  lmpTeChannelStatusRetransmit     Counter32,
  lmpTeChannelStatusAckReceived    Counter32,
  lmpTeChannelStatusAckSent        Counter32,
  lmpTeChannelStatusReqReceived    Counter32,
  lmpTeChannelStatusReqSent        Counter32,
  lmpTeChannelStatusReqRetransmit  Counter32,
  lmpTeChannelStatusRspSent        Counter32,
  lmpTeChannelStatusRspReceived    Counter32,
  lmpTeCounterDiscontinuityTime    TimeStamp
}

lmpTeInOctets OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of LMP message octets received for
             this TE link."
    ::= { lmpTeLinkPerfEntry 1 }

lmpTeOutOctets OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
            "The total number of LMP message octets transmitted out
             for this TE link."



Dubuc et al.              Expires October 2003                 [Page 42]

Internet Draft                CCAMP LMP MIB               April 18, 2003


    ::= { lmpTeLinkPerfEntry 2 }

lmpTeBeginVerifyReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerify messages that have
        been received for this TE link."
   ::= { lmpTeLinkPerfEntry 3 }

lmpTeBeginVerifySent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerify messages that have
        been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 4 }

lmpTeBeginVerifyRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerify messages that
        have been retransmitted for this TE link."
   ::= { lmpTeLinkPerfEntry 5 }

lmpTeBeginVerifyAckReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerifyAck messages that have
        been received for this TE link."
   ::= { lmpTeLinkPerfEntry 6 }

lmpTeBeginVerifyAckSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerifyAck messages that have
        been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 7 }

lmpTeBeginVerifyNackReceived OBJECT-TYPE



Dubuc et al.              Expires October 2003                 [Page 43]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerifyNack messages that have
        been received for this TE link."
   ::= { lmpTeLinkPerfEntry 8 }

lmpTeBeginVerifyNackSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of BeginVerifyNack messages that have
        been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 9 }

lmpTeEndVerifyReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of EndVerify messages that have
        been received for this TE link."
   ::= { lmpTeLinkPerfEntry 10 }

lmpTeEndVerifySent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of EndVerify messages that have
        been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 11 }

lmpTeEndVerifyRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of EndVerify messages that
        have been retransmitted over this control channel."
   ::= { lmpTeLinkPerfEntry 12 }

lmpTeEndVerifyAckReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current



Dubuc et al.              Expires October 2003                 [Page 44]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   DESCRIPTION
       "This object counts the number of EndVerifyAck messages that have
        been received for this TE link."
   ::= { lmpTeLinkPerfEntry 13 }

lmpTeEndVerifyAckSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of EndVerifyAck messages that have
        been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 14 }

lmpTeTestStatusSuccessReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusSuccess messages that have
        been received for this TE link."
   ::= { lmpTeLinkPerfEntry 15 }

lmpTeTestStatusSuccessSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusSuccess messages that have
        been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 16 }

lmpTeTestStatusSuccessRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusSuccess messages that
        have been retransmitted for this TE link."
   ::= { lmpTeLinkPerfEntry 17 }

lmpTeTestStatusFailureReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusFailure messages that have
        been received for this TE link."



Dubuc et al.              Expires October 2003                 [Page 45]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   ::= { lmpTeLinkPerfEntry 18 }

lmpTeTestStatusFailureSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusFailure messages that have
        been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 19 }

lmpTeTestStatusFailureRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusFailure messages that
        have been retransmitted on this TE link."
   ::= { lmpTeLinkPerfEntry 20 }

lmpTeTestStatusAckReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusAck messages that have
        been received for this TE link."
   ::= { lmpTeLinkPerfEntry 21 }

lmpTeTestStatusAckSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of TestStatusAck messages that have
        been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 22 }

lmpTeLinkSummaryReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of LinkSummary messages that have
        been received for this TE link."
   ::= { lmpTeLinkPerfEntry 23 }

lmpTeLinkSummarySent OBJECT-TYPE



Dubuc et al.              Expires October 2003                 [Page 46]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of LinkSummary messages that have
        been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 24 }

lmpTeLinkSummaryRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of LinkSummary messages that
        have been retransmitted over this control channel."
   ::= { lmpTeLinkPerfEntry 25 }

lmpTeLinkSummaryAckReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of LinkSummaryAck messages that have
        been received for this TE link."
   ::= { lmpTeLinkPerfEntry 26 }

lmpTeLinkSummaryAckSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of LinkSummaryAck messages that have
        been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 27 }

lmpTeLinkSummaryNackReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of LinkSummaryNack messages that have
        been received for this TE link."
   ::= { lmpTeLinkPerfEntry 28 }

lmpTeLinkSummaryNackSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current



Dubuc et al.              Expires October 2003                 [Page 47]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   DESCRIPTION
       "This object counts the number of LinkSummaryNack messages that have
        been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 29 }

lmpTeChannelStatusReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatus messages that have
        been received for this TE link."
   ::= { lmpTeLinkPerfEntry 30 }

lmpTeChannelStatusSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatus messages that have
        been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 31 }

lmpTeChannelStatusRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatus messages that have
        been retransmitted for this TE link."
   ::= { lmpTeLinkPerfEntry 32 }

lmpTeChannelStatusAckReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatusAck messages that have
        been received for this TE link."
   ::= { lmpTeLinkPerfEntry 33 }

lmpTeChannelStatusAckSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatus messages that have
        been sent for this TE link."



Dubuc et al.              Expires October 2003                 [Page 48]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   ::= { lmpTeLinkPerfEntry 34 }

lmpTeChannelStatusReqReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatusRequest messages that
        have been received for this TE link."
   ::= { lmpTeLinkPerfEntry 35 }

lmpTeChannelStatusReqSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatusRequest messages that
        have been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 36 }

lmpTeChannelStatusReqRetransmit OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatusRequest messages that
        have been retransmitted for this TE link."
   ::= { lmpTeLinkPerfEntry 37 }

lmpTeChannelStatusRspReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatusResponse messages that
        have been received for this TE link."
   ::= { lmpTeLinkPerfEntry 38 }

lmpTeChannelStatusRspSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of ChannelStatusResponse messages that
        have been sent for this TE link."
   ::= { lmpTeLinkPerfEntry 39 }

lmpTeCounterDiscontinuityTime OBJECT-TYPE



Dubuc et al.              Expires October 2003                 [Page 49]

Internet Draft                CCAMP LMP MIB               April 18, 2003


    SYNTAX       TimeStamp
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of sysUpTime on the most recent occasion at which
         any one or more of this TE link's counters suffered a
         discontinuity. The relevant counters are the specific
         instances associated with this TE link of any Counter32
         object contained in the lmpTeLinkPerfTable. If
         no such discontinuities have occurred since the last re-
         initialization of the local management subsystem, then this
         object contains a zero value."
    ::= { lmpTeLinkPerfEntry 40 }

-- End of lmpTeLinkPerfTable


-- LMP Data Link Table

lmpDataLinkTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF LmpDataLinkEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies the data-bearing links managed by the
        LMP."
   ::= { lmpObjects 16 }

lmpDataLinkEntry OBJECT-TYPE
   SYNTAX        LmpDataLinkEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table exists for each ifEntry that represents
        a data-bearing link. An ifEntry with an ifIndex must exist
        before the corresponding lmpDataLinkEntry is created.
        If an entry representing the data-bearing link is destroyed in
        the ifTable, then so is the corresponding entry in the
        lmpDataLinkTable. The administrative status value is
        controlled from the ifEntry. The index to this table also
        used to get information in the componentLinkTable
        [TELINK-MIB]."
   INDEX         { ifIndex }
   ::= { lmpDataLinkTable 1 }

LmpDataLinkEntry ::= SEQUENCE {
  lmpDataLinkType               INTEGER,
  lmpDataLinkIpAddrType         InetAddressType,



Dubuc et al.              Expires October 2003                 [Page 50]

Internet Draft                CCAMP LMP MIB               April 18, 2003


  lmpDataLinkIpAddr             InetAddress,
  lmpDataLinkRemoteIpAddress    InetAddress,
  lmpDataLinkRemoteIfId         InterfaceIndexOrZero,
  lmpDataLinkEncodingType       INTEGER,
  lmpDataLinkActiveOperStatus   INTEGER,
  lmpDataLinkPassiveOperStatus  INTEGER,
  lmpDataLinkRowStatus          RowStatus,
  lmpDataLinkStorageType        StorageType
}

lmpDataLinkType OBJECT-TYPE
   SYNTAX        INTEGER {
                     port(1),
                     componentLink(2)
                 }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This attribute specifies whether this data-bearing link is
        a port or a component link. Component link are multiplex
        capable whereas, ports are not multiplex capable."
   REFERENCE
       "[LMP]"
   ::= { lmpDataLinkEntry 1 }

lmpDataLinkIpAddrType OBJECT-TYPE
   SYNTAX        InetAddressType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This attribute specifies the data-bearing link IP address
        type. If the data-bearing link is unnumbered, the address
        type must be set to unknown(0)."
   ::= { lmpDataLinkEntry 2 }

lmpDataLinkIpAddr OBJECT-TYPE
   SYNTAX        InetAddress
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "IP address of the data-bearing link. This
        If the data-bearing link is unnumbered, then the
        IP address must be null."
   ::= { lmpDataLinkEntry 3 }

lmpDataLinkRemoteIpAddress OBJECT-TYPE
   SYNTAX        InetAddress
   MAX-ACCESS    read-create



Dubuc et al.              Expires October 2003                 [Page 51]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   STATUS        current
   DESCRIPTION
       "IP address of the remote end point. This
        information is either configured manually or is
        communicated by the remote node during the link verification
        procedure. If the data-bearing link is unnumbered, then the
        remote IP address must be null."
   ::= { lmpDataLinkEntry 4 }

lmpDataLinkRemoteIfId OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Interface identifier of the remote end point. This
        information is either configured manually or is
        communicated by the remote node during the link verification
        procedure."
   ::= { lmpDataLinkEntry 5 }

lmpDataLinkEncodingType OBJECT-TYPE
   SYNTAX        INTEGER {
                     packet(1),
                     ethernet(2),
                     ansiEtsiPdh(3),
                     sdhItuSonetAnsi(5),
                     digitalWrapper(7),
                     lambda(8),
                     fiber(9),
                     fiberChannel(11)
                 }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The encoding type of the data-bearing link."
   REFERENCE
       "[RFC3471]"
   ::= { lmpDataLinkEntry 6 }

lmpDataLinkActiveOperStatus OBJECT-TYPE
   SYNTAX        INTEGER {
                     upAlloc(1),
                     upFree(2),
                     down(3),
                     testing(4) }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION



Dubuc et al.              Expires October 2003                 [Page 52]

Internet Draft                CCAMP LMP MIB               April 18, 2003


       "The actual operational status of this data-bearing link
        (active FSM)."
   REFERENCE
       "[LMP]"
   ::= { lmpDataLinkEntry 7 }

lmpDataLinkPassiveOperStatus OBJECT-TYPE
   SYNTAX        INTEGER {
                     upAlloc(1),
                     upFree(2),
                     down(3),
                     psvTst(4) }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The actual operational status of this data-bearing link
        (passive FSM)."
   REFERENCE
       "[LMP]"
   ::= { lmpDataLinkEntry 8 }

lmpDataLinkRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This variable is used to create, modify, and/or
        delete a row in this table. All read-create objects
        can only be changed when lmpDataLinkRowStatus is active."
   ::= { lmpDataLinkEntry 9 }

lmpDataLinkStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The storage type for this conceptual row in the
        lmpDataLinkTable. Conceptual rows having the value
        'permanent' need not allow write-access to any
        columnar object in the row."
   ::= { lmpDataLinkEntry 10 }

-- End of lmpDataLinkTable


-- LMP Data Link Performance Table

lmpDataLinkPerfTable OBJECT-TYPE



Dubuc et al.              Expires October 2003                 [Page 53]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   SYNTAX        SEQUENCE OF LmpDataLinkPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies the data-bearing links LMP performance
        counters."
   ::= { lmpObjects 17 }

lmpDataLinkPerfEntry OBJECT-TYPE
   SYNTAX        LmpDataLinkPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table contains information about
        the LMP performance counters for the data-bearing links."
   AUGMENTS      { lmpDataLinkEntry }
   ::= { lmpDataLinkPerfTable 1 }

LmpDataLinkPerfEntry ::= SEQUENCE {
  lmpDataLinkTestReceived        Counter32,
  lmpDataLinkTestSent            Counter32,
  lmpDataLinkActiveTestSuccess   Counter32,
  lmpDataLinkActiveTestFailure   Counter32,
  lmpDataLinkPassiveTestSuccess  Counter32,
  lmpDataLinkPassiveTestFailure  Counter32,
  lmpDataLinkDiscontinuityTime   TimeStamp
}

lmpDataLinkTestReceived OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of Test messages that have
        been received on this data-bearing link."
   ::= { lmpDataLinkPerfEntry 1 }

lmpDataLinkTestSent OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of Test messages that have
        been sent on this data-bearing link."
   ::= { lmpDataLinkPerfEntry 2 }

lmpDataLinkActiveTestSuccess OBJECT-TYPE
   SYNTAX        Counter32



Dubuc et al.              Expires October 2003                 [Page 54]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of data-bearing link test
        that were successful on the active side of this data-
        bearing link."
   ::= { lmpDataLinkPerfEntry 3 }

lmpDataLinkActiveTestFailure OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of data-bearing link test
        that failed on the active side of this data-bearing link."
   ::= { lmpDataLinkPerfEntry 4 }

lmpDataLinkPassiveTestSuccess OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of data-bearing link test
        that were successful on the passive side of this data-
        bearing link."
   ::= { lmpDataLinkPerfEntry 5 }

lmpDataLinkPassiveTestFailure OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of data-bearing link test
        that failed on the passive side of this data-bearing link."
   ::= { lmpDataLinkPerfEntry 6 }

lmpDataLinkDiscontinuityTime OBJECT-TYPE
    SYNTAX       TimeStamp
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of sysUpTime on the most recent occasion at which
         any one or more of this data-bearing link's counters suffered a
         discontinuity. The relevant counters are the specific
         instances associated with this data-bearing link of any Counter32
         object contained in the lmpDataLinkPerfTable. If
         no such discontinuities have occurred since the last re-
         initialization of the local management subsystem, then this



Dubuc et al.              Expires October 2003                 [Page 55]

Internet Draft                CCAMP LMP MIB               April 18, 2003


         object contains a zero value."
    ::= { lmpDataLinkPerfEntry 7 }

-- End of lmpDataLinkPerfTable


-- Notification Configuration

lmpLinkPropertyNotifEnable OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "If this object is true, then it enables the
        generation of lmpTeLinkPropertyMismatch
        and lmpDataLinkPropertyMismatch notifications,
        otherwise these notifications are not emitted."
   DEFVAL        { false }
   ::= { lmpObjects 18 }

lmpUnprotectedNotifEnable OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "If this object is true, then it enables the
        generation of lmpUnprotected notifications,
        otherwise these notifications are not emitted."
   DEFVAL        { false }
   ::= { lmpObjects 19 }

lmpCcUpDownNotifEnable OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "If this object is true, then it enables the generation of
        lmpControlChannelUp and lmpControlChannelDown notifications,
        otherwise these notifications are not emitted."
   DEFVAL        { false }
   ::= { lmpObjects 20 }

lmpTeLinkNotifEnable OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "If this object is true, then it enables the



Dubuc et al.              Expires October 2003                 [Page 56]

Internet Draft                CCAMP LMP MIB               April 18, 2003


        generation of lmpTeLinkDegraded and lmpTeLinkNotDegraded
        notifications, otherwise these notifications are not emitted."
   DEFVAL        { false }
   ::= { lmpObjects 21 }

lmpDataLinkNotifEnable OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "If this object is true, then it enables the
        generation of lmpDataLinkVerificationFailure
        notification, otherwise these notifications are not emitted."
   DEFVAL        { false }
   ::= { lmpObjects 22 }


-- Notifications

-- Link Property Mismatch Notifications

lmpTeLinkPropertyMismatch NOTIFICATION-TYPE
   OBJECTS       { teLinkRemoteIpAddr,
                   teLinkIncomingIfId }
   STATUS        current
   DESCRIPTION
       "This notification is generated when a TE link property
        mismatch is detected on the node. The received remote TE link
        id of the misconfigured TE link is represented by either
        teLinkRemoteIpAddr or teLinkIncomingIfId depending on whether
        the TE link is numbered or unnumbered. This notification should
        not be sent unless lmpLinkPropertyNotifEnable is true."
   ::= { lmpNotifications 1 }

lmpDataLinkPropertyMismatch NOTIFICATION-TYPE
   OBJECTS       { ifIndex,
                   lmpDataLinkRemoteIfId }
   STATUS        current
   DESCRIPTION
       "This notification is generated when a data-bearing link
        property mismatch is detected on the node. ifIndex
        is the interface index of the TE link. The remote entity
        interface id is the remote entity interface id received in the
        LinkSummary message. This notification should
        not be sent unless lmpLinkPropertyNotifEnable is true."
   ::= { lmpNotifications 2 }

-- Neighbor Notification



Dubuc et al.              Expires October 2003                 [Page 57]

Internet Draft                CCAMP LMP MIB               April 18, 2003


lmpUnprotected NOTIFICATION-TYPE
   OBJECTS       { lmpCcNbrNodeId }
   STATUS        current
   DESCRIPTION
       "This notification is generated when there are more than one
        control channels between LMP neighbors and the last redundant
        control channel has failed. If the remaining operational control
        channel fails, then there will be no more control channels
        between the pair of nodes and all the TE links between the pair
        of nodes will go to degraded state. This notification should not
        be sent unless lmpUnprotectedNotifEnable is set to true."
   ::= { lmpNotifications 3 }

-- Control Channel Notifications

lmpControlChannelUp NOTIFICATION-TYPE
   OBJECTS       { lmpCcAdminStatus, lmpCcOperStatus }
   STATUS        current
   DESCRIPTION
       "This notification is generated when a control
        channel transitions to the up operational state. This
        notification should not be sent unless lmpCcUpDownNotifEnable
        is true."
   ::= { lmpNotifications 4 }

lmpControlChannelDown NOTIFICATION-TYPE
   OBJECTS       { lmpCcAdminStatus, lmpCcOperStatus }
   STATUS        current
   DESCRIPTION
       "This notification is generated when a control
        channel transitions out of the up operational state. This
        notification should not be sent unless lmpCcUpDownNotifEnable
        is true."
   ::= { lmpNotifications 5 }

-- TE Link Notification

lmpTeLinkDegraded NOTIFICATION-TYPE
   OBJECTS       { ifIndex }
   STATUS        current
   DESCRIPTION
       "This notification is generated when a lmpTeLinkOperStatus
        object for a TE link enters the degraded state. This
        notification should not be sent unless lmpTeLinkNotifEnable
        is true."
   ::= { lmpNotifications 6 }

lmpTeLinkNotDegraded NOTIFICATION-TYPE



Dubuc et al.              Expires October 2003                 [Page 58]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   OBJECTS       { ifIndex }
   STATUS        current
   DESCRIPTION
       "This notification is generated when a lmpTeLinkOperStatus
        object for a TE link leaves the degraded state. This
        notification should not be sent unless lmpTeLinkNotifEnable
        is true."
   ::= { lmpNotifications 7 }

-- Data-bearing Link Notification

lmpDataLinkVerificationFailure NOTIFICATION-TYPE
   OBJECTS       { ifIndex }
   STATUS        current
   DESCRIPTION
       "This notification is generated when a data-bearing
        link verification fails. This notification should not be sent
        unless lmpDataLinkNotifEnable is true."
   ::= { lmpNotifications 8 }

-- End of notifications


-- Module compliance

lmpGroups
   OBJECT IDENTIFIER ::= { lmpConformance 1 }

lmpCompliances
   OBJECT IDENTIFIER ::= { lmpConformance 2 }

lmpFullModuleCompliance MODULE-COMPLIANCE
   STATUS current
   DESCRIPTION
       "Compliance statement for agents that support the
        configuration and monitoring of LMP MIB."
   MODULE -- this module

      -- The mandatory groups have to be implemented
      -- by all LMP-enabled devices. However, they may all be supported
      -- as read-only objects in the case where manual
      -- configuration is unsupported.

      MANDATORY-GROUPS    { lmpNodeGroup,
                            lmpControlChannelGroup,
                            lmpLinkPropertyCorrelationGroup,
                            lmpPerfGroup,
                            lmpTeLinkGroup,



Dubuc et al.              Expires October 2003                 [Page 59]

Internet Draft                CCAMP LMP MIB               April 18, 2003


                            lmpDataLinkGroup }

      GROUP lmpCcIsNotInterfaceGroup
      DESCRIPTION
          "This group is mandatory for devices which support
           control channels that are not interfaces, in addition to
           lmpControlChannelGroup. The following constraints apply:
           lmpCcIsIf must at least be read-only returning false(1)."

      GROUP lmpCcIsInterfaceGroup
      DESCRIPTION
          "This group is mandatory for devices which support
           control channels that are interfaces, in addition to
           lmpControlChannelGroup. The following constraints apply:
           lmpCcIsIf must at least be read-only returning true(2)."

      GROUP lmpLinkVerificationGroup
      DESCRIPTION
          "This group is mandatory for devices which support
           the link verification procedure."

      GROUP lmpNotificationGroup
      DESCRIPTION
          "This group is optional."

      -- lmpNbrTable

      OBJECT      lmpNbrRowStatus
      SYNTAX      INTEGER { active(1), notInService(2),
                            createAndGo(4), destroy(6) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported."

      OBJECT      lmpNbrStorageType
      SYNTAX      INTEGER { other(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only other(1) needs to be supported."

      -- lmpControlChannelTable

      OBJECT      lmpRemoteCcIpAddrType
      SYNTAX      INTEGER { unknown(0), ipv4(1), ipv6(2) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The dns(16) adress type needs not be supported. For



Dubuc et al.              Expires October 2003                 [Page 60]

Internet Draft                CCAMP LMP MIB               April 18, 2003


           point-to-point configuration, this object MIN-ACCESS
           is read-create."

      OBJECT      lmpRemoteCcIpAddr
      SYNTAX      InetAddress (SIZE(0|4|16))
      MIN-ACCESS  read-only
      DESCRIPTION
          "The size of the IP address depends on the address type.
           For point-to-point configuration, this object MIN-ACCESS is
           read-create."

      OBJECT      lmpCcRowStatus
      SYNTAX      INTEGER { active(1), notInService(2),
                            createAndGo(4), destroy(6) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported."

      OBJECT      lmpCcOperStatus
      SYNTAX      INTEGER { up(1), down(2) }
      DESCRIPTION
          "A value of active(3), configuring(4), goingDown(5)
           need not be supported."

      OBJECT      lmpCcStorageType
      SYNTAX      INTEGER { other(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only other(1) needs to be supported."

      -- lmpTeLinkTable

      OBJECT      lmpTeLinkOperStatus
      SYNTAX      INTEGER { up(1), down(2), degraded(4) }
      DESCRIPTION
          "The testing(3) state need not be supported."

      OBJECT      lmpTeLinkRowStatus
      SYNTAX      INTEGER { active(1), notInService(2),
                            createAndGo(4), destroy(6) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported."

      OBJECT      lmpTeLinkStorageType
      SYNTAX      INTEGER { other(1) }



Dubuc et al.              Expires October 2003                 [Page 61]

Internet Draft                CCAMP LMP MIB               April 18, 2003


      MIN-ACCESS  read-only
      DESCRIPTION
          "Only other(1) needs to be supported."

      -- lmpDataLinkTable

      OBJECT      lmpDataLinkActiveOperStatus
      SYNTAX      INTEGER { up(1), down(2), degraded(4) }
      DESCRIPTION
          "A value of testing(3) need not be supported."

      OBJECT      lmpDataLinkPassiveOperStatus
      SYNTAX      INTEGER { up(1), down(2), degraded(4) }
      DESCRIPTION
          "A value of testing(3) need not be supported."

      OBJECT      lmpDataLinkRowStatus
      SYNTAX      INTEGER { active(1), notInService(2),
                            createAndGo(4), destroy(6) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported."

      OBJECT      lmpDataLinkStorageType
      SYNTAX      INTEGER { other(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only other(1) needs to be supported."

   ::= { lmpCompliances 1 }

lmpMonitoringModuleCompliance MODULE-COMPLIANCE
   STATUS current
   DESCRIPTION
       "Compliance statement for agents that support the
        monitoring of the LMP MIB."
   MODULE -- this module

      -- The mandatory groups have to be implemented
      -- by all LMP-enabled devices. However, they may all be supported
      -- as read-only objects in the case where manual
      -- configuration is unsupported.

      MANDATORY-GROUPS    { lmpNodeGroup,
                            lmpControlChannelGroup,
                            lmpLinkPropertyCorrelationGroup,
                            lmpPerfGroup,



Dubuc et al.              Expires October 2003                 [Page 62]

Internet Draft                CCAMP LMP MIB               April 18, 2003


                            lmpTeLinkGroup,
                            lmpDataLinkGroup }

      GROUP lmpCcIsNotInterfaceGroup
      DESCRIPTION
          "This group is mandatory for devices which support
           control channels that are not interfaces, in addition to
           lmpControlChannelGroup. The following constraints apply:
           lmpCcIsIf must at least be read-only returning false(1)."

      GROUP lmpCcIsInterfaceGroup
      DESCRIPTION
          "This group is mandatory for devices which support
           control channels that are interfaces, in addition to
           lmpControlChannelGroup. The following constraints apply:
           lmpCcIsIf must at least be read-only returning true(2)."

      GROUP lmpLinkVerificationGroup
      DESCRIPTION
          "This group is mandatory for devices which support
           the link verification procedure."

      GROUP lmpNotificationGroup
      DESCRIPTION
          "This group is optional."

      -- Scalars

      OBJECT      lmpAdminStatus
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpLinkVerificationInterval
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpCcHelloIntervalDefault
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpCcHelloIntervalDefaultMin
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."




Dubuc et al.              Expires October 2003                 [Page 63]

Internet Draft                CCAMP LMP MIB               April 18, 2003


      OBJECT      lmpCcHelloIntervalDefaultMax
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpCcHelloDeadIntervalDefault
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpCcHelloDeadIntervalDefaultMin
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpCcHelloDeadIntervalDefaultMax
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      -- lmpNbrTable

      OBJECT      lmpNbrRetransmitInterval
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpNbrRetryLimit
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpNbrRetransmitDelta
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpNbrRowStatus
      SYNTAX      INTEGER { active(1), notInService(2),
                            createAndGo(4), destroy(6) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported."

      OBJECT      lmpNbrStorageType
      SYNTAX      INTEGER { other(1) }
      MIN-ACCESS  read-only



Dubuc et al.              Expires October 2003                 [Page 64]

Internet Draft                CCAMP LMP MIB               April 18, 2003


      DESCRIPTION
          "Only other(1) needs to be supported."

      -- lmpControlChannelTable

      OBJECT      lmpCcUnderlyingIfIndex
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpCcIsIf
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpCcNbrNodeId
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpRemoteCcIpAddrType
      SYNTAX      INTEGER { unknown(0), ipv4(1), ipv6(2) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The dns(16) adress type needs not be supported."

      OBJECT      lmpRemoteCcIpAddr
      SYNTAX      InetAddress (SIZE(0|4|16))
      MIN-ACCESS  read-only
      DESCRIPTION
          "The size of the IP address depends on the address type."

      OBJECT      lmpCcSetupRole
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpCcAuthentication
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpCcHelloIntervalMin
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpCcHelloIntervalMax



Dubuc et al.              Expires October 2003                 [Page 65]

Internet Draft                CCAMP LMP MIB               April 18, 2003


      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpCcHelloDeadIntervalMin
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpCcHelloDeadIntervalMax
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpCcRowStatus
      SYNTAX      INTEGER { active(1), notInService(2),
                            createAndGo(4), destroy(6) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported."

      OBJECT      lmpCcOperStatus
      SYNTAX      INTEGER { up(1), down(2) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "A value of active(3), configuring(4), goingDown(5)
           need not be supported."

      OBJECT      lmpCcStorageType
      SYNTAX      INTEGER { other(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only other(1) needs to be supported."

      -- lmpLinkVerificationTable

      OBJECT      lmpVerifyInterval
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpVerifyDeadInterval
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpVerifyAllLinks



Dubuc et al.              Expires October 2003                 [Page 66]

Internet Draft                CCAMP LMP MIB               April 18, 2003


      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      -- lmpTeLinkTable

      OBJECT      lmpTeLinkNbrNodeId
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required if the link verification
           procedure is enabled."

      OBJECT      lmpTeLinkVerification
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpTeLinkFaultManagement
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpTeLinkDwdm
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpTeLinkOperStatus
      SYNTAX      INTEGER { up(1), down(2), degraded(4) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The testing(3) state need not be supported."

      OBJECT      lmpTeLinkRowStatus
      SYNTAX      INTEGER { active(1), notInService(2),
                            createAndGo(4), destroy(6) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported."

      OBJECT      lmpTeLinkStorageType
      SYNTAX      INTEGER { other(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only other(1) needs to be supported."

      -- lmpTeLinkVerificationTable



Dubuc et al.              Expires October 2003                 [Page 67]

Internet Draft                CCAMP LMP MIB               April 18, 2003


      OBJECT      lmpTeLinkBitRate
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      OBJECT      lmpTeLinkWavelength
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."

      -- lmpDataLinkTable

      OBJECT      lmpDataLinkIpAddrType
      SYNTAX      INTEGER { unknown(0), ipv4(1), ipv6(2) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The dns(16) address type need not be supported.
           The ipv4(1) and ipv6(2) address types need not be
           supported if numbered links are not supported. The
           unknown(0) address type needs not be supported if
           unnumbered links are not supported."

      OBJECT      lmpDataLinkIpAddr
      SYNTAX      InetAddress (SIZE(0|4|16))
      MIN-ACCESS  read-only
      DESCRIPTION
          "Size of data-bearing link IP address depends on type
           of data-bearing link. Data-bearing link IP address size
           is zero if link is unnumbered, four if link IP address is
           IPv4 and sixteen if link IP address is IPv6."

      OBJECT      lmpDataLinkRemoteIpAddress
      SYNTAX      InetAddress (SIZE(0|4|16))
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required if the link verification
           procedure is enabled."

      OBJECT      lmpDataLinkRemoteIfId
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required if the link verification
           procedure is enabled."

      OBJECT      lmpDataLinkEncodingType
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write access is not required."



Dubuc et al.              Expires October 2003                 [Page 68]

Internet Draft                CCAMP LMP MIB               April 18, 2003


      OBJECT      lmpDataLinkActiveOperStatus
      SYNTAX      INTEGER { up(1), down(2), degraded(4) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "A value of testing(3) need not be supported."

      OBJECT      lmpDataLinkPassiveOperStatus
      SYNTAX      INTEGER { up(1), down(2), degraded(4) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "A value of psvTst(3) need not be supported."

      OBJECT      lmpDataLinkRowStatus
      SYNTAX      INTEGER { active(1), notInService(2),
                            createAndGo(4), destroy(6) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported."

      OBJECT      lmpDataLinkStorageType
      SYNTAX      INTEGER { other(1) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only other(1) needs to be supported."

   ::= { lmpCompliances 2 }

-- Units of conformance

lmpNodeGroup OBJECT-GROUP
   OBJECTS { lmpAdminStatus,
             lmpOperStatus,
             lmpNbrAdminStatus,
             lmpNbrOperStatus,
             lmpNbrRowStatus,
             lmpNbrStorageType,
             lmpUnprotectedNotifEnable
           }
   STATUS  current
   DESCRIPTION
          "Collection of objects needed for LMP node configuration."
   ::= { lmpGroups 1 }

lmpControlChannelGroup OBJECT-GROUP
   OBJECTS {
             lmpNbrRetransmitInterval,
             lmpNbrRetryLimit,



Dubuc et al.              Expires October 2003                 [Page 69]

Internet Draft                CCAMP LMP MIB               April 18, 2003


             lmpNbrRetransmitDelta,
             lmpNbrAdminStatus,
             lmpNbrOperStatus,
             lmpNbrRowStatus,
             lmpNbrStorageType,
             lmpCcHelloIntervalDefault,
             lmpCcHelloIntervalDefaultMin,
             lmpCcHelloIntervalDefaultMax,
             lmpCcHelloDeadIntervalDefault,
             lmpCcHelloDeadIntervalDefaultMin,
             lmpCcHelloDeadIntervalDefaultMax,
             lmpCcNbrNodeId,
             lmpRemoteCcId,
             lmpRemoteCcIpAddrType,
             lmpRemoteCcIpAddr,
             lmpCcSetupRole,
             lmpCcAuthentication,
             lmpCcHelloInterval,
             lmpCcHelloIntervalMin,
             lmpCcHelloIntervalMax,
             lmpCcHelloIntervalNegotiated,
             lmpCcHelloDeadInterval,
             lmpCcHelloDeadIntervalMin,
             lmpCcHelloDeadIntervalMax,
             lmpCcHelloDeadIntervalNegotiated,
             lmpCcOperStatus,
             lmpCcRowStatus,
             lmpCcStorageType,
             lmpCcUpDownNotifEnable
           }
   STATUS  current
   DESCRIPTION
          "Collection of objects needed for LMP interface
           configuration."
   ::= { lmpGroups 2 }

lmpCcIsInterfaceGroup OBJECT-GROUP
   OBJECTS { lmpCcIsIf }
   STATUS  current
   DESCRIPTION
          "Objects needed to implement control channels that are
           interfaces."
   ::= { lmpGroups 3 }

lmpCcIsNotInterfaceGroup OBJECT-GROUP
   OBJECTS {
             lmpCcUnderlyingIfIndex,
             lmpCcIsIf,



Dubuc et al.              Expires October 2003                 [Page 70]

Internet Draft                CCAMP LMP MIB               April 18, 2003


             lmpCcLastChange,
             lmpCcAdminStatus
           }
   STATUS  current
   DESCRIPTION
          "Objects needed to implement control channels that are not
           interfaces."
   ::= { lmpGroups 4 }

lmpLinkPropertyCorrelationGroup OBJECT-GROUP
   OBJECTS { lmpLinkPropertyNotifEnable }
   STATUS  current
   DESCRIPTION
          "Collection of objects needed to implement the link
           property correlation procedure."
   ::= { lmpGroups 5 }

lmpLinkVerificationGroup OBJECT-GROUP
   OBJECTS { lmpLinkVerificationInterval,
             lmpVerifyInterval,
             lmpVerifyDeadInterval,
             lmpVerifyTransportMechanism,
             lmpVerifyAllLinks,
             lmpTeLinkBitRate,
             lmpTeLinkWavelength,
             lmpDataLinkNotifEnable
           }
   STATUS  current
   DESCRIPTION
          "Collection of objects needed to implement the link
           verification procedure."
   ::= { lmpGroups 6 }

lmpPerfGroup OBJECT-GROUP
   OBJECTS { lmpCcInOctets,
             lmpCcInDiscards,
             lmpCcInErrors,
             lmpCcOutOctets,
             lmpCcOutDiscards,
             lmpCcOutErrors,
             lmpCcConfigReceived,
             lmpCcConfigSent,
             lmpCcConfigRetransmit,
             lmpCcConfigAckReceived,
             lmpCcConfigAckSent,
             lmpCcConfigNackSent,
             lmpCcConfigNackReceived,
             lmpCcHelloReceived,



Dubuc et al.              Expires October 2003                 [Page 71]

Internet Draft                CCAMP LMP MIB               April 18, 2003


             lmpCcHelloSent,
             lmpCcBeginVerifyReceived,
             lmpCcBeginVerifySent,
             lmpCcBeginVerifyRetransmit,
             lmpCcBeginVerifyAckReceived,
             lmpCcBeginVerifyAckSent,
             lmpCcBeginVerifyNackReceived,
             lmpCcBeginVerifyNackSent,
             lmpCcEndVerifyReceived,
             lmpCcEndVerifySent,
             lmpCcEndVerifyRetransmit,
             lmpCcEndVerifyAckReceived,
             lmpCcEndVerifyAckSent,
             lmpCcTestStatusSuccessReceived,
             lmpCcTestStatusSuccessSent,
             lmpCcTestStatusSuccessRetransmit,
             lmpCcTestStatusFailureReceived,
             lmpCcTestStatusFailureSent,
             lmpCcTestStatusFailureRetransmit,
             lmpCcTestStatusAckReceived,
             lmpCcTestStatusAckSent,
             lmpCcLinkSummaryReceived,
             lmpCcLinkSummarySent,
             lmpCcLinkSummaryRetransmit,
             lmpCcLinkSummaryAckReceived,
             lmpCcLinkSummaryAckSent,
             lmpCcLinkSummaryNackReceived,
             lmpCcLinkSummaryNackSent,
             lmpCcChannelStatusReceived,
             lmpCcChannelStatusSent,
             lmpCcChannelStatusRetransmit,
             lmpCcChannelStatusAckReceived,
             lmpCcChannelStatusAckSent,
             lmpCcChannelStatusReqReceived,
             lmpCcChannelStatusReqSent,
             lmpCcChannelStatusReqRetransmit,
             lmpCcChannelStatusRspReceived,
             lmpCcChannelStatusRspSent,
             lmpCcCounterDiscontinuityTime,
             lmpTeInOctets,
             lmpTeOutOctets,
             lmpTeBeginVerifyReceived,
             lmpTeBeginVerifySent,
             lmpTeBeginVerifyRetransmit,
             lmpTeBeginVerifyAckReceived,
             lmpTeBeginVerifyAckSent,
             lmpTeBeginVerifyNackReceived,
             lmpTeBeginVerifyNackSent,



Dubuc et al.              Expires October 2003                 [Page 72]

Internet Draft                CCAMP LMP MIB               April 18, 2003


             lmpTeEndVerifyReceived,
             lmpTeEndVerifySent,
             lmpTeEndVerifyRetransmit,
             lmpTeEndVerifyAckReceived,
             lmpTeEndVerifyAckSent,
             lmpTeTestStatusSuccessReceived,
             lmpTeTestStatusSuccessSent,
             lmpTeTestStatusSuccessRetransmit,
             lmpTeTestStatusFailureReceived,
             lmpTeTestStatusFailureSent,
             lmpTeTestStatusFailureRetransmit,
             lmpTeTestStatusAckReceived,
             lmpTeTestStatusAckSent,
             lmpTeLinkSummaryReceived,
             lmpTeLinkSummarySent,
             lmpTeLinkSummaryRetransmit,
             lmpTeLinkSummaryAckReceived,
             lmpTeLinkSummaryAckSent,
             lmpTeLinkSummaryNackReceived,
             lmpTeLinkSummaryNackSent,
             lmpTeChannelStatusReceived,
             lmpTeChannelStatusSent,
             lmpTeChannelStatusRetransmit,
             lmpTeChannelStatusAckReceived,
             lmpTeChannelStatusAckSent,
             lmpTeChannelStatusReqReceived,
             lmpTeChannelStatusReqSent,
             lmpTeChannelStatusReqRetransmit,
             lmpTeChannelStatusRspSent,
             lmpTeChannelStatusRspReceived,
             lmpTeCounterDiscontinuityTime,
             lmpDataLinkTestReceived,
             lmpDataLinkTestSent,
             lmpDataLinkActiveTestSuccess,
             lmpDataLinkActiveTestFailure,
             lmpDataLinkPassiveTestSuccess,
             lmpDataLinkPassiveTestFailure,
             lmpDataLinkDiscontinuityTime
           }
   STATUS  current
   DESCRIPTION
          "Collection of objects needed for providing performance
           information about LMP interfaces and data-bearing links."
   ::= { lmpGroups 7 }

lmpTeLinkGroup OBJECT-GROUP
   OBJECTS { lmpTeLinkNbrNodeId,
             lmpTeLinkVerification,



Dubuc et al.              Expires October 2003                 [Page 73]

Internet Draft                CCAMP LMP MIB               April 18, 2003


             lmpTeLinkFaultManagement,
             lmpTeLinkDwdm,
             lmpTeLinkOperStatus,
             lmpTeLinkRowStatus,
             lmpTeLinkStorageType,
             lmpTeLinkNotifEnable
           }
   STATUS  current
   DESCRIPTION
          "Collection of objects needed for TE link configuration."
   ::= { lmpGroups 8 }

lmpDataLinkGroup OBJECT-GROUP
   OBJECTS { lmpDataLinkType,
             lmpDataLinkIpAddrType,
             lmpDataLinkIpAddr,
             lmpDataLinkRemoteIpAddress,
             lmpDataLinkRemoteIfId,
             lmpDataLinkEncodingType,
             lmpDataLinkActiveOperStatus,
             lmpDataLinkPassiveOperStatus,
             lmpDataLinkRowStatus,
             lmpDataLinkStorageType
           }
   STATUS  current
   DESCRIPTION
          "Collection of objects needed for data-bearing link
           configuration."
   ::= { lmpGroups 9 }

lmpNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS { lmpTeLinkPropertyMismatch,
                   lmpDataLinkPropertyMismatch,
                   lmpUnprotected,
                   lmpControlChannelUp,
                   lmpControlChannelDown,
                   lmpTeLinkDegraded,
                   lmpTeLinkNotDegraded,
                   lmpDataLinkVerificationFailure }
   STATUS  current
   DESCRIPTION
          "Set of notifications implemented in this module.
           None is mandatory."
   ::= { lmpGroups 10 }

-- End of LMP-MIB
END




Dubuc et al.              Expires October 2003                 [Page 74]

Internet Draft                CCAMP LMP MIB               April 18, 2003


11.  Intellectual Property Considerations

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to per-
   tain to the implementation or use of the technology described in this
   document or the extent to which any license under such rights might
   or might not be available; neither does it represent that it has made
   any effort to identify any such rights.  Information on the IETF's
   procedures with respect to rights in standards-track and standards-
   related documentation can be found in BCP-11.  Copies of claims of
   rights made available for publication and any assurances of licenses
   to be made available, or the result of an attempt made to obtain a
   general license or permission for the use of such proprietary rights
   by implementers or users of this specification can be obtained from
   the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.

12.  Security Considerations

   It is clear that this MIB is potentially useful for monitoring of LMP
   enabled devices. This MIB can also be used for configuration of cer-
   tain objects, and anything that can be configured can be incorrectly
   configured, with potentially disastrous results.

   At this writing, no security holes have been identified beyond those
   that SNMP Security [RFC2571] is itself intended to address.  These
   relate to primarily controlled access to sensitive information and
   the ability to configure a device - or which might result from opera-
   tor error, which is beyond the scope of any security architecture.

   There are a number of management objects defined in this MIB which
   have a MAX-ACCESS clause of read-write and/or read-create. Such
   objects may be considered sensitive or vulnerable in some network
   environments. The support for SET operations in a non-secure environ-
   ment without proper protection can have a negative effect on network
   operations. The use of SNMP Version 3 is recommended over prior ver-
   sions, for configuration control, as its security model is improved.

   SNMPv1 or SNMPv2 are by themselves not a secure environment. Even if
   the network itself is secure (for example by using IPSec [RFC2401]),
   there is no control as to who on the secure network is allowed to
   access and GET/SET (read/change/create/delete) the objects in this
   MIB. It is recommended that the implementers consider the security



Dubuc et al.              Expires October 2003                 [Page 75]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   features as provided by the SNMPv3 framework. Specifically, the use
   of the User-based Security Model [RFC2574] and the View-based Access
   Control [RFC2575] is recommended. It is then a customer/user respon-
   sibility to ensure that the SNMP entity giving access to an instance
   of this MIB is properly configured to give access to the objects only
   to those principals (users) that have legitimate rights to indeed GET
   or SET (change/create/delete) them.

   There are a number of managed objects in this MIB that may contain
   information that may be sensitive from a business perspective, in
   that they can be used to derive the network topology, e.g. list of
   nodes and their IP address (lmpNbrTable) and list of data-bearing
   links (lmpDataLinkTable). Allowing uncontrolled access to these
   objects could result in malicious and unwanted disruptions of network
   traffic, incorrect network configurations or theft of competitive
   business information. There are no objects that are particularly sen-
   sitive in their own right, such as passwords or monetary amounts.

13.  Acknowledgments

   The general structure of this draft has been modeled around draft-
   ietf-mpls-lsr-mib-06.txt.

   The authors wish to thank Dmitry Ryumkin, Baktha Muralidharan and
   George Wang.

14.  References


14.1.  Normative References

   [RFC2119]     Bradner, S., "Key words for use in RFCs to Indicate
                 Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2578]     McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,
                 J., Rose, M., and S. Waldbusser, "Structure of
                 Management Information Version 2 (SMIv2)", STD 58,
                 RFC 2578, April 1999.

   [RFC2579]     McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,
                 J., Rose, M., and S. Waldbusser, "Textual Conventions
                 for SMIv2", STD 58, RFC 2579, April 1999.

   [RFC2580]     McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,
                 J., Rose, M., and S. Waldbusser, "Conformance
                 Statements for SMIv2", STD 58, RFC 2580, April 1999.

   [RFC2401]     Kent, S., and Atkinson, R., "Security Architecture



Dubuc et al.              Expires October 2003                 [Page 76]

Internet Draft                CCAMP LMP MIB               April 18, 2003


                 for the Internet Protocol", RFC 2401, November
                 1998.

   [RFC2863]     McCloghrie, K., and Kastenholtz, F., "The Interfaces
                 Group MIB", RFC 2863, June 2000.

   [RFC3471]     Ashwood-Smith, P., Banarjee, A., Berger, L.,
                 Bernstein, G., Drake, J., Fan, Y., Kompella, K.,
                 Lang, J., Mannie, E., Rajagopalan, B., Rekhter, Y.,
                 Saha, D., Sharma, V., Swallow, G., and Tang, B.,
                 "Generalized MPLS Signaling Function Description",
                 RFC 3471, January 2003.

   [Assigned]    Reynolds, J., and J. Postel, "Assigned Numbers",
                 RFC 1700, October 1994. See also:
                 http://www.iana.org/assignments/smi-numbers

   [BUNDLE]      Kompella, K., Rekhter, Y., and Berger, L.,
                 "Link Bundling in MPLS Traffic Engineering",
                 Internet Draft <draft-ietf-mpls-bundle-04.txt>,
                 July 2002.

   [TELINK-MIB]  Dubuc, M., Dharanikota, S. Nadeau, T., Lang, J.,
                 "Traffic Engineering Link Management Information
                 Base", Internet Draft
                 <draft-ietf-mpls-telink-mib-00.txt>, April 2003.

   [IANAFamily]  Internet Assigned Numbers Authority (IANA), ADDRESS
                 FAMILY NUMBERS. See also:
                 http://www.iana.org/assignments/address-family-numbers
                 For MIB see: http://www.iana.org/assignments/
                 ianaaddressfamilynumbers-mib

   [LMP]         Lang, J., Mitra, K., Drake, J., Kompella, K.,
                 Rekhter, Y., Berger, L., Saha, S., Basak, D.,
                 Sandick, H., Zinin, A., Rajagopalan, B., and
                 Ramamoorthi, S., "Link Management Protocol",
                 Internet Draft <draft-ietf-ccamp-lmp-08.txt>,
                 March 2003.

14.2.  Informative References

   [RFC1155]     Rose, M., and McCloghrie, K., "Structure and
                 Identification of Management Information for TCP/IP-
                 based Internets", STD 16, RFC 1155, May 1990.

   [RFC1157]     Case, J., Fedor, M., Schoffstall, M., and J. Davin,
                 "Simple Network Management Protocol", STD 15, RFC 1157,



Dubuc et al.              Expires October 2003                 [Page 77]

Internet Draft                CCAMP LMP MIB               April 18, 2003


                 May 1990.

   [RFC1212]     Rose, M., and McCloghrie, K., "Concise MIB Defini-
   tions",
                 STD 16, RFC 1212, March 1991.

   [RFC1215]     Rose, M., "A Convention for Defining Traps for use with
                 the SNMP", RFC 1215, March 1991.

   [RFC1901]     Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
                 "Introduction to Community-based SNMPv2", RFC 1901,
                 January 1996.

   [RFC1905]     Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
                 "Protocol Operations for Version 2 of the Simple
                 Network Management Protocol (SNMPv2)", RFC 1905,
                 January 1996.

   [RFC1906]     Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
                 "Transport Mappings for Version 2 of the Simple Network
                 Management Protocol (SNMPv2)", RFC 1906, January 1996.

   [RFC2570]     Case, J., Mundy, R., Partain, D., and B. Stewart,
                 "Introduction to Version 3 of the Internet-standard
                 Network Management Framework", RFC 2570, April 1999.

   [RFC2571]     Harrington, D., Presuhn, R., and B. Wijnen, "An
                 Architecture for Describing SNMP Management
                 Frameworks", RFC 2571, April 1999.

   [RFC2572]     Case, J., Harrington D., Presuhn R., and B. Wijnen,
                 "Message Processing and Dispatching for the Simple
                 Network Management Protocol (SNMP)", RFC 2572, April
                 1999.

   [RFC2573]     Levi, D., Meyer, P., and B. Stewart, "SNMPv3
                 Applications", RFC 2573, April 1999.

   [RFC2574]     Blumenthal, U., and B. Wijnen, "User-based Security
                 Model (USM) for version 3 of the Simple Network
                 Management Protocol (SNMPv3)", RFC 2574, April 1999.

   [RFC2575]     Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
                 Access Control Model (VACM) for the Simple Network
                 Management Protocol (SNMP)", RFC 2575, April 1999.

   [RFC3410]     Case, J., Mundy, R., Partain, D. and B. Stewart,
                 "Introduction and Applicability Statements for



Dubuc et al.              Expires October 2003                 [Page 78]

Internet Draft                CCAMP LMP MIB               April 18, 2003


                 Internet-Standard Management Framework", RFC 3410,
                 December 2002.

15.  Authors' Addresses

Martin Dubuc                         Jonathan P. Lang
Email: dubuc.consulting@rogers.com   Rincon Networks, Inc.
                                     110 El Paseo
                                     Santa Barbara, CA 93101
                                     Email: jplang@ieee.org

Sudheer Dharanikota                  Evan McGinnis
Avici Systems, Inc.                  Calient Networks, Inc.
101 Billerica Avenue                 5853 Rue Ferrari
N Billerica, MA 08162                San Jose, CA 95138
Email: sudheer@avici.com             Email: evan@calient.net

Thomas D. Nadeau
Cisco Systems, Inc.
300 Apollo Drive
Chelmsford, MA 01824
Phone: +1-978-244-3051
Email: tnadeau@cisco.com

16.  Full Copyright Statement

   Copyright (C) The Internet Society (2003). All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works. However, this docu-
   ment itself may not be modified in any way, such as by removing the
   copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of develop-
   ing Internet standards in which case the procedures for copyrights
   defined in the Internet Standards process must be followed, or as
   required to translate it into languages other than English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.  This
   document and the information contained herein is provided on an "AS
   IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK
   FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL
   NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY



Dubuc et al.              Expires October 2003                 [Page 79]

Internet Draft                CCAMP LMP MIB               April 18, 2003


   OR FITNESS FOR A PARTICULAR PURPOSE.


















































Dubuc et al.              Expires October 2003                 [Page 80]


Html markup produced by rfcmarkup 1.109, available from https://tools.ietf.org/tools/rfcmarkup/