Network Working Group Martin Dubuc
Internet Draft
Category: Standards Track Sudheer Dharanikota
Expires: November 2004
Thomas D. Nadeau
Cisco Systems
Jonathan P. Lang
Rincon Networks
Evan McGinnis
Calient Networks
May 2004
Link Management Protocol Management Information Basedraft-ietf-ccamp-lmp-mib-09.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
Management Protocol (LMP).
Dubuc et al. Expires November 2004 [Page 1]

Internet Draft CCAMP LMP MIB Module May 25, 20042. 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 module that can be used to manage
LMP implementations. This MIB module 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
channels 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
multiplexing 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 November 2004 [Page 3]

Internet Draft CCAMP LMP MIB Module May 25, 20044. Feature Checklist
The Link Management Protocol MIB module (LMP-MIB) is designed to
satisfy the following requirements and constraints:
- The MIB module supports the enabling and disabling of LMP
capability on LMP capable interfaces of a photonic switch,
optical cross-connect or router.
- The MIB module is used provide information about LMP adjacencies.
- Support is provided for configuration of the keep alive and
link verification parameters.
- The MIB module 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 module goes hand-in-hand with the TE Link (TE-
LINK-STD-MIB) MIB module [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 module contains TE link
information specific to LMP.
5. 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 November 2004 [Page 4]

Internet Draft CCAMP LMP MIB Module May 25, 20046. Brief Description of MIB Objects
Sections 6.1-6.8 describe objects pertaining to LMP. The MIB objects
were derived from the LMP document [LMP].
6.1. lmpNbrTable
The remote node table is used to identify the pair of nodes that
exchange LMP messages over control channels.
6.2. lmpControlChannelTable
The control channel table is used for enabling the LMP protocol on
LMP-capable interfaces. A photonic switch, optical cross-connect or
router creates an entry in this table for every LMP capable interface
in that device.
6.3. lmpControlChannelPerfTable
The control channel performance table is used for collecting LMP
performance counts on a per-control channel basis. This table is an
AUGMENT to the lmpControlChannelTable.
6.4. lmpTeLinkTable
The TE link table is used for specifying LMP information associated
with TE links.
6.5. lmpLinkVerificationTable
The link verification table is used for configuring the LMP link
verification parameters of TE links. This table is an AUGMENT to the
lmpTeLinkTable.
6.6. lmpTeLinkPerfTable
The TE link performance table is used for collecting LMP performance
counts on a per-TE link basis. This table is an AUGMENT to the
lmpTeLinkTable.
6.7. lmpDataLinkTable
The data-bearing link table is used to specify the data-bearing links
that are associated with TE links.
Dubuc et al. Expires November 2004 [Page 5]

Internet Draft CCAMP LMP MIB Module May 25, 20046.8. lmpDataLinkPerfTable
The data-bearing link performance table is used for collecting LMP
performance counts on data-bearing links.
7. 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 module, 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.
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),
lmpNbrStorageType = nonVolatile(3)
}
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,
Dubuc et al. Expires November 2004 [Page 6]

Internet Draft CCAMP LMP MIB Module May 25, 2004
lmpDataLinkAddressType = unknown(0),
lmpDataLinkIpAddr = ''H,
lmpDataLinkRemoteIpAddress = ''H,
lmpDataLinkRemoteIfId = 48,
lmpDataLinkRowStatus = createAndGo(4),
lmpDataLinkStorageType = nonVolatile(3)
}
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 module [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 module to specify TE link information
specific to LMP.
In lmpTeLinkTable:
{
ifIndex = 20,
lmpTeLinkVerification = true(2),
lmpTeLinkFaultManagement = true(2),
lmpTeLinkDwdm = false(1),
lmpTeLinkRowStatus = createAndGo(4),
lmpTeLinkStorageType = nonVolatile(3)
}
and in lmpLinkVerificationTable:
{
ifIndex = 20,
lmpLinkVerifyInterval = 100,
lmpLinkVerifyDeadInterval = 300,
lmpLinkVerifyTransportMechanism = j0Trace(3),
lmpLinkVerifyAllLinks = true(2),
lmpLinkVerifyTransmissionRate = 100000,
lmpLinkVerifyWavelength = 0,
lmpLinkVerifyRowStatus = createAndGo(4),
lmpLinkVerifyStorageType = nonVolatile(3)
}
The association between the data-bearing links and the TE links is
stored in the ifStackTable [IF-MIB].
In parallel with the entry created in the lmpTeLinkTable, an entry
Dubuc et al. Expires November 2004 [Page 8]

Internet Draft CCAMP LMP MIB Module May 25, 2004
may be created in the teLinkTable of TE Link MIB module
[TELINK-MIB].
8. 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.
Note that it is not a requirement that LMP control channels be
modeled as interfaces. It is acceptable that control channels
simply exist as logical connections between adjacent LMP-capable
nodes. In this case, lmpCcIsIf is set to false(2) and no
corresponding entry is made in the ifTable.
Dubuc et al. Expires November 2004 [Page 9]

Internet Draft CCAMP LMP MIB Module May 25, 20048.1. Support of the LMP Layer by ifTable
Some specific interpretations of ifTable for the LMP layer
follow.
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
Dubuc et al. Expires November 2004 [Page 10]

Internet Draft CCAMP LMP MIB Module May 25, 2004
acknowledgement. This object along with lmpNbrRetryLimit is
used to implement congestion handling mechanism as defined in
Section 10 of the Link Management Protocol specification,
which is based on RFC 2914."
REFERENCE
"Link Management Protocol, RFC xxx"
-- RFC Editor to fill in RFC number that will be assigned to
-- [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.
This object along with lmpNbrRetransmitInterval is
used to implement congestion handling mechanism as defined in
Section 10 of the Link Management Protocol specification,
which is based on RFC 2914."
REFERENCE
"Link Management Protocol, RFC xxx"
-- RFC Editor to fill in RFC number that will be assigned to
-- [LMP]
DEFVAL { 3 }
::= { lmpNbrEntry 7 }
lmpNbrRetransmitDelta OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object governs the speed with which the sender increases
the retransmission interval as explained in section 10 of the
Link Management Protocol specification, which is based on
RFC 2914. This value is a power used to express the
exponential backoff. The ratio of two succesive retransmission
intervals is (1 + Delta)."
REFERENCE
"Link Management Protocol, RFC xxx"
-- RFC Editor to fill in RFC number that will be assigned to
-- [LMP]
DEFVAL { 1 }
::= { lmpNbrEntry 8 }
Dubuc et al. Expires November 2004 [Page 15]

Internet Draft CCAMP LMP MIB Module May 25, 2004
"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.
Implementations should save the value of this object in
persistent memory so that it survives restarts or reboot."
REFERENCE
"Link Management Protocol, RFC xxx"
-- RFC Editor to fill in RFC number that will be assigned to
-- [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. Implementations should save the
value of this object in persistent memory so that it survives
restarts or reboot."
::= { 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. Implementations should save the
value of this object in persistent memory so that it survives
restarts or reboot."
::= { 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. The HelloDeadInterval parameter should be at
least three times the value of HelloInterval. It is used as
a default value for lmpCcHelloDeadInterval. Implementations
should save the value of this object in persistent memory so
Dubuc et al. Expires November 2004 [Page 17]

Internet Draft CCAMP LMP MIB Module May 25, 2004
that it survives restarts or reboot."
REFERENCE
"Link Management Protocol, RFC xxx"
-- RFC Editor to fill in RFC number that will be assigned to
-- [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. Implementations should save
the value of this object in persistent memory so that it
survives restarts or reboot."
::= { 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. Implementations should save the
value of this object in persistent memory so that it survives
restarts or reboot."
::= { 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
Dubuc et al. Expires November 2004 [Page 18]

Internet Draft CCAMP LMP MIB Module May 25, 2004
If this object is set to zero, but lmpCcIsIf is set to
true(1), the control channel is not currently associated
with any underlying interface and the control channel's
operational status must not be up(1), nor should the
control channel forward or receive traffic.
If lmpCcIsIf is set to false(2), this object should be set
to zero and should be ignored."
::= { lmpControlChannelEntry 2 }
lmpCcIsIf OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"In implementations where the control channels are modeled
as interfaces, the value of this object is true(1) and
this control channel is represented by an interface in
the interfaces group table as indicated by the value of
lmpCcUnderlyingIfIndex. If control channels are not
modeled as interfaces, the value of this object is
false(2) and there is no corresponding interface for
this control channel in the interfaces group table,
and the value of lmpCcUnderlyingIfIndex should be
ignored."
::= { lmpControlChannelEntry 3 }
lmpCcNbrNodeId OBJECT-TYPE
SYNTAX LmpNodeId
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."
::= { lmpControlChannelEntry 4 }
lmpCcRemoteId OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This value represents the remote control channel identifier
(32 bit number). 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 }
Dubuc et al. Expires November 2004 [Page 20]

Internet Draft CCAMP LMP MIB Module May 25, 2004
lmpCcRemoteAddressType 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 }
lmpCcRemoteIpAddr OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This value represents the remote control channel Internet
address for numbered control channel. The type of this
address is determined by lmpCcRemoteAddressType.
Control channel must be numbered on non point-to-point
configuration. For point-to-point configuration, the
remote control channel address can be of type unknown
in which case this object must be a zero length string. The
lmpCcRemoteId object then identifies the unnumbered
address."
::= { 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 must use
authentication."
REFERENCE
"Link Management Protocol, RFC xxx"
Dubuc et al. Expires November 2004 [Page 21]

Internet Draft CCAMP LMP MIB Module May 25, 2004
"This object specifies the value of the HelloDeadInterval
parameter. The default value for this object should be
set to lmpCcHelloDeadIntervalDefault."
::= { lmpControlChannelEntry 14 }
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 15 }
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 16 }
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 17 }
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 18 }
lmpCcAdminStatus OBJECT-TYPE
SYNTAX INTEGER { up(1), down(2) }
Dubuc et al. Expires November 2004 [Page 23]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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 }
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
Dubuc et al. Expires November 2004 [Page 27]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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
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 }
Dubuc et al. Expires November 2004 [Page 28]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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
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
Dubuc et al. Expires November 2004 [Page 29]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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 }
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
Dubuc et al. Expires November 2004 [Page 30]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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
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 }
Dubuc et al. Expires November 2004 [Page 31]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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 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
Dubuc et al. Expires November 2004 [Page 32]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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 }
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
Dubuc et al. Expires November 2004 [Page 33]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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
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 }
Dubuc et al. Expires November 2004 [Page 34]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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 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
Dubuc et al. Expires November 2004 [Page 35]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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 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
Dubuc et al. Expires November 2004 [Page 36]

Internet Draft CCAMP LMP MIB Module May 25, 2004
DESCRIPTION
"This table specifies the LMP specific TE link information.
Overall TE link information is kept in three separate tables:
ifTable, for interface specific information, lmpTeLinkTable
for LMP specific information and teLinkTable for generic
TE link information. ifIndex is the common index to all
tables."
::= { 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) that is managed by LMP. An ifEntry with
an ifIndex must exist before the corresponding lmpTeLinkEntry is
created. If a TE link entry in the ifTable is destroyed, then so
is the corresponding entry in the lmpTeLinkTable. 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 contained in teLinkTable of the
TE-LINK-STD-MIB MIB module."
INDEX { ifIndex }
::= { lmpTeLinkTable 1 }
LmpTeLinkEntry ::= SEQUENCE {
lmpTeLinkNbrRemoteNodeId LmpNodeId,
lmpTeLinkVerification TruthValue,
lmpTeLinkFaultManagement TruthValue,
lmpTeLinkDwdm TruthValue,
lmpTeLinkOperStatus INTEGER,
lmpTeLinkRowStatus RowStatus,
lmpTeLinkStorageType StorageType
}
lmpTeLinkNbrRemoteNodeId OBJECT-TYPE
SYNTAX LmpNodeId
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 }
Dubuc et al. Expires November 2004 [Page 37]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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. None of the writable objects
in a row can be changed if the status is active(1).
All read-create objects must have valid and consistent
values before the row can be activated."
::= { 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."
DEFVAL { nonVolatile }
::= { lmpTeLinkEntry 7 }
-- End of lmpTeLinkTable
lmpGlobalLinkVerificationInterval OBJECT-TYPE
SYNTAX Unsigned32
UNITS "ms"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object indicates how often the link verification
procedure is executed. The interval is in milliseconds.
A value of 0 is used to indicate that the link
verification procedure should not be executed. The
interval specified in this object should be large enough
to allow the verification procedure to be completed
before the start of the next interval.
Implementations should save the value of this object in
Dubuc et al. Expires November 2004 [Page 39]

Internet Draft CCAMP LMP MIB Module May 25, 2004
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A value of true(2) for this object indicates that the
verification process checks all unallocated links, otherwise
only the new ports or component links that have been added to
this TE link are verified."
::= { lmpLinkVerificationEntry 4 }
lmpLinkVerifyTransmissionRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bytes per second"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This is the transmission rate of the data link over which
the Test messages will be transmitted and is expressed in
bytes per second."
REFERENCE
"Link Management Protocol, RFC xxx"
-- RFC Editor to fill in RFC number that will be assigned to
-- [LMP]
::= { lmpLinkVerificationEntry 5 }
lmpLinkVerifyWavelength OBJECT-TYPE
SYNTAX Unsigned32
UNITS "nanometers"
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
"Link Management Protocol, RFC xxx"
-- RFC Editor to fill in RFC number that will be assigned to
-- [LMP]
::= { lmpLinkVerificationEntry 6 }
lmpLinkVerifyRowStatus 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. None of the writable objects
Dubuc et al. Expires November 2004 [Page 42]

Internet Draft CCAMP LMP MIB Module May 25, 2004
"This object counts the number of BeginVerifyAck messages that
have been sent for this TE link."
::= { lmpTeLinkPerfEntry 7 }
lmpTeBeginVerifyNackReceived OBJECT-TYPE
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 }
Dubuc et al. Expires November 2004 [Page 46]

Internet Draft CCAMP LMP MIB Module May 25, 2004
STATUS current
DESCRIPTION
"This object counts the number of ChannelStatus messages
that have been sent for this TE link."
::= { 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
Dubuc et al. Expires November 2004 [Page 51]

Internet Draft CCAMP LMP MIB Module May 25, 2004
that have been sent for this TE link."
::= { lmpTeLinkPerfEntry 39 }
lmpTeCounterDiscontinuityTime 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 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
of the TE-LINK-STD-MIB MIB module."
INDEX { ifIndex }
::= { lmpDataLinkTable 1 }
Dubuc et al. Expires November 2004 [Page 52]

Internet Draft CCAMP LMP MIB Module May 25, 2004
For IPv4 and IPv6 numbered links, this object represents
the local IP address associated with the data-bearing
link. For an unnumbered link, the local address is
of type unknown and this object is set to the zero length
string and the ifIndex object then identifies the
unnumbered address."
::= { lmpDataLinkEntry 3 }
lmpDataLinkRemoteIpAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The remote Internet address for numbered data-bearing links.
The type of this address is determined by the
lmpDataLinkAddressType object.
For IPv4 and IPv6 numbered links, this object represents the
remote IP address associated with the data-bearing link. For
an unnumbered link, the remote address is of type unknown
and this object is set to the zero length string and the
lmpDataLinkRemoteIfId object then identifies the unnumbered
address.
This information is either configured manually or is
communicated by the remote node during the link verification
procedure."
::= { 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 TeLinkEncodingType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The encoding type of the data-bearing link."
REFERENCE
"Generalized MPLS Signaling Functional Description, RFC 3471"
Dubuc et al. Expires November 2004 [Page 54]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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
object contains a zero value."
::= { lmpDataLinkPerfEntry 7 }
-- End of lmpDataLinkPerfTable
-- Notification Configuration
lmpNotificationMaxRate OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The LMP notification rate depends on the size of the network,
the type of links, the network configuration, the
reliability of the network, etc.
When designing this MIB, care has been taken to minimize the
amount of notifications generated for LMP purposes. Wherever
possible, notifications are state driven meaning the
notification are only sent when the system changes state.
The only notifications that are repeated and could cause a
problem as far as congestion is concerned are the ones
associated with data link verification.
Without any considerations to handling of these
notifications, a problem may arise if the number of data
links is high. Since the data link verification notifications
can happen only once per data link per link verification
Dubuc et al. Expires November 2004 [Page 58]

Internet Draft CCAMP LMP MIB Module May 25, 2004
interval, the notification rate should be sustainable if one
chooses an appropriate link verification interval for a given
network configuration. For instance, a network of 100 nodes
with 5 links of 128 wavelengths each and a link verification
of 1 minute with no more than 10% of the links failed at any
given time would have 1 notification per second sent from
each node, or 100 notifications per second for the whole
network. The rest of the notifications are negligeable
compared to this number.
To alleviate the congestion problem, the
lmpNotificationMaxRate object can be used to implement a
throttling mechanism. It is also possible to enable/disable
certain type of notifications.
This variable indicates the maximum number of
notifications issued per second. If events occur
more rapidly, the implementation may simply fail to
emit these notifications during that period, or may
queue them until an appropriate time. A value of 0
means no throttling is applied and events may be
notified at the rate at which they occur.
Implementations should save the value of this object in
persistent memory so that it survives restarts or reboot."
DEFVAL { 0 }
::= { lmpObjects 18 }
lmpLinkPropertyNotificationsEnabled 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.
Implementations should save the value of this object in
persistent memory so that it survives restarts or reboot."
DEFVAL { false }
::= { lmpObjects 19 }
lmpUnprotectedNotificationsEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"If this object is true, then it enables the
generation of lmpUnprotected notifications,
Dubuc et al. Expires November 2004 [Page 59]

Internet Draft CCAMP LMP MIB Module May 25, 2004
otherwise these notifications are not emitted.
Implementations should save the value of this object in
persistent memory so that it survives restarts or reboot."
DEFVAL { false }
::= { lmpObjects 20 }
lmpCcUpDownNotificationsEnabled 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.
Implementations should save the value of this object in
persistent memory so that it survives restarts or reboot."
DEFVAL { false }
::= { lmpObjects 21 }
lmpTeLinkNotificationsEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"If this object is true, then it enables the
generation of lmpTeLinkDegraded and lmpTeLinkNotDegraded
notifications, otherwise these notifications are not emitted.
Implementations should save the value of this object in
persistent memory so that it survives restarts or reboot."
DEFVAL { false }
::= { lmpObjects 22 }
lmpDataLinkNotificationsEnabled 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.
Implementations should save the value of this object in
persistent memory so that it survives restarts or reboot."
DEFVAL { false }
::= { lmpObjects 23 }
-- Notifications
Dubuc et al. Expires November 2004 [Page 60]

Internet Draft CCAMP LMP MIB Module May 25, 2004
-- 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 lmpLinkPropertyNotificationsEnabled
is true. It is recommended that this notification be reported
only the first time a mismatch is detected. Otherwise, for a
given TE link, this notification can occur no more than once
per verification interval (lmpGlobalLinkVerificationInterval)."
::= { lmpNotifications 1 }
lmpDataLinkPropertyMismatch NOTIFICATION-TYPE
OBJECTS { lmpDataLinkType, lmpDataLinkRemoteIfId }
STATUS current
DESCRIPTION
"This notification is generated when a data-bearing link
property mismatch is detected on the node. lmpDataLinkType
is used to identify the local identifiers associated with
the data link (the data link interface index can be used
to determine the TE link interface index as this
relationship is captured in the interface stack table).
The remote entity interface id is the remote entity
interface id received in the LinkSummary message.
This notification should not be sent unless
lmpLinkPropertyNotificationsEnabled is true. It is
recommended that this notification be reported only the
first time a mismatch is detected. Otherwise, for a given
data link, this notification can occur no more than once
per verification interval (lmpGlobalLinkVerificationInterval)."
::= { lmpNotifications 2 }
-- Neighbor Notification
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
Dubuc et al. Expires November 2004 [Page 61]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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
lmpUnprotectedNotificationsEnabled 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
lmpCcUpDownNotificationsEnabled 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
lmpCcUpDownNotificationsEnabled is true."
::= { lmpNotifications 5 }
-- TE Link Notification
lmpTeLinkDegraded NOTIFICATION-TYPE
OBJECTS { lmpTeLinkOperStatus }
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
lmpTeLinkNotificationsEnabled is true."
::= { lmpNotifications 6 }
lmpTeLinkNotDegraded NOTIFICATION-TYPE
OBJECTS { lmpTeLinkOperStatus }
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
Dubuc et al. Expires November 2004 [Page 62]

Internet Draft CCAMP LMP MIB Module May 25, 2004
-- 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 not supported.
MANDATORY-GROUPS { lmpNodeGroup,
lmpControlChannelGroup,
lmpLinkPropertyCorrelationGroup,
lmpPerfGroup,
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 lmpGlobalLinkVerificationInterval
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT lmpCcHelloIntervalDefault
Dubuc et al. Expires November 2004 [Page 66]

Internet Draft CCAMP LMP MIB Module May 25, 2004
lmpUnprotected,
lmpControlChannelUp,
lmpControlChannelDown,
lmpTeLinkDegraded,
lmpTeLinkNotDegraded,
lmpDataLinkVerificationFailure }
STATUS current
DESCRIPTION
"Set of notifications defined in this module."
::= { lmpGroups 10 }
-- End of LMP-MIB
END
10. 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
pertain 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.
By submitting this Internet Draft, we certify that any applicable
patent or other IPR claims of which we are aware have been disclosed,
and any of which we become aware will be disclosed, in accordance
with RFC 3668.
11. Security Considerations
There are a number of management objects defined in this MIB module
with 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
environment without proper protection can have a negative effect on
Dubuc et al. Expires November 2004 [Page 78]

Internet Draft CCAMP LMP MIB Module May 25, 2004
network operations. These are the tables and objects and their
sensitivity/vulnerability:
- Unauthorized changes to the lmpNbrTable, lmpControlChannelTable,
lmpTeLinkTable and lmpDataLinkTable may disrupt allocation of
resources in the network.
Some of the readable objects in this MIB module (i.e., objects with a
MAX-ACCESS other than not-accessible) may be considered sensitive or
vulnerable in some network environments. It is thus important to
control even GET and/or NOTIFY access to these objects and possibly
to even encrypt the values of these objects when sending them over
the network via SNMP. These are the tables and objects and their
sensitivity/vulnerability:
- The lmpNbrTable exposes network provider's node IP addresses.
- lmpControlChannelTable exposes network provider's control
network.
- lmpDataLinkTable exposes network provider's data network.
SNMP versions prior to SNMPv3 did not include adequate security.
Even if the network itself is secure (for example by using IPSec),
even then, 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 module.
It is RECOMMENDED that implementers consider the security features as
provided by the SNMPv3 framework (see [RFC3410], section 8),
including full support for the SNMPv3 cryptographic mechanisms (for
authentication and privacy).
Further, deployment of SNMP versions prior to SNMPv3 is NOT
RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to
enable cryptographic security. It is then a customer/operator
responsibility to ensure that the SNMP entity giving access to an
instance of this MIB module 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.
12. 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.
Dubuc et al. Expires November 2004 [Page 79]

Internet Draft CCAMP LMP MIB Module May 25, 2004
Internet-Standard Management Framework", RFC 3410,
December 2002.
[BUNDLING] Kompella, K., Rekhter, Y., and Berger, L.,
"Link Bundling in MPLS Traffic Engineering",
Internet Draft <draft-ietf-mpls-bundle-04.txt>,
July 2002.
15. Authors' Addresses
Martin Dubuc Jonathan P. Lang
Email: mdubuc@ncf.ca Rincon Networks, Inc.
110 El Paseo
Santa Barbara, CA 93101
Email: jplang@ieee.org
Sudheer Dharanikota Evan McGinnis
Email: sudheer@ieee.org Calient Networks, Inc.
5853 Rue Ferrari
San Jose, CA 95138
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 (2004). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
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
document 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
developing 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
Dubuc et al. Expires November 2004 [Page 82]

Internet Draft CCAMP LMP MIB Module May 25, 2004
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 are provided on an "AS
IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR
IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM 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 OR FITNESS FOR A PARTICULAR PURPOSE.
Dubuc et al. Expires November 2004 [Page 83]