draft-ietf-ccamp-gmpls-te-mib-03.txt   draft-ietf-ccamp-gmpls-te-mib-04.txt 
CCAMP Working Group Thomas D. Nadeau CCAMP Working Group Thomas D. Nadeau
Internet Draft Cisco Systems, Inc. Internet Draft Cisco Systems, Inc.
Expires: May 2004 Expires: August 2004
Cheenu Srinivasan Cheenu Srinivasan
Bloomberg L.P. Bloomberg L.P.
Adrian Farrel Adrian Farrel
Old Dog Consulting Old Dog Consulting
Tim Hall Tim Hall
Ed Harrison Ed Harrison
Data Connection Ltd. Data Connection Ltd.
November 2003 February 2004
Generalized Multiprotocol Label Switching (GMPLS) Traffic Generalized Multiprotocol Label Switching (GMPLS) Traffic
Engineering Management Information Base Engineering Management Information Base
draft-ietf-ccamp-gmpls-te-mib-03.txt draft-ietf-ccamp-gmpls-te-mib-04.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 66 skipping to change at page 2, line 19
2. Terminology 3 2. Terminology 3
3. The SNMP Management Framework 3 3. The SNMP Management Framework 3
4. Outline 4 4. Outline 4
4.1. Summary of GMPLS Traffic Engineering MIB Module 4 4.1. Summary of GMPLS Traffic Engineering MIB Module 4
5. Brief Description of GMPLS TE MIB Objects 4 5. Brief Description of GMPLS TE MIB Objects 4
5.1. gmplsTunnelTable 4 5.1. gmplsTunnelTable 4
5.2. gmplsTunnelHopTable 5 5.2. gmplsTunnelHopTable 5
5.3. gmplsTunnelARHopTable 5 5.3. gmplsTunnelARHopTable 5
5.4. gmplsTunnelCHopTable 5 5.4. gmplsTunnelCHopTable 5
5.5. gmplsTunnelErrorTable 5 5.5. gmplsTunnelErrorTable 5
5.6. gmplsTunnelPerfTable 5 5.6. gmplsTunnelReversePerfTable 5
6. Cross-referencing to the mplsLabelTable 5 6. Cross-referencing to the mplsLabelTable 5
7. Example of GMPLS Tunnel Setup 6 7. Example of GMPLS Tunnel Setup 6
8. GMPLS Traffic Engineering MIB Definitions 8 8. GMPLS Traffic Engineering MIB Definitions 9
9. Security Considerations 36 9. Security Considerations 37
10. Acknowledgments 37 10. Acknowledgments 38
11. References 37 11. References 38
11.1. Normative Refenerces 37 11.1. Normative Refenerces 38
11.2. Informational References 39 11.2. Informational References 40
12. Authors' Addresses 39 12. Authors' Addresses 41
13. Full Copyright Statement 40 13. Full Copyright Statement 41
14. Intellectual Property Notice 41 14. Intellectual Property Notice 42
15. Changes and Pending Work 41
15.1. Pending Work 41
1. Introduction 1. Introduction
This memo defines a portion of the Management Information Base (MIB) This memo defines a portion of the Management Information Base (MIB)
for use with network management protocols in the Internet community. for use with network management protocols in the Internet community.
In particular, it describes managed objects for modeling a In particular, it describes managed objects for modeling a
Generalized Multi-Protocol Label Switching (GMPLS) [GMPLSArch] based Generalized Multiprotocol Label Switching (GMPLS) [GMPLSArch] based
traffic engineering. The tables and objects defined in this document traffic engineering. The tables and objects defined in this document
extend those defined in the equivalent document for MPLS traffic extend those defined in the equivalent document for MPLS traffic
engineering [TEMIB], and management of GMPLS traffic engineering is engineering [TEMIB], and management of GMPLS traffic engineering is
built on management of MPLS traffic engineering. built on management of MPLS traffic engineering.
This MIB module should be used in conjunction with the companion This MIB module should be used in conjunction with the companion
document [GMPLSLSRMIB] for GMPLS based traffic engineering document [GMPLSLSRMIB] for GMPLS based traffic engineering
configuration and management. configuration and management.
Comments should be made direct to the CCAMP mailing list at Comments should be made direct to the CCAMP mailing list at
ccamp@ops.ietf.org. ccamp@ops.ietf.org.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119, reference document are to be interpreted as described in RFC 2119, reference
[RFC2119]. [RFC2119].
1.1. Migration Strategy 1.1. Migration Strategy
This MIB extends the traffic engineering MIB defined for use with This MIB module extends the traffic engineering MIB module defined
MPLS [TEMIB]. It provides additions for support of GMPLS tunnels. for use with MPLS [TEMIB]. It provides additions for support of GMPLS
tunnels.
The companion document modeling and managing GMPLS based LSRs The companion document for modeling and managing GMPLS based LSRs
[GMPLSLSRMIB] extends MPLS LSR MIB [LSRMIB] with the same intentions. [GMPLSLSRMIB] extends MPLS LSR MIB [LSRMIB] with the same intentions.
Textual conventions and OBJECT-IDENTIFIERS are defined in [TCMIB] and Textual conventions and OBJECT-IDENTIFIERS are defined in [TCMIB] and
[GMPLSTCMIB]. [GMPLSTCMIB].
2. Terminology 2. Terminology
This document uses terminology from the MPLS architecture document This document uses terminology from the MPLS architecture document
[RFC3031], from the GMPLS architecture document [GMPLSArch], and from [RFC3031], from the GMPLS architecture document [GMPLSArch], and from
the MPLS Label Switch Router MIB [LSRMIB]. Some frequently used terms the MPLS Traffic Engineering MIB [TEMIB]. Some frequently used terms
are described next. are described next.
An explicitly routed LSP (ERLSP) is referred to as a GMPLS tunnel. It An explicitly routed LSP (ERLSP) is referred to as a GMPLS tunnel. It
consists of in-segment(s) and/or out-segment(s) at the egress/ingress consists of in-segment(s) and/or out-segment(s) at the egress/ingress
LSRs, each segment being associated with one GMPLS enabled interface. LSRs, each segment being associated with one GMPLS enabled interface.
These are also referred to as tunnel segments. These are also referred to as tunnel segments.
Additionally, at an intermediate LSR, we model a connection as Additionally, at an intermediate LSR, we model a connection as
consisting of one or more in-segments and/or one or more out- consisting of one or more in-segments and/or one or more out-
segments. The binding or interconnection between in-segments and out- segments. The binding or interconnection between in-segments and out-
skipping to change at page 1, line 169 skipping to change at page 4, line 22
- Extending the tunnels with GMPLS configuration parameters. - Extending the tunnels with GMPLS configuration parameters.
- Configuring tunnel loose and strict source routed hops. - Configuring tunnel loose and strict source routed hops.
These actions may need to be accompanied with corresponding actions These actions may need to be accompanied with corresponding actions
using [LSRMIB] and [GMPLSLSRMIB] to establish and configure tunnel using [LSRMIB] and [GMPLSLSRMIB] to establish and configure tunnel
segments, if this is done manually. Also, the in-segment and out- segments, if this is done manually. Also, the in-segment and out-
segment performance tables, mplsInSegmentPerfTable and segment performance tables, mplsInSegmentPerfTable and
mplsOutSegmentPerfTable [LSRMIB], should be used to determine mplsOutSegmentPerfTable [LSRMIB], should be used to determine
performance of the tunnels and tunnel segments although it should be performance of the tunnels and tunnel segments although it should be
noted that those tables may not be appropriate for measuring noted that those tables may not be appropriate for measuring
performance on some times of GMPLS links. performance on some types of GMPLS links.
4.1. Summary of GMPLS Traffic Engineering MIB Module 4.1. Summary of GMPLS Traffic Engineering MIB Module
The MIB objects for performing the actions listed above that cannot The MIB objects for performing the actions listed above that cannot
be performed solely using the MIB objects defined in [TEMIB] consist be performed solely using the MIB objects defined in [TEMIB] consist
of the following tables. of the following tables.
- Tunnel Table (gmplsTunnelTable) for providing GMPLS-specific - Tunnel Table (gmplsTunnelTable) for providing GMPLS-specific
tunnel configuration parameters. tunnel configuration parameters.
- Tunnel specified, actual, and computed hop tables - Tunnel specified, actual, and computed hop tables
(gmplsTunnelHopTable, gmplsTunnelARHopTable, and (gmplsTunnelHopTable, gmplsTunnelARHopTable, and
gmplsTunnelCHopTable) for providing additional configuration of gmplsTunnelCHopTable) for providing additional configuration of
strict and loose source routed tunnel hops. strict and loose source routed tunnel hops.
- Performance and error reporting tables (gmplsTunnelPerfTable and - Performance and error reporting tables (gmplsTunnelReversePerfTable
gmplsTunnelErrorTable). and gmplsTunnelErrorTable).
These tables are described in the subsequent sections. These tables are described in the subsequent sections.
Additionally, this MIB module contains a new Notification.
- The GMPLS Tunnel Down Notification (gmplsTunnelDown) is intended to
be used in place of the mplsTunnelDown Notification defined in
[TEMIB]. As well as indicating that a tunnel has transitioned to
operational down state, this new Notificaiton indicates the cause
of the failure.
5. Brief Description of GMPLS TE MIB Objects 5. Brief Description of GMPLS TE MIB Objects
The objects described in this section support the functionality The objects described in this section support the functionality
described in [RFC3473] and [RFC3472] for GMPLS tunnels. described in [RFC3473] and [RFC3472] for GMPLS tunnels.
The tables support both manually configured and signaled tunnels. The tables support both manually configured and signaled tunnels.
5.1. gmplsTunnelTable 5.1. gmplsTunnelTable
The gmplsTunnelTable extends the MPLS traffic engineering MIB to The gmplsTunnelTable extends the MPLS traffic engineering MIB to
allow GMPLS tunnels to be created between an LSR and a remote allow GMPLS tunnels to be created between an LSR and a remote
skipping to change at page 1, line 227 skipping to change at page 5, line 32
The gmplsTunnelARHopTable is used to indicate the actual hops The gmplsTunnelARHopTable is used to indicate the actual hops
traversed by a tunnel as reported by the signaling protocol after the traversed by a tunnel as reported by the signaling protocol after the
tunnel is setup. The support of this table is optional since not all tunnel is setup. The support of this table is optional since not all
GMPLS signaling protocols support this feature. GMPLS signaling protocols support this feature.
5.4. gmplsTunnelCHoptable 5.4. gmplsTunnelCHoptable
The gmplsTunnelCHopTable lists the actual hops computed by a The gmplsTunnelCHopTable lists the actual hops computed by a
constraint-based routing algorithm based on the gmplsTunnelHopTable. constraint-based routing algorithm based on the gmplsTunnelHopTable.
The support of this table is optional since not all implementations The support of this table is optional since not all implementations
support computation of hop list using a constraint-based routing support computation of hop lists using a constraint-based routing
protocol. protocol.
5.5. gmplsTunnelErrorTable 5.5. gmplsTunnelErrorTable
The gmplsTunnelErrorTable provides access to information about the The gmplsTunnelErrorTable provides access to information about the
last error that occurred on each tunnel known about by the MIB. It last error that occurred on each tunnel known about by the MIB. It
indicates the nature of the error, when and how it was reported and indicates the nature of the error, when and how it was reported and
can give recovery advice through a display string. can give recovery advice through a display string.
5.6. gmplsTunnelPerfTable 5.6. gmplsTunnelReversePerfTable
gmplsTunnelPerfTable provides additional counters to measure the gmplsTunnelReversePerfTable provides additional counters to measure
performance of GMPLS tunnels in which packets are visible. It the performance of bidirectional GMPLS tunnels in which packets are
supplements the counters in mplsTunnelPerfTable and augments visible. It supplements the counters in mplsTunnelPerfTable and
gmplsTunnelTable. augments gmplsTunnelTable.
Note that not all counters may be appropriate or available for some Note that not all counters may be appropriate or available for some
types of tunnel. types of tunnel.
6. Cross-referencing to the mplsLabelTable 6. Cross-referencing to the gmplsLabelTable
The gmplsLabelTable is found in a MIB module in [GMPLSLSRMIB] and The gmplsLabelTable is found in a MIB module in [GMPLSLSRMIB] and
provides a way to model labels in a GMPLS system where labels might provides a way to model labels in a GMPLS system where labels might
not be simple 32 bit integers. not be simple 32 bit integers.
The hop tables in this document (gmplsHopTable, gmplsCHopTable and The hop tables in this document (gmplsHopTable, gmplsCHopTable and
gmplsARHopTable) use arbitrary indexes to point to entries in the gmplsARHopTable) and the segment tables in the [LSRMIB]
mplsLabelTable to indicate specific label values. (mplsInSegmentTable and mplsOutSegmentTable) contain objects with
syntax MplsLabel.
Since the primary indexes into gmplsLabelTable are the interface MplsLabel (defined in [TCMIB]) is a 32-bit integer that is capable of
index and a simple 32 bit integer (gmplsLabelIndex), in systems where representing any MPLS label and most GMPLS labels. However, some
the nature of a label is well-known, and where the label can safely GMPLS labels are larger than 32 bits and may be of arbitrary length.
be encoded as a 32 bit integer (for example a conventional MPLS Further, some labels that may be safely encoded in 32 bits are
system), the gmplsLabelTable does not need to be supported in the constructed from multiple sub-fields. Additionally, some GMPLS
code implementation and the index pointers to the gmplsLabelTable technologies support the concatenation of individual labels to
(gmplsTunnelHopExplicitLabel, gmplsTunnelHopExpRvrsLabel, represent a data flow carried as multiple sub-flows.
gmplsTunnelCHopExplicitLabel, gmplsTunnelCHopExpRvrsLabel,
gmplsTunnelARHopExplicitLabel, gmplsTunnelARHopExpRvrsLabel) These GMPLS cases require that something other than a simple 32-bit
may be replaced with the direct label values. integer is made available to represent the labels. This is achieved
through the gmplsLabelTable contained in [GMPLSLSRMIB].
The tables in this document and [LSRMIB] that include objects with
syntax MplsLabel also include companion objects that are row
pointers. If the row pointer is set to zeroDotZero (0.0) then object
of syntax MplsLabel contains the label encoded as a 32-bit integer.
But otherwise the row pointer indicates a row in another MIB table
that includes the label. In these cases, the row pointer may indicate
a row in the gmplsLabelTable.
This provides both a good way to support legacy systems that This provides both a good way to support legacy systems that
implement the previous version of this MIB [TEMIB], and a significant implement the previous version of this MIB [TEMIB], and a significant
simplification in GMPLS systems that are limited to a single, simple simplification in GMPLS systems that are limited to a single, simple
label type. label type.
Note that gmplsLabelTable supports concatenated labels through the Note that gmplsLabelTable supports concatenated labels through the
use of a label sub-index (gmplsLabelSubindex). use of a label sub-index (gmplsLabelSubindex).
7. Example of GMPLS Tunnel Setup 7. Example of GMPLS Tunnel Setup
skipping to change at page 1, line 313 skipping to change at page 7, line 12
mplsTunnelInstancePriority = 1, mplsTunnelInstancePriority = 1,
mplsTunnelHopTableIndex = 1, mplsTunnelHopTableIndex = 1,
mplsTunnelPrimaryInstance = 0, mplsTunnelPrimaryInstance = 0,
mplsTunnelIncludeAnyAffinity = 0, mplsTunnelIncludeAnyAffinity = 0,
mplsTunnelIncludeAllAffinity = 0, mplsTunnelIncludeAllAffinity = 0,
mplsTunnelExcludeAnyAffinity = 0, mplsTunnelExcludeAnyAffinity = 0,
mplsTunnelPathInUse = 1, mplsTunnelPathInUse = 1,
mplsTunnelRole = head(1), mplsTunnelRole = head(1),
mplsTunnelRowStatus = createAndWait (5), mplsTunnelRowStatus = createAndWait (5),
} }
In gmplsTunnelTable(1,1,123.123.125.1,123.123.126.1): In gmplsTunnelTable(1,1,123.123.125.1,123.123.126.1):
{ {
gmplsTunnelUnnumIf = true (1), gmplsTunnelUnnumIf = true (1),
gmplsTunnelAttributes = labelRecordingRequired (1), gmplsTunnelAttributes = labelRecordingRequired (1),
gmplsTunnelLSPEncoding = tunnelLspLambda (8), gmplsTunnelLSPEncoding = tunnelLspLambda (8),
gmplsTunnelSwitchingType = lsc (150), gmplsTunnelSwitchingType = lsc (150),
gmplsTunnelLinkProtection = shared (2), gmplsTunnelLinkProtection = shared (2),
gmplsTunnelGPid = lambda (37), gmplsTunnelGPid = lambda (37),
gmplsTunnelDirection = bidirectional (1)
gmplsTunnelSecondary = false(0), gmplsTunnelSecondary = false(0),
gmplsTunnelDirection = bidirectional (1)
gmplsTunnelPathComp = explicit(2), gmplsTunnelPathComp = explicit(2),
gmplsTunnelUpNotRecip = 0x7B7B7D01, gmplsTunnelUpNotRecip = 0x7B7B7D01,
gmplsTunnelDownNotRecip = 0x00000000, gmplsTunnelDownNotRecip = 0x00000000,
gmplsTunnelAdminStatusFlags = 0 gmplsTunnelAdminStatusFlags = 0,
gmplsTunnelExtraParamsPtr = 0.0
} }
Entries in the mplsTunnelResourceTable, mplsTunnelHopTable and Entries in the mplsTunnelResourceTable, mplsTunnelHopTable and
gmplsTunnelHopTable are created and activated at this time. gmplsTunnelHopTable are created and activated at this time.
In mplsTunnelResourceTable: In mplsTunnelResourceTable:
{ {
mplsTunnelResourceIndex = 6, mplsTunnelResourceIndex = 6,
mplsTunnelResourceMaxRate = 0, mplsTunnelResourceMaxRate = 0,
mplsTunnelResourceMeanRate = 0, mplsTunnelResourceMeanRate = 0,
skipping to change at page 1, line 378 skipping to change at page 8, line 23
mplsTunnelHopAddrType = ipV4 (1), mplsTunnelHopAddrType = ipV4 (1),
mplsTunnelHopIpv4Addr = 123.123.126.1, mplsTunnelHopIpv4Addr = 123.123.126.1,
mplsTunnelHopIpv4PrefixLen = 9, mplsTunnelHopIpv4PrefixLen = 9,
mplsTunnelHopType = loose (2), mplsTunnelHopType = loose (2),
mplsTunnelHopRowStatus = createAndGo (4) mplsTunnelHopRowStatus = createAndGo (4)
} }
Now an associated entry in the gmplsTunnelHopTable is created to Now an associated entry in the gmplsTunnelHopTable is created to
provide additional GMPLS hop configuration indicating that the first provide additional GMPLS hop configuration indicating that the first
hop is an unnumbered link using explicit forward and reverse labels. hop is an unnumbered link using explicit forward and reverse labels.
An entry in the gmplsLabelTable is created first to include the
explicit label.
In gmplsLabelTable:
{
gmplsLabelInterface = 2,
gmplsLabelIndex = 1,
gmplsLabelSubindex = 0,
gmplsLabelType = gmplsFreeformGeneralizedLabel(3),
gmplsLabelFreeform = 0xFEDCBA9876543210
gmplsLabelRowStatus = createAndGo(4)
}
In gmplsTunnelHopTable(1,1,1): In gmplsTunnelHopTable(1,1,1):
{ {
gmplsTunnelHopLabelStatuses = forwardPresent(0) gmplsTunnelHopLabelStatuses = forwardPresent(0)
+reversePresent(1), +reversePresent(1),
gmplsTunnelHopExplicitLabel = gmplsLabelInterface.1, gmplsTunnelHopExpLabelPtr = gmplsLabelTable (2, 1, 0)
gmplsTunnelHopExpRvrsLabel = gmplsLabelInterface.2 gmplsTunnelHopExpRvrsLabelPtr = gmplsLabelTable (2, 1, 0)
} }
The first hop is now activated: The first hop is now activated:
In mplsTunnelHopTable(1,1,1): In mplsTunnelHopTable(1,1,1):
{ {
mplsTunnelHopRowStatus = active (1) mplsTunnelHopRowStatus = active (1)
} }
No gmplsTunnelHopEntry is created for the second hop as it contains No gmplsTunnelHopEntry is created for the second hop as it contains
skipping to change at page 1, line 409 skipping to change at page 9, line 10
In mplsTunnelTable(1,1,123.123.125.1,123.123.126.1) In mplsTunnelTable(1,1,123.123.125.1,123.123.126.1)
{ {
mplsTunnelRowStatus = active(1) mplsTunnelRowStatus = active(1)
} }
8. GMPLS Traffic Engineering MIB Definitions 8. GMPLS Traffic Engineering MIB Definitions
GMPLS-TE-STD-MIB DEFINITIONS ::= BEGIN GMPLS-TE-STD-MIB DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
MODULE-IDENTITY, OBJECT-TYPE MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
Integer32, Unsigned32, Counter32, Integer32, Unsigned32, Counter32,
Counter64, IpAddress Counter64, IpAddress, zeroDotZero
FROM SNMPv2-SMI FROM SNMPv2-SMI
MODULE-COMPLIANCE, OBJECT-GROUP MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF FROM SNMPv2-CONF
TruthValue, TimeStamp, DisplayString TruthValue, TimeStamp, DisplayString, RowPointer
FROM SNMPv2-TC FROM SNMPv2-TC
InetAddressIPv4, InetAddressIPv6 InetAddress
FROM INET-ADDRESS-MIB FROM INET-ADDRESS-MIB
mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId,
mplsTunnelEgressLSRId, mplsTunnelHopListIndex, mplsTunnelEgressLSRId, mplsTunnelHopListIndex,
mplsTunnelHopPathOptionIndex, mplsTunnelHopIndex, mplsTunnelHopPathOptionIndex, mplsTunnelHopIndex,
mplsTunnelARHopListIndex, mplsTunnelARHopIndex, mplsTunnelARHopListIndex, mplsTunnelARHopIndex,
mplsTunnelCHopListIndex, mplsTunnelCHopIndex, mplsTunnelCHopListIndex, mplsTunnelCHopIndex,
mplsTunnelEntry, mplsTunnelSignallingProto mplsTunnelEntry, mplsTunnelSignallingProto,
mplsTunnelAdminStatus, mplsTunnelOperStatus
FROM MPLS-TE-STD-MIB FROM MPLS-TE-STD-MIB
gmplsStdMIB gmplsStdMIB
FROM GMPLS-TC-STD-MIB FROM GMPLS-TC-STD-MIB
; ;
gmplsTeStdMIB MODULE-IDENTITY gmplsTeStdMIB MODULE-IDENTITY
LAST-UPDATED LAST-UPDATED
"200310300900Z" -- 30 October 2003 9:00:00 GMT" "200402130900Z" -- 13 February 2004 9:00:00 GMT
ORGANIZATION ORGANIZATION
"Common Control And Management Protocols (CCAMP) "Common Control And Management Protocols (CCAMP)
Working Group" Working Group"
CONTACT-INFO CONTACT-INFO
" Thomas D. Nadeau " Thomas D. Nadeau
Cisco Systems, Inc. Cisco Systems, Inc.
Email: tnadeau@cisco.com Email: tnadeau@cisco.com
Cheenu Srinivasan Cheenu Srinivasan
Bloomberg L.P. Bloomberg L.P.
skipping to change at page 1, line 455 skipping to change at page 9, line 57
Adrian Farrel Adrian Farrel
Old Dog Consulting Old Dog Consulting
Email: adrian@olddog.co.uk Email: adrian@olddog.co.uk
Ed Harrison Ed Harrison
Data Connection Ltd. Data Connection Ltd.
Email: ed.harrison@dataconnection.com Email: ed.harrison@dataconnection.com
Tim Hall Tim Hall
Data Connection Ltd. Data Connection Ltd.
Email: timhall@dataconnection.com Email: tim.hall@dataconnection.com
Comments about this document should be emailed direct to the Comments about this document should be emailed direct to the
CCAMP working group mailing list at ccamp@ops.ietf.org" CCAMP working group mailing list at ccamp@ops.ietf.org"
DESCRIPTION DESCRIPTION
"This MIB module contains managed object definitions "This MIB module contains managed object definitions
for GMPLS Traffic Engineering (TE). for GMPLS Traffic Engineering (TE).
Copyright (C) The Internet Society (2003). This Copyright (C) The Internet Society (2004). This
version of this MIB module is part of RFCXXX; see version of this MIB module is part of RFCXXX; see
the RFC itself for full legal notices." the RFC itself for full legal notices."
-- Revision history. -- Revision history.
REVISION REVISION
"200310300900Z" -- 30 October 2003 09:00:00 GMT "200402130900Z" -- 13 February 2004 09:00:00 GMT
DESCRIPTION DESCRIPTION
"Initial revision, published as part of RFC XXXX." "Initial revision, published as part of RFC XXXX."
::= { gmplsStdMIB xx } ::= { gmplsStdMIB xx }
-- Top level components of this MIB. -- Top level components of this MIB.
-- Notifications -- Notifications
-- no notifications are currently defined.
gmplsTeNotifications OBJECT IDENTIFIER ::= { gmplsTeStdMIB 0 } gmplsTeNotifications OBJECT IDENTIFIER ::= { gmplsTeStdMIB 0 }
-- tables, scalars -- tables, scalars
gmplsTeScalars OBJECT IDENTIFIER ::= { gmplsTeStdMIB 1 } gmplsTeScalars OBJECT IDENTIFIER ::= { gmplsTeStdMIB 1 }
gmplsTeObjects OBJECT IDENTIFIER ::= { gmplsTeStdMIB 2 } gmplsTeObjects OBJECT IDENTIFIER ::= { gmplsTeStdMIB 2 }
-- conformance -- conformance
gmplsTeConformance OBJECT IDENTIFIER ::= { gmplsTeStdMIB 3 } gmplsTeConformance OBJECT IDENTIFIER ::= { gmplsTeStdMIB 3 }
-- GMPLS Tunnel scalars. -- GMPLS Tunnel scalars.
skipping to change at page 1, line 575 skipping to change at page 12, line 8
gmplsTunnelAttributes BITS, gmplsTunnelAttributes BITS,
gmplsTunnelLSPEncoding Integer32, gmplsTunnelLSPEncoding Integer32,
gmplsTunnelSwitchingType Integer32, gmplsTunnelSwitchingType Integer32,
gmplsTunnelLinkProtection BITS, gmplsTunnelLinkProtection BITS,
gmplsTunnelGPid Integer32, gmplsTunnelGPid Integer32,
gmplsTunnelSecondary TruthValue, gmplsTunnelSecondary TruthValue,
gmplsTunnelDirection INTEGER, gmplsTunnelDirection INTEGER,
gmplsTunnelPathComp INTEGER, gmplsTunnelPathComp INTEGER,
gmplsTunnelUpNotRecip IpAddress, gmplsTunnelUpNotRecip IpAddress,
gmplsTunnelDownNotRecip IpAddress, gmplsTunnelDownNotRecip IpAddress,
gmplsTunnelAdminStatusFlags BITS gmplsTunnelAdminStatusFlags BITS,
gmplsTunnelExtraParamsPtr RowPointer
} }
gmplsTunnelUnnumIf OBJECT-TYPE gmplsTunnelUnnumIf OBJECT-TYPE
SYNTAX TruthValue SYNTAX TruthValue
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Denotes whether or not this tunnel corresponds to an "Denotes whether or not this tunnel corresponds to an
unnumbered interface represented in the interfaces unnumbered interface represented in the interfaces
group table. group table.
This object is only used if mplsTunnelIsIf is set to This object is only used if mplsTunnelIsIf is set to
'true'. 'true'.
If both this object and the mplsTunnelIsIf object If both this object and the mplsTunnelIsIf object
are set to 'true', the originating LSR adds an are set to 'true', the originating LSR adds an
LSP_TUNNEL_INTERFACE_ID object to the outgoing Path LSP_TUNNEL_INTERFACE_ID object to the outgoing Path
message. message.
This object contains information that is only used This object contains information that is only used
by the terminating LSR." by the terminating LSR."
REFERENCE REFERENCE
"1. draft-ietf-mpls-crldp-unnum-06.txt - Signalling "Signalling Unnumbered Links in RSVP-TE, Kompella, K.
Unnumbered Links in CR-LDP, Kompella, K., Rekhter, Y.
and Kullberg, A., June 2002.
2. Signalling Unnumbered Links in RSVP-TE, Kompella, K.
and Rekhter, Y., RFC 3477, January 2003." and Rekhter, Y., RFC 3477, January 2003."
DEFVAL { false } DEFVAL { false }
::= { gmplsTunnelEntry 1 } ::= { gmplsTunnelEntry 1 }
gmplsTunnelAttributes OBJECT-TYPE gmplsTunnelAttributes OBJECT-TYPE
SYNTAX BITS { SYNTAX BITS {
labelRecordingDesired (0) labelRecordingDesired (0)
} }
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
skipping to change at page 1, line 688 skipping to change at page 14, line 7
psc4 (4), psc4 (4),
l2sc (51), l2sc (51),
tdm (100), tdm (100),
lsc (150), lsc (150),
fsc (200) fsc (200)
This object is only meaningful if This object is only meaningful if
gmplsTunnelLSPEncoding is not set to 0." gmplsTunnelLSPEncoding is not set to 0."
REFERENCE REFERENCE
"1. Kompella, K., et al., OSPF Extensions in Support "1. Kompella, K., et al., OSPF Extensions in Support
of Generalized MPLS, draft-ietf-ccamp-ospf-gmpls- of Generalized MPLS, draft-ietf-ccamp-ospf-gmpls-
extensions-07.txt, May 2002, work in progress. extensions-12.txt, October 2003, work in progress.
2. Berger, L., et al., Generalized Multi-Protocol 2. Berger, L., et al., Generalized Multi-Protocol
Label Switching (GMPLS) Signaling Functional Label Switching (GMPLS) Signaling Functional
Description, RFC 3471, January 2003." Description, RFC 3471, January 2003."
DEFVAL { 0 } DEFVAL { 0 }
::= { gmplsTunnelEntry 4 } ::= { gmplsTunnelEntry 4 }
gmplsTunnelLinkProtection OBJECT-TYPE gmplsTunnelLinkProtection OBJECT-TYPE
SYNTAX BITS { SYNTAX BITS {
extraTraffic(0), extraTraffic(0),
unprotected(1), unprotected(1),
skipping to change at page 1, line 925 skipping to change at page 18, line 17
signaling messages. signaling messages.
This value of this object can be modified when the This value of this object can be modified when the
corresponding mplsTunnelRowStatus and mplsTunnelAdminStatus corresponding mplsTunnelRowStatus and mplsTunnelAdminStatus
is active(1). By doing so, a new signaling message will be is active(1). By doing so, a new signaling message will be
triggered including the requested Admin Status object or triggered including the requested Admin Status object or
TLV." TLV."
::= { gmplsTunnelEntry 12 } ::= { gmplsTunnelEntry 12 }
gmplsTunnelExtraParamsptr OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Some Tunnels will run over transports that can
usefully support technology-specific additional parameters
(for example, SONET resource usage).
Such can be supplied from an external table and referenced from
here.
A value of zeroDotzero in this attribute indicates that there
is no such additional information."
DEFVAL { zeroDotZero }
::= { gmplsTunnelEntry 13 }
-- End of gmplsTunnelTable -- End of gmplsTunnelTable
-- Begin gmplsTunnelHopTable -- Begin gmplsTunnelHopTable
gmplsTunnelHopTable OBJECT-TYPE gmplsTunnelHopTable OBJECT-TYPE
SYNTAX SEQUENCE OF GmplsTunnelHopEntry SYNTAX SEQUENCE OF GmplsTunnelHopEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The gmplsTunnelHopTable 'extends' the "The gmplsTunnelHopTable 'extends' the
skipping to change at page 1, line 985 skipping to change at page 19, line 37
INDEX { INDEX {
mplsTunnelHopListIndex, mplsTunnelHopListIndex,
mplsTunnelHopPathOptionIndex, mplsTunnelHopPathOptionIndex,
mplsTunnelHopIndex mplsTunnelHopIndex
} }
::= { gmplsTunnelHopTable 1 } ::= { gmplsTunnelHopTable 1 }
GmplsTunnelHopEntry ::= SEQUENCE { GmplsTunnelHopEntry ::= SEQUENCE {
gmplsTunnelHopLabelStatuses BITS, gmplsTunnelHopLabelStatuses BITS,
gmplsTunnelHopExplicitLabel Unsigned32, gmplsTunnelHopExpLabel Unsigned32,
gmplsTunnelHopExpRvrsLabel Unsigned32 gmplsTunnelHopExpLabelPtr RowPointer,
gmplsTunnelHopExpRvrsLabel Unsigned32,
gmplsTunnelHopExpRvrsLabelPtr RowPointer
} }
gmplsTunnelHopLabelStatuses OBJECT-TYPE gmplsTunnelHopLabelStatuses OBJECT-TYPE
SYNTAX BITS { SYNTAX BITS {
forwardPresent (0), forwardPresent (0),
reversePresent (1) reversePresent (1)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This bitmask indicates the presence of labels "This bitmask indicates the presence of labels
indicated by the gmplsTunnelHopExplicitLabel and indicated by the gmplsTunnelHopExpLabel or
gmplsTunnelHopExpRvrsLabel objects. gmplsTunnelHopExpLabelPtr and
gmplsTunnelHopExpRvrsLabel or gmplsTunnelHopExpRvrsLabel
objects.
For the Present bits, a set bit indicates that a For the Present bits, a set bit indicates that a
label is present for this hop in the route. This label is present for this hop in the route. This
allows zero to be a valid label value." allows zero to be a valid label value."
::= { gmplsTunnelHopEntry 1 } ::= { gmplsTunnelHopEntry 1 }
gmplsTunnelHopExpLabel OBJECT-TYPE
gmplsTunnelHopExplicitLabel OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Indicates the row entry in the gmplsLabelTable that "If gmplsTunnelHopLabelStatuses object indicates that a
defines the explicit label to use in the explicit forward label is present and gmplsTunnelHopExpLabelPtr
route as the forward path label at this point. This contains the value zeroDotZero, then the label to use on this
value only has meaning if the forwardPresent bit of hop is found in this object encoded within a 32-bit integer."
gmplsTunnelHopLabelStatuses is set.
Note that the other indexes in the gmplsLabelTable
should be interpreted as follows:
- The gmplsLabelInterface should be zero because
this label is not tied to any specific interface
on this LSR
- The gmplsLabelSubindex is used to represent label
concatenations. The first (or only) component
label SHOULD have gmplsLabelSubindex set to zero.
This variable is only valid for settings of
mplsTunnelHopAddrType which may be associated with a
forward path label.
Note that in implementations where the label may be
encoded within a 32 bit integer and where
gmplsLabelTable is not implemented, this object may
directly contain the label value to use."
::= { gmplsTunnelHopEntry 2 } ::= { gmplsTunnelHopEntry 2 }
gmplsTunnelHopExpLabelPtr OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If the gmplsTunnelHopLabelStatuses object indicates
that a forward label is present, this object contains
a pointer to a row in another MIB table (such as the
gmplsLabelTable) that contains the label to use on
this hop in the forward direction.
If the gmplsTunnelHopLabelStatuses object indicates that
a forward label is present and this object contains the
value zeroDotZero, then the label to use on this hop is
found in the gmplsTunnelHopExpLabel object."
DEFVAL { zeroDotZero }
::= { gmplsTunnelHopEntry 3 }
gmplsTunnelHopExpRvrsLabel OBJECT-TYPE gmplsTunnelHopExpRvrsLabel OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Indicates the row entry in the gmplsLabelTable that "If the gmplsTunnelHopLabelStatuses object indicates that a
defines the explicit label to use in the explicit reverse label is present and gmplsTunnelHopExpRvrsLabelPtr
route as the reverse path label at this point. This contains the value zeroDotZero, then the label to use on
value only has meaning if the reversePresent bit of this hop is found in this object encoded as a 32-bit integer."
gmplsTunnelHopLabelStatuses is set. ::= { gmplsTunnelHopEntry 4 }
The same rules and notes apply as set out for
gmplsTunnelHopExplicitLabel."
::= { gmplsTunnelHopEntry 3 }
-- End of gmplsTunnelHopTable gmplsTunnelHopExpRvrsLabelPtr OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If the gmplsTunnelHopLabelStatuses object indicates
that a reverse label is present, this object contains
a pointer to a row in another MIB table (such as the
gmplsLabelTable) that contains the label to use on
this hop in the reverse direction.
If the gmplsTunnelHopLabelStatuses object indicates that
a reverse label is present and this object contains the
value zeroDotZero, then the label to use on this hop is
found in the gmplsTunnelHopExpRvrsLabel object."
DEFVAL { zeroDotZero }
::= { gmplsTunnelHopEntry 5 }
-- End of gmplsTunnelHopTable
-- Tunnel Actual Route Hop table. -- Tunnel Actual Route Hop table.
gmplsTunnelARHopTable OBJECT-TYPE gmplsTunnelARHopTable OBJECT-TYPE
SYNTAX SEQUENCE OF GmplsTunnelARHopEntry SYNTAX SEQUENCE OF GmplsTunnelARHopEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The gmplsTunnelARHopTable 'extends' the "The gmplsTunnelARHopTable 'extends' the
mplsTunnelARHopTable. It is used to indicate the mplsTunnelARHopTable. It is used to indicate the
labels currently in use for a GMPLS tunnel defined labels currently in use for a GMPLS tunnel defined
skipping to change at page 1, line 1105 skipping to change at page 22, line 4
is recording actual route information) contains the is recording actual route information) contains the
actual route of the whole tunnel. If the signaling actual route of the whole tunnel. If the signaling
protocol is not recording the actual route, this protocol is not recording the actual route, this
table MAY report the information from the table MAY report the information from the
gmplsTunnelHopTable or the gmplsTunnelCHopTable. gmplsTunnelHopTable or the gmplsTunnelCHopTable.
Note that the recording of actual labels is distinct Note that the recording of actual labels is distinct
from the recording of the actual route in some from the recording of the actual route in some
signaling protocols. This feature is enabled using signaling protocols. This feature is enabled using
the gmplsTunnelAttributes object." the gmplsTunnelAttributes object."
INDEX { INDEX {
mplsTunnelARHopListIndex, mplsTunnelARHopListIndex,
mplsTunnelARHopIndex mplsTunnelARHopIndex
} }
::= { gmplsTunnelARHopTable 1 } ::= { gmplsTunnelARHopTable 1 }
GmplsTunnelARHopEntry ::= SEQUENCE { GmplsTunnelARHopEntry ::= SEQUENCE {
gmplsTunnelARHopLabelStatuses BITS, gmplsTunnelARHopLabelStatuses BITS,
gmplsTunnelARHopExplicitLabel Unsigned32, gmplsTunnelARHopExpLabel Unsigned32,
gmplsTunnelARHopExpLabelPtr RowPointer,
gmplsTunnelARHopExpRvrsLabel Unsigned32, gmplsTunnelARHopExpRvrsLabel Unsigned32,
gmplsTunnelARHopExpRvrsLabelPtr RowPointer,
gmplsTunnelARHopProtection BITS gmplsTunnelARHopProtection BITS
} }
gmplsTunnelARHopLabelStatuses OBJECT-TYPE gmplsTunnelARHopLabelStatuses OBJECT-TYPE
SYNTAX BITS { SYNTAX BITS {
forwardPresent (0), forwardPresent (0),
reversePresent (1), reversePresent (1),
forwardGlobal (2), forwardGlobal (2),
reverseGlobal (3) reverseGlobal (3)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This bitmask indicates the presence and status of "This bitmask indicates the presence and status of
labels indicated by the labels indicated by the
gmplsTunnelARHopExplicitLabel and gmplsTunnelARHopExpLabel or gmplsTunnelARHopExpLabelPtr and
gmplsTunnelARHopExpRvrsLabel objects. gmplsTunnelARHopExpRvrsLabel or gmplsTunnelARHopExpRvrsLabelPtr
objects.
For the Present bits, a set bit indicates that a label For the Present bits, a set bit indicates that a label
is present for this hop in the route. For the Global bits, is present for this hop in the route. For the Global bits,
a set bit indicates that the label comes from the Global a set bit indicates that the label comes from the Global
Label Space. A clear bit indicates that this is a Per- Label Space. A clear bit indicates that this is a Per-
Interface label. A Global bit only has meaning if the Interface label. A Global bit only has meaning if the
corresponding Present bit is set." corresponding Present bit is set."
::= { gmplsTunnelARHopEntry 1 } ::= { gmplsTunnelARHopEntry 1 }
gmplsTunnelARHopExplicitLabel OBJECT-TYPE gmplsTunnelARHopExpLabel OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Indicates the row entry in the gmplsLabelTable that "If the gmplsTunnelARHopLabelStatuses object indicates
defines the label in use as the forward path label that a forward label is present and
on the path at this point. gmplsTunnelARHopExpLabelPtr contains the value
This value only has meaning if the forwardPresent zeroDotZero, then the label in use on this hop is
bit of gmplsTunnelARHopLabelStatuses is set. found in this object encoded within a 32-bit integer."
Note that the other indexes in the gmplsLabelTable
should be interpreted as follows:
- The gmplsLabelInterface should be zero because
this label is not tied to any specific interface
on this LSR
- The gmplsLabelSubindex is used to represent label
concatenations. The first (or only) component
label SHOULD have gmplsLabelSubindex set to zero.
This variable is only valid for settings of
mplsTunnelARHopAddrType which may be associated with
a forward path label.
Note that in implementations where the label may be
encoded within a 32 bit integer and where
gmplsLabelTable is not implemented, this object may
directly contain the label value to use."
::= { gmplsTunnelARHopEntry 2 } ::= { gmplsTunnelARHopEntry 2 }
gmplsTunnelARHopExpLabelPtr OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the gmplsTunnelARHopLabelStatuses object indicates
that a forward label is present, this object contains
a pointer to a row in another MIB table (such as the
gmplsLabelTable) that contains the label in use on
this hop in the forward direction.
If the gmplsTunnelARHopLabelStatuses object indicates that
a forward label is present and this object contains the
value zeroDotZero, then the label in use on this hop is
found in the gmplsTunnelARHopExpLabel object."
::= { gmplsTunnelARHopEntry 3 }
gmplsTunnelARHopExpRvrsLabel OBJECT-TYPE gmplsTunnelARHopExpRvrsLabel OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Indicates the row entry in the gmplsLabelTable that "If the gmplsTunnelARHopLabelStatuses object indicates
defines the label used in the path as reverse path that a reverse label is present and
at this point. gmplsTunnelARHopExpRvrsLabelPtr contains the value
This value only has meaning if the reversePresent zeroDotZero, then the label in use on this hop is
bit of gmplsTunnelARHopLabelStatuses is set. found in this object encoded as a 32-bit integer."
The same rules and notes apply as set out for ::= { gmplsTunnelARHopEntry 4 }
gmplsTunnelARHopExplicitLabel."
::= { gmplsTunnelARHopEntry 3 } gmplsTunnelARHopExpRvrsLabelPtr OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the gmplsTunnelARHopLabelStatuses object indicates
that a reverse label is present, this object contains
a pointer to a row in another MIB table (such as the
gmplsLabelTable) that contains the label in use on
this hop in the reverse direction.
If the gmplsTunnelARHopLabelStatuses object indicates that
a reverse label is present and this object contains the
value zeroDotZero, then the label in use on this hop is
found in the gmplsTunnelARHopExpRvrsLabel object."
::= { gmplsTunnelARHopEntry 5 }
gmplsTunnelARHopProtection OBJECT-TYPE gmplsTunnelARHopProtection OBJECT-TYPE
SYNTAX BITS { SYNTAX BITS {
localAvailable (0), localAvailable (0),
localInUse (1) localInUse (1)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Availability and usage of protection on the reported link. "Availability and usage of protection on the reported link.
localAvailable localAvailable
Indicates that the link downstream of this node Indicates that the link downstream of this node
is protected via a local repair mechanism. is protected via a local repair mechanism.
localInUse localInUse
Indicates that a local repair mechanism is in Indicates that a local repair mechanism is in use to
use to maintain this tunnel (usually in the maintain this tunnel (usually in the face of an outage
face of an outage of the link it was previously of the link it was previously routed over)."
routed over)." ::= { gmplsTunnelARHopEntry 6 }
::= { gmplsTunnelARHopEntry 4 }
-- End of mplsTunnelARHopTable -- End of mplsTunnelARHopTable
-- Tunnel Computed Hop table. -- Tunnel Computed Hop table.
gmplsTunnelCHopTable OBJECT-TYPE gmplsTunnelCHopTable OBJECT-TYPE
SYNTAX SEQUENCE OF GmplsTunnelCHopEntry SYNTAX SEQUENCE OF GmplsTunnelCHopEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The gmplsTunnelCHopTable 'extends' the "The gmplsTunnelCHopTable 'extends' the mplsTunnelCHopTable.
mplsTunnelCHopTable. It is used to indicate It is used to indicate additional information about the
additional information about the hops of a GMPLS hops of a GMPLS tunnel defined in mplsTunnelTable and
tunnel defined in mplsTunnelTable and
gmplsTunnelTable, as computed by a constraint-based gmplsTunnelTable, as computed by a constraint-based
routing protocol, based on the mplsTunnelHopTable routing protocol, based on the mplsTunnelHopTable
and the gmplsTunnelHopTable. and the gmplsTunnelHopTable.
Each row in this table is indexed by the same indexes as Each row in this table is indexed by the same indexes as
mplsTunnelCHopTable. It is acceptable for some rows in mplsTunnelCHopTable. It is acceptable for some rows in
mplsTunnelCHopTable to have corresponding entries in this mplsTunnelCHopTable to have corresponding entries in this
table and some to have no corresponding entry in this table. table and some to have no corresponding entry in this table.
Please note that since the information necessary to Please note that since the information necessary to
skipping to change at page 1, line 1260 skipping to change at page 24, line 56
supported) MAY contain the path computed by path supported) MAY contain the path computed by path
computation engine on (or on behalf of) the transit LSR." computation engine on (or on behalf of) the transit LSR."
INDEX { INDEX {
mplsTunnelCHopListIndex, mplsTunnelCHopListIndex,
mplsTunnelCHopIndex mplsTunnelCHopIndex
} }
::= { gmplsTunnelCHopTable 1 } ::= { gmplsTunnelCHopTable 1 }
GmplsTunnelCHopEntry ::= SEQUENCE { GmplsTunnelCHopEntry ::= SEQUENCE {
gmplsTunnelCHopLabelStatuses BITS, gmplsTunnelCHopLabelStatuses BITS,
gmplsTunnelCHopExplicitLabel Unsigned32, gmplsTunnelCHopExpLabel Unsigned32,
gmplsTunnelCHopExpRvrsLabel Unsigned32 gmplsTunnelCHopExpLabelPtr RowPointer,
gmplsTunnelCHopExpRvrsLabel Unsigned32,
gmplsTunnelCHopExpRvrsLabelPtr RowPointer
} }
gmplsTunnelCHopLabelStatuses OBJECT-TYPE gmplsTunnelCHopLabelStatuses OBJECT-TYPE
SYNTAX BITS { SYNTAX BITS {
forwardPresent (0), forwardPresent (0),
reversePresent (1) reversePresent (1)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This bitmask indicates the presence indicated by the "This bitmask indicates the presence of labels indicated by the
gmplsTunnelCHopExplicitLabel and gmplsTunnelCHopExpLabel or gmplsTunnelCHopExpLabelPtr and
gmplsTunnelCHopExpRvrsLabel objects. gmplsTunnelCHopExpRvrsLabel or gmplsTunnelCHopExpRvrsLabelPtr
A set bit indicates that a label is present for this objects.
hop in the route thus allowing zero to be a valid A set bit indicates that a label is present for this hop in
label value." the route thus allowing zero to be a valid label value."
::= { gmplsTunnelCHopEntry 1 } ::= { gmplsTunnelCHopEntry 1 }
gmplsTunnelCHopExplicitLabel OBJECT-TYPE gmplsTunnelCHopExpLabel OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Indicates the row entry in the gmplsLabelTable that "If the gmplsTunnelCHopLabelStatuses object indicates
defines the label to use as the forward path label that a forward label is present and
on the path at this point. gmplsTunnelCHopExpLabelPtr contains the value
This value only has meaning if the forwardPresent zeroDotZero, then the label to use on this hop is
bit of gmplsTunnelCHopLabelStatuses is set. found in this object encoded within a 32-bit integer."
::= { gmplsTunnelCHopEntry 2 }
Note that the other indexes in the gmplsLabelTable gmplsTunnelCHopExpLabelPtr OBJECT-TYPE
should be interpreted as follows: SYNTAX RowPointer
- The gmplsLabelInterface should be zero because MAX-ACCESS read-only
this label is not tied to any specific interface STATUS current
on this LSR DESCRIPTION
- The gmplsLabelSubindex is used to represent label "If the gmplsTunnelCHopLabelStatuses object indicates
concatenations. The first (or only) component that a forward label is present, this object contains
label SHOULD have gmplsLabelSubindex set to zero. a pointer to a row in another MIB table (such as the
This variable is only valid for settings of gmplsLabelTable) that contains the label to use on
mplsTunnelCHopAddrType which may be associated with this hop in the forward direction.
a forward path label. If the gmplsTunnelCHopLabelStatuses object indicates that
a forward label is present and this object contains the
value zeroDotZero, then the label to use on this hop is
found in the gmplsTunnelCHopExpLabel object."
::= { gmplsTunnelCHopEntry 3 }
Note that in implementations where the label may be
encoded within a 32 bit integer and where
gmplsLabelTable is not implemented, this object may
directly contain the label value to use."
::= { gmplsTunnelCHopEntry 2 }
gmplsTunnelCHopExpRvrsLabel OBJECT-TYPE gmplsTunnelCHopExpRvrsLabel OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Indicates the row entry in the gmplsLabelTable that "If the gmplsTunnelCHopLabelStatuses object indicates
defines the label to use in the path as reverse path that a reverse label is present and
at this point. gmplsTunnelCHopExpRvrsLabelPtr contains the value
This value only has meaning if the reversePresent zeroDotZero, then the label to use on this hop is
bit of gmplsTunnelCHopLabelStatuses is set. found in this object encoded as a 32-bit integer."
The same rules and notes apply as set out for ::= { gmplsTunnelCHopEntry 4 }
gmplsTunnelCHopExplicitLabel." gmplsTunnelCHopExpRvrsLabelPtr OBJECT-TYPE
::= { gmplsTunnelCHopEntry 3 } SYNTAX RowPointer
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the gmplsTunnelCHopLabelStatuses object indicates
that a reverse label is present, this object contains
a pointer to a row in another MIB table (such as the
gmplsLabelTable) that contains the label to use on
this hop in the reverse direction.
If the gmplsTunnelCHopLabelStatuses object indicates that
a reverse label is present and this object contains the
value zeroDotZero, then the label to use on this hop is
found in the gmplsTunnelCHopExpRvrsLabel object."
::= { gmplsTunnelCHopEntry 5 }
-- End of gmplsTunnelCHopTable -- End of gmplsTunnelCHopTable
-- GMPLS Tunnel Reverse Direction Performance Table. -- GMPLS Tunnel Reverse Direction Performance Table.
gmplsTunnelReversePerfTable OBJECT-TYPE gmplsTunnelReversePerfTable OBJECT-TYPE
SYNTAX SEQUENCE OF GmplsTunnelReversePerfEntry SYNTAX SEQUENCE OF GmplsTunnelReversePerfEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
skipping to change at page 1, line 1343 skipping to change at page 26, line 41
reverse direction of a bidirectional tunnel. It can be reverse direction of a bidirectional tunnel. It can be
seen as supplementing the mplsTunnelPerfTable which seen as supplementing the mplsTunnelPerfTable which
augments the mplsTunnelTable." augments the mplsTunnelTable."
::= { gmplsTeObjects 5 } ::= { gmplsTeObjects 5 }
gmplsTunnelReversePerfEntry OBJECT-TYPE gmplsTunnelReversePerfEntry OBJECT-TYPE
SYNTAX GmplsTunnelReversePerfEntry SYNTAX GmplsTunnelReversePerfEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in this table is created by the LSR for "An entry in this table is created by the LSR for every
every bidirectional GMPLS tunnel where packets are bidirectional GMPLS tunnel where packets are visible to
visible to the LSR." the LSR."
AUGMENTS { gmplsTunnelEntry } AUGMENTS { gmplsTunnelEntry }
::= { gmplsTunnelReversePerfTable 1 } ::= { gmplsTunnelReversePerfTable 1 }
GmplsTunnelReversePerfEntry ::= SEQUENCE { GmplsTunnelReversePerfEntry ::= SEQUENCE {
gmplsTunnelReversePerfPackets Counter32, gmplsTunnelReversePerfPackets Counter32,
gmplsTunnelReversePerfHCPackets Counter64, gmplsTunnelReversePerfHCPackets Counter64,
gmplsTunnelReversePerfErrors Counter32, gmplsTunnelReversePerfErrors Counter32,
gmplsTunnelReversePerfBytes Counter32, gmplsTunnelReversePerfBytes Counter32,
gmplsTunnelReversePerfHCBytes Counter64 gmplsTunnelReversePerfHCBytes Counter64
} }
skipping to change at page 1, line 1356 skipping to change at page 27, line 4
AUGMENTS { gmplsTunnelEntry } AUGMENTS { gmplsTunnelEntry }
::= { gmplsTunnelReversePerfTable 1 } ::= { gmplsTunnelReversePerfTable 1 }
GmplsTunnelReversePerfEntry ::= SEQUENCE { GmplsTunnelReversePerfEntry ::= SEQUENCE {
gmplsTunnelReversePerfPackets Counter32, gmplsTunnelReversePerfPackets Counter32,
gmplsTunnelReversePerfHCPackets Counter64, gmplsTunnelReversePerfHCPackets Counter64,
gmplsTunnelReversePerfErrors Counter32, gmplsTunnelReversePerfErrors Counter32,
gmplsTunnelReversePerfBytes Counter32, gmplsTunnelReversePerfBytes Counter32,
gmplsTunnelReversePerfHCBytes Counter64 gmplsTunnelReversePerfHCBytes Counter64
} }
gmplsTunnelReversePerfPackets OBJECT-TYPE gmplsTunnelReversePerfPackets OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Number of packets forwarded on the tunnel in the "Number of packets forwarded on the tunnel in the
reverse direction if it is bidirectional." reverse direction if it is bidirectional."
::= { gmplsTunnelReversePerfEntry 1 } ::= { gmplsTunnelReversePerfEntry 1 }
gmplsTunnelReversePerfHCPackets OBJECT-TYPE gmplsTunnelReversePerfHCPackets OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"High capacity counter for number of packets "High capacity counter for number of packets forwarded on
forwarded on the tunnel in the reverse direction if the tunnel in the reverse direction if it is bidirectional."
it is bidirectional."
::= { gmplsTunnelReversePerfEntry 2 } ::= { gmplsTunnelReversePerfEntry 2 }
gmplsTunnelReversePerfErrors OBJECT-TYPE gmplsTunnelReversePerfErrors OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Number of errored packets received on the tunnel in "Number of errored packets received on the tunnel in
the reverse direction if it is bidirectional." the reverse direction if it is bidirectional."
::= { gmplsTunnelReversePerfEntry 3 } ::= { gmplsTunnelReversePerfEntry 3 }
skipping to change at page 1, line 1442 skipping to change at page 28, line 42
Systems that are vulnerable to this should read Systems that are vulnerable to this should read
gmplsTunnelErrorLastTime before and after reading the gmplsTunnelErrorLastTime before and after reading the
other objects." other objects."
AUGMENTS { mplsTunnelEntry } AUGMENTS { mplsTunnelEntry }
::= { gmplsTunnelErrorTable 1 } ::= { gmplsTunnelErrorTable 1 }
GmplsTunnelErrorEntry ::= SEQUENCE { GmplsTunnelErrorEntry ::= SEQUENCE {
gmplsTunnelErrorLastErrorType INTEGER, gmplsTunnelErrorLastErrorType INTEGER,
gmplsTunnelErrorLastTime TimeStamp, gmplsTunnelErrorLastTime TimeStamp,
gmplsTunnelErrorReporterType INTEGER, gmplsTunnelErrorReporterType INTEGER,
gmplsTunnelErrorReporterIpv4Addr InetAddressIPv4, gmplsTunnelErrorReporter InetAddress,
gmplsTunnelErrorReporterIpv6Addr InetAddressIPv6,
gmplsTunnelErrorCode Unsigned32, gmplsTunnelErrorCode Unsigned32,
gmplsTunnelErrorSubcode Unsigned32, gmplsTunnelErrorSubcode Unsigned32,
gmplsTunnelErrorTLVs OCTET STRING,
gmplsTunnelErrorHelpString DisplayString gmplsTunnelErrorHelpString DisplayString
} }
gmplsTunnelErrorLastErrorType OBJECT-TYPE gmplsTunnelErrorLastErrorType OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
noError (0), noError (0),
unknown (1), unknown (1),
localProtocol (2), localProtocol (2),
remoteProtocol (3), remoteProtocol (3),
configuration (4), configuration (4),
skipping to change at page 1, line 1497 skipping to change at page 29, line 29
localNode (1), localNode (1),
localIpV4 (2), localIpV4 (2),
remoteIpV4 (3), remoteIpV4 (3),
localIpV6 (4), localIpV6 (4),
remoteIpV6 (5) remoteIpV6 (5)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The reporter of the last error recorded. "The reporter of the last error recorded.
This object is used principally to aid in This object is used principally to aid in interpretation
interpretation of gmplsTunnelErrorReporterIpv4Addr of gmplsTunnelErrorReporterIpv4Addr and
and gmplsTunnelErrorReporterIpv6Addr. Where the gmplsTunnelErrorReporterIpv6Addr. Where the error has
error has been locally generated and there is no been locally generated and there is no requirement to
requirement to associate the error with any specific associate the error with any specific local address (such
local address (such as an interface), the value as an interface), the value localNode (2) may be used.
localNode (2) may be used.
If gmplsTunnelErrorLastError has the value noError If gmplsTunnelErrorLastError has the value noError
(0), then this object is ignored." (0), then this object is ignored."
::= { gmplsTunnelErrorEntry 3 } ::= { gmplsTunnelErrorEntry 3 }
gmplsTunnelErrorReporterIpv4Addr OBJECT-TYPE gmplsTunnelErrorReporter OBJECT-TYPE
SYNTAX InetAddressIPv4 SYNTAX InetAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The address of the node reporting the last error, or "The address of the node reporting the last error, or
the address of the resource (such as an interface) the address of the resource (such as an interface)
associated with the error. associated with the error.
If gmplsTunnelErrorLastErrorType has the value If gmplsTunnelErrorLastErrorType has the value
noError (0), then this object is ignored. noError (0), then this object is ignored.
This object only has meaning if the object This object should be interpreted in the context of
gmplsTunnelErrorReporterType has value localIpV4 (2) the value of the object gmplsTunnelErrorReporterType.
or remoteIpV4 (3). Otherwise the object should If that object has value localIpV4 (2) or remoteIpV4 (3),
contain the value zero and should be ignored." this object should be viewed as having a syntax of
InetAddressIPv4. If gmplsTunnelErrorReporterType has
value localIpV6 (3) or remoteIpV6 (5), this object should be
viewed as having a syntax of InetAddressIPv6. Otherwise the
object should contain the value zero and should be ignored."
REFERENCE
"RFC3291, Textual Conventions for Internet Network
Addresses, Section 4. Usage Hints."
::= { gmplsTunnelErrorEntry 4 } ::= { gmplsTunnelErrorEntry 4 }
gmplsTunnelErrorReporterIpv6Addr OBJECT-TYPE
SYNTAX InetAddressIPv6
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The address of the node reporting the last error, or
the address of the resource (such as an interface)
associated with the error.
If gmplsTunnelErrorLastErrorType has the value
noError (0), then this object is ignored.
This object only has meaning if the object
gmplsTunnelErrorReporterType has value localIpV6 (4)
or remoteIpV4 (5). Otherwise the object should
contain the value zero and should be ignored."
::= { gmplsTunnelErrorEntry 5 }
gmplsTunnelErrorCode OBJECT-TYPE gmplsTunnelErrorCode OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The primary error code associated with the last "The primary error code associated with the last
error. error.
The interpretation of this error code depends on the The interpretation of this error code depends on the
value of gmplsTunnelErrorLastErrorType. If the value value of gmplsTunnelErrorLastErrorType. If the value
skipping to change at page 1, line 1561 skipping to change at page 30, line 25
value of this object should be 0 and should be value of this object should be 0 and should be
ignored. If the value of ignored. If the value of
gmplsTunnelErrorLastErrorType is localProtocol (2) gmplsTunnelErrorLastErrorType is localProtocol (2)
or remoteProtocol (3) the error should be or remoteProtocol (3) the error should be
interpreted in the context of the signling protocol interpreted in the context of the signling protocol
identified by the mplsTunnelSignallingProto object. identified by the mplsTunnelSignallingProto object.
Values in excess 32767 of are not used by signaling Values in excess 32767 of are not used by signaling
protocols and may safely be used as implementation- protocols and may safely be used as implementation-
specific error codes. " specific error codes. "
::= { gmplsTunnelErrorEntry 6 } ::= { gmplsTunnelErrorEntry 5 }
gmplsTunnelErrorSubcode OBJECT-TYPE gmplsTunnelErrorSubcode OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The secondary error code associated with the last "The secondary error code associated with the last
error and the protocol used to signal this tunnel. error and the protocol used to signal this tunnel.
This value is interprettd in the context of the This value is interprettd in the context of the
value of gmplsTunnelErrorCode. value of gmplsTunnelErrorCode.
If the value of gmplsTunnelErrorLastErrorType is If the value of gmplsTunnelErrorLastErrorType is
noError (0) the value of this object should be 0 and noError (0) the value of this object should be 0 and
should be ignored." should be ignored."
::= { gmplsTunnelErrorEntry 7 } ::= { gmplsTunnelErrorEntry 6 }
gmplsTunnelErrorTLVs OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The sequence of interface identifier TLVs reported
with the error by the protocol code. The interpretation
of the TLVs and the encoding within the protocol are
described in the references.
A value of zero in the first octet indicates that no
TLVs are present."
REFERENCE
"RFC3471, Generalized Multi-Protocol Label Switching
(GMPLS) Signaling Functional Description,
Section 9.1. Interface Identification.
RFC3473, Generalized Multi-Protocol Label Switching
(GMPLS) Signaling Resource ReserVation Protocol-Traffic
Engineering (RSVP-TE) Extensions, Section 8.2. Errored
Interface Identification"
::= { gmplsTunnelErrorEntry 7 }
gmplsTunnelErrorHelpString OBJECT-TYPE gmplsTunnelErrorHelpString OBJECT-TYPE
SYNTAX DisplayString SYNTAX DisplayString
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A textual string containing information about the "A textual string containing information about the
last error, recovery actions and support advice. If last error, recovery actions and support advice. If
there is no help string this object contains a zero there is no help string this object contains a zero
length string. length string.
If the value of gmplsTunnelErrorLastErrorType is If the value of gmplsTunnelErrorLastErrorType is
noError (0) this object should contain a zero length noError (0) this object should contain a zero length
string, but may contain a help string indicating string, but may contain a help string indicating
that there is no error." that there is no error."
::= { gmplsTunnelErrorEntry 8 } ::= { gmplsTunnelErrorEntry 8 }
-- GMPLS Notifications.
gmplsTunnelDown NOTIFICATION-TYPE
OBJECTS {
mplsTunnelAdminStatus,
mplsTunnelOperStatus,
gmplsTunnelErrorLastErrorType,
gmplsTunnelErrorReporterType,
gmplsTunnelErrorReporter,
gmplsTunnelErrorCode,
gmplsTunnelErrorSubcode
}
STATUS current
DESCRIPTION
"This notification is generated when a
mplsTunnelOperStatus object for one of the
configured tunnels is about to enter the down state
from some other state (but not from the notPresent
state). This other state is indicated by the
included value of mplsTunnelOperStatus.
The objects in this notification provide additional
error information that indicates the reason why the
tunnel has transitioned down.
Note that an implementation SHOULD only issue one of
mplsTunnelDown and gmplsTunnelDown for a single event
on a single tunnel."
::= { gmplsTeNotifications 1 }
-- End of notifications.
-- Module compliance. -- Module compliance.
gmplsTeGroups gmplsTeGroups
OBJECT IDENTIFIER ::= { gmplsTeConformance 1 } OBJECT IDENTIFIER ::= { gmplsTeConformance 1 }
gmplsTeCompliances gmplsTeCompliances
OBJECT IDENTIFIER ::= { gmplsTeConformance 2 } OBJECT IDENTIFIER ::= { gmplsTeConformance 2 }
gmplsTeModuleCompliance MODULE-COMPLIANCE gmplsTeModuleCompliance MODULE-COMPLIANCE
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Compliance statement for agents that support the "Compliance statement for agents that support the
GMPLS TE MIB." GMPLS TE MIB."
MODULE -- this module MODULE -- this module
-- The mandatory group has to be implemented by all -- The mandatory group has to be implemented by all
-- LSRs that originate/terminate ESLSPs/tunnels. -- LSRs that originate/terminate ESLSPs/tunnels.
-- In addition, depending on the type of tunnels -- In addition, depending on the type of tunnels
skipping to change at page 1, line 1640 skipping to change at page 32, line 45
mplsTunnelSignallingProto should be at least read- mplsTunnelSignallingProto should be at least read-
only returning a value of ldp(2), or rsvp(3)." only returning a value of ldp(2), or rsvp(3)."
GROUP gmplsTunnelIsNotIntfcGroup GROUP gmplsTunnelIsNotIntfcGroup
DESCRIPTION DESCRIPTION
"This group is mandatory for devices which support "This group is mandatory for devices which support
tunnels that are not interfaces, in addition to tunnels that are not interfaces, in addition to
gmplsTunnelGroup. The following constraints apply: gmplsTunnelGroup. The following constraints apply:
gmplsTunnelIsIf must at least be read-only returning gmplsTunnelIsIf must at least be read-only returning no(0)."
no(0)."
GROUP gmplsTunnelIsIntfcGroup GROUP gmplsTunnelIsIntfcGroup
DESCRIPTION DESCRIPTION
"This group is mandatory for devices which support "This group is mandatory for devices which support
tunnels that are interfaces, in addition to tunnels that are interfaces, in addition to
gmplsTunnelGroup." gmplsTunnelGroup."
GROUP gmplsTunnelOptionalGroup GROUP gmplsTunnelOptionalGroup
DESCRIPTION DESCRIPTION
"Objects in this group are optional." "Objects in this group are optional."
GROUP gmplsTeNotificationGroup
DESCRIPTION "This group is mandatory for those implementations
which can implement the notifications contained
in this group."
-- GMPLS Tunnel scalars. -- GMPLS Tunnel scalars.
-- All scalars have max access read-only -- All scalars have max access read-only
-- gmplsTunnelTable -- gmplsTunnelTable
OBJECT gmplsTunnelAttributes OBJECT gmplsTunnelAttributes
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
skipping to change at page 1, line 1732 skipping to change at page 34, line 27
SYNTAX BITS { SYNTAX BITS {
delInProgress (0), delInProgress (0),
adminDown (1), adminDown (1),
testing (2), testing (2),
reflect (31) reflect (31)
} }
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT gmplsTunnelExtraParamsPtr
SYNTAX RowPointer
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
-- gmplsTunnelHopTable -- gmplsTunnelHopTable
-- gmplsTunnelHopLabelStatuses has max access read-only -- gmplsTunnelHopLabelStatuses has max access read-only
OBJECT gmplsTunnelHopExplicitLabel OBJECT gmplsTunnelHopExpLabel
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsTunnelHopExpLabelPtr
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT gmplsTunnelHopExpRvrsLabel OBJECT gmplsTunnelHopExpRvrsLabel
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT gmplsTunnelHopExpRvrsLabelPtr
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
-- gmplsTunnelARHopTable -- gmplsTunnelARHopTable
-- all objects have max access read-only -- all objects have max access read-only
-- glmpsTunnelCHopTable -- glmpsTunnelCHopTable
-- all objects have max access read-only -- all objects have max access read-only
-- gmplsTunnelReversePerfTable -- gmplsTunnelReversePerfTable
-- all objects have max access read-only -- all objects have max access read-only
-- gmplsTunnelErrorTable -- gmplsTunnelErrorTable
-- all objects have max access read-only -- all objects have max access read-only
::= { gmplsTeCompliances 1 } ::= { gmplsTeCompliances 1 }
skipping to change at page 1, line 1772 skipping to change at page 35, line 28
OBJECTS { OBJECTS {
gmplsTunnelDirection, gmplsTunnelDirection,
gmplsTunnelReversePerfPackets, gmplsTunnelReversePerfPackets,
gmplsTunnelReversePerfHCPackets, gmplsTunnelReversePerfHCPackets,
gmplsTunnelReversePerfErrors, gmplsTunnelReversePerfErrors,
gmplsTunnelReversePerfBytes, gmplsTunnelReversePerfBytes,
gmplsTunnelReversePerfHCBytes, gmplsTunnelReversePerfHCBytes,
gmplsTunnelErrorLastErrorType, gmplsTunnelErrorLastErrorType,
gmplsTunnelErrorLastTime, gmplsTunnelErrorLastTime,
gmplsTunnelErrorReporterType, gmplsTunnelErrorReporterType,
gmplsTunnelErrorReporterIpv4Addr, gmplsTunnelErrorReporter,
gmplsTunnelErrorReporterIpv6Addr,
gmplsTunnelErrorCode, gmplsTunnelErrorCode,
gmplsTunnelErrorSubcode, gmplsTunnelErrorSubcode,
gmplsTunnelErrorTLVs,
gmplsTunnelErrorHelpString gmplsTunnelErrorHelpString
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Necessary, but not sufficient, set of objects to implement "Necessary, but not sufficient, set of objects to implement
tunnels. In addition, depending on the type of the tunnels tunnels. In addition, depending on the type of the tunnels
supported (for example, manually configured or signaled, supported (for example, manually configured or signaled,
persistent or non-persistent, etc.), the following other persistent or non-persistent, etc.), the following other
groups defined below are mandatory: gmplsTunnelManualGroup groups defined below are mandatory: gmplsTunnelManualGroup
and/or gmplsTunnelSignaledGroup, gmplsTunnelIsNotIntfcGroup and/or gmplsTunnelSignaledGroup, gmplsTunnelIsNotIntfcGroup
skipping to change at page 1, line 1812 skipping to change at page 36, line 17
gmplsTunnelLSPEncoding, gmplsTunnelLSPEncoding,
gmplsTunnelSwitchingType, gmplsTunnelSwitchingType,
gmplsTunnelLinkProtection, gmplsTunnelLinkProtection,
gmplsTunnelGPid, gmplsTunnelGPid,
gmplsTunnelSecondary, gmplsTunnelSecondary,
gmplsTunnelPathComp, gmplsTunnelPathComp,
gmplsTunnelUpNotRecip, gmplsTunnelUpNotRecip,
gmplsTunnelDownNotRecip, gmplsTunnelDownNotRecip,
gmplsTunnelAdminStatusFlags, gmplsTunnelAdminStatusFlags,
gmplsTunnelHopLabelStatuses, gmplsTunnelHopLabelStatuses,
gmplsTunnelHopExplicitLabel, gmplsTunnelHopExpLabel,
gmplsTunnelHopExpRvrsLabel gmplsTunnelHopExpLabelPtr,
gmplsTunnelHopExpRvrsLabel,
gmplsTunnelHopExpRvrsLabelPtr
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects needed to implement signaled tunnels." "Objects needed to implement signaled tunnels."
::= { gmplsTeGroups 3 } ::= { gmplsTeGroups 3 }
gmplsTunnelScalarGroup OBJECT-GROUP gmplsTunnelScalarGroup OBJECT-GROUP
OBJECTS { OBJECTS {
gmplsTunnelsConfigured, gmplsTunnelsConfigured,
gmplsTunnelsActive gmplsTunnelsActive
} }
skipping to change at page 1, line 1849 skipping to change at page 37, line 4
gmplsTunnelIsNotIntfcGroup OBJECT-GROUP gmplsTunnelIsNotIntfcGroup OBJECT-GROUP
OBJECTS { OBJECTS {
gmplsTunnelUnnumIf gmplsTunnelUnnumIf
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects needed to implement tunnels that are not "Objects needed to implement tunnels that are not
interfaces." interfaces."
::= { gmplsTeGroups 6 } ::= { gmplsTeGroups 6 }
gmplsTunnelOptionalGroup OBJECT-GROUP gmplsTunnelOptionalGroup OBJECT-GROUP
OBJECTS { OBJECTS {
gmplsTunnelExtraParamsPtr,
gmplsTunnelARHopLabelStatuses, gmplsTunnelARHopLabelStatuses,
gmplsTunnelARHopExplicitLabel, gmplsTunnelARHopExpLabel,
gmplsTunnelARHopExpLabelPtr,
gmplsTunnelARHopExpRvrsLabel, gmplsTunnelARHopExpRvrsLabel,
gmplsTunnelARHopExpRvrsLabelPtr,
gmplsTunnelARHopProtection, gmplsTunnelARHopProtection,
gmplsTunnelCHopLabelStatuses, gmplsTunnelCHopLabelStatuses,
gmplsTunnelCHopExplicitLabel, gmplsTunnelCHopExpLabel,
gmplsTunnelCHopExpRvrsLabel gmplsTunnelCHopExpLabelPtr,
gmplsTunnelCHopExpRvrsLabel,
gmplsTunnelCHopExpRvrsLabelPtr
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The objects in this group are optional." "The objects in this group are optional."
::= { gmplsTeGroups 7 } ::= { gmplsTeGroups 7 }
gmplsTeNotificationGroup NOTIFICATION-GROUP
NOTIFICATIONS {
gmplsTunnelDown
}
STATUS current
DESCRIPTION
"Set of notifications implemented in this module.
None is mandatory."
::= { gmplsTeGroups 8 }
END END
9. Security Considerations 9. Security Considerations
It is clear that the MIB modules described in this document in It is clear that the MIB modules described in this document in
association with the MPLS-TE-STD-MIB are potentially useful for association with the MPLS-TE-STD-MIB are potentially useful for
monitoring of MPLS and GMPLS tunnels. These MIB modules can also be monitoring of MPLS and GMPLS tunnels. These MIB modules can also be
used for configuration of certain objects, and anything that can be used for configuration of certain objects, and anything that can be
configured can be incorrectly configured, with potentially disastrous configured can be incorrectly configured, with potentially disastrous
results. results.
skipping to change at page 1, line 1927 skipping to change at page 38, line 39
Further, deployment of SNMP versions prior to SNMPv3 is NOT Further, deployment of SNMP versions prior to SNMPv3 is NOT
RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to
enable cryptographic security. It is then a customer/operator enable cryptographic security. It is then a customer/operator
responsibility to ensure that the SNMP entity giving access to an responsibility to ensure that the SNMP entity giving access to an
instance of this MIB module, is properly configured to give access to instance of this MIB module, is properly configured to give access to
the objects only to those principals "users" that have legitimate the objects only to those principals "users" that have legitimate
rights to indeed GET or SET "change/create/delete" them. rights to indeed GET or SET "change/create/delete" them.
10. Acknowledgments 10. Acknowledgments
This draft extends [TEMIB]. The authors would like to express their This document extends [TEMIB]. The authors would like to express
gratitude to all those who worked on that earlier MIB document. their gratitude to all those who worked on that earlier MIB document.
Thanks also to Tony Zinicola and Jeremy Crossen for their valuable Thanks also to Tony Zinicola and Jeremy Crossen for their valuable
contributions during an early implementation, and to Baktha contributions during an early implementation, and to Baktha
Muralidharan for his review. Muralidharan for his review.
Special thanks to Joan Cucchiara and Len Nieman for their help with Special thanks to Joan Cucchiara and Len Nieman for their help with
compilation issues. compilation issues.
11. References 11. References
11.1. Normative References 11.1. Normative References
skipping to change at page 1, line 1973 skipping to change at page 39, line 30
Srinivasan, V., and G. Swallow, "RSVP-TE: Srinivasan, V., and G. Swallow, "RSVP-TE:
Extensions to RSVP for LSP Tunnels", RFC 3209, Extensions to RSVP for LSP Tunnels", RFC 3209,
December 2001. December 2001.
[RFC3212] Jamoussi, B., Aboul-Magd, O., Andersson, L., [RFC3212] Jamoussi, B., Aboul-Magd, O., Andersson, L.,
Ashwood-Smith, P., Hellstrand, F., Sundell, K., Ashwood-Smith, P., Hellstrand, F., Sundell, K.,
Callon, R., Dantu, R., Wu, L., Doolan, P., Worster, Callon, R., Dantu, R., Wu, L., Doolan, P., Worster,
T., Feldman, N., Fredette, A., Girish, M., Gray, T., Feldman, N., Fredette, A., Girish, M., Gray,
E., Halpern, J., Heinanen, J., Kilty, T., Malis, E., Halpern, J., Heinanen, J., Kilty, T., Malis,
A., and P. Vaananen, "Constraint-Based LSP Setup A., and P. Vaananen, "Constraint-Based LSP Setup
using LDP", RFC 3212, December 2001." using LDP", RFC 3212, December 2001.
[RFC3291] Daniele, M., Haberman, B., Routhier, S.,
Schoenwaelder, J., and Braunschweig, TU, "Textual
Conventions for Internet Network Addresses",
RFC3291, May 2002
[RFC3471] Berger, L. (Editor), "Generalized Multi-Protocol [RFC3471] Berger, L. (Editor), "Generalized Multi-Protocol
Label Switching (GMPLS) Signaling Functional Label Switching (GMPLS) Signaling Functional
Description", RFC 3471, January 2003. Description", RFC 3471, January 2003.
[RFC3472] Ashwood-Smith, P., Berger, L. (Editors), [RFC3472] Ashwood-Smith, P., Berger, L. (Editors),
"Generalized MPLS Signaling - CR-LDP Extensions", "Generalized MPLS Signaling - CR-LDP Extensions",
RFC 3472, January 2003. RFC 3472, January 2003.
[RFC3473] Berger, L. (Editor), "Generalized MPLS Signaling - [RFC3473] Berger, L. (Editor), "Generalized MPLS Signaling -
RSVP-TE Extensions", RFC 3473, January 2003. RSVP-TE Extensions", RFC 3473, January 2003.
[RFC3477] Kompella, K. and Rekhter, Y., "Signalling Unnumbered [RFC3477] Kompella, K. and Rekhter, Y., "Signalling Unnumbered
Links in RSVP-TE", RFC 3477, January 2003. Links in RSVP-TE", RFC 3477, January 2003.
[RFC3480] Kompella, K., Rekhter, Y. and Kullberg, A., [RFC3480] Kompella, K., Rekhter, Y. and Kullberg, A.,
"Signalling Unnumbered Links in CR-LDP", RFC 3480, "Signalling Unnumbered Links in CR-LDP", RFC 3480,
February 2003. February 2003.
[GMPLSArch] Mannie, E. (Editor), "Generalized Multiprotocol [GMPLSArch] Mannie, E. (Editor), "Generalized Multiprotocol
Label Switching (GMPLS) Architecture", Internet Label Switching (GMPLS) Architecture",
Draft <draft-many-gmpls-architecture-07.txt>, May draft-many-gmpls-architecture-07.txt, May
2003, work in progress. 2003, work in progress.
[GMPLSLSRMIB] Nadeau, T., Srinivasan, C., A., Farrel, A., Hall, [GMPLSLSRMIB] Nadeau, T., Srinivasan, C., A., Farrel, A., Hall,
T., and Harrison, E., "Generalized Multiprotocol T., and Harrison, E., "Generalized Multiprotocol
Label Switching (GMPLS) Label Switching Router Label Switching (GMPLS) Label Switching Router
(LSR) Management Information Base", draft-ietf- (LSR) Management Information Base", draft-ietf-
ccamp-gmpls-lsr-mib-03.txt, November 2003, work in ccamp-gmpls-lsr-mib-04.txt, February 2004, work in
progress. progress.
[GMPLSOSPF] Kompella, K., et al., "OSPF Extensions in Support [GMPLSOSPF] Kompella, K., et al., "OSPF Extensions in Support
of Generalized MPLS", draft-ietf-ccamp-ospf-gmpls- of Generalized MPLS", draft-ietf-ccamp-ospf-gmpls-
extensions-11.txt, October 2002, work in progress. extensions-12.txt, October 2003, work in progress.
[GMPLSTCMIB] Nadeau, T., Srinivasan, C., Farrel, A., Hall, T., [GMPLSTCMIB] Nadeau, T., Srinivasan, C., Farrel, A., Hall, T.,
and Harrison, E., "Definitions of Textual and Harrison, E., "Definitions of Textual
Conventions for Multiprotocol Label Switching Conventions for Multiprotocol Label Switching
(MPLS) Management", draft-ietf-ccamp-gmpls-te-mib- (MPLS) Management", draft-ietf-ccamp-gmpls-te-mib-
03.txt, November 2003, work in progress. 04.txt, February 2004, work in progress.
[LSRMIB] Srinivasan, C., Viswanathan, A. and T. Nadeau, [LSRMIB] Srinivasan, C., Viswanathan, A. and T. Nadeau,
"Multiprotocol Label Switching (MPLS) Label "Multiprotocol Label Switching (MPLS) Label
Switching Router (LSR) Management Information Switching Router (LSR) Management Information
Base", Internet Draft <draft-ietf-mpls-lsr-mib- Base", draft-ietf-mpls-lsr-mib-14.txt, November
12.txt>, August 2003, work in progress. 2003, work in progress.
[TCMIB] Nadeau, T., Cucchiara, J. (Editors) "Definitions of [TCMIB] Nadeau, T., Cucchiara, J. (Editors) "Definitions of
Textual Conventions for Multiprotocol Label Textual Conventions for Multiprotocol Label
Switching (MPLS) Management", Internet Draft Switching (MPLS) Management",
<draft-ietf-mpls-tc-mib-09.txt>, August 2003, work draft-ietf-mpls-tc-mib-10.txt, November 2003, work
in progress. in progress.
[TEMIB] Nadeau, T., Srinivasan, C, Viswanathan, A., [TEMIB] Nadeau, T., Srinivasan, C, Viswanathan, A.,
"Multiprotocol Label Switching (MPLS) Traffic "Multiprotocol Label Switching (MPLS) Traffic
Engineering Management Information Base", Internet Engineering Management Information Base",
Draft <draft-ietf-mpls-te-mib-12.txt>, August 2003, draft-ietf-mpls-te-mib-14.txt, November 2003,
work in progress. work in progress.
11.2. Informational References 11.2. Informational References
[RFC2026] S. Bradner, "The Internet Standards Process -- [RFC2026] S. Bradner, "The Internet Standards Process --
Revision 3", RFC 2026, October 1996. Revision 3", RFC 2026, October 1996.
[RFC3413] Levi, D., Meyer, P., Stewart, B., "SNMP [RFC3413] Levi, D., Meyer, P., Stewart, B., "SNMP
Applications", RFC 3413, December 2002. Applications", RFC 3413, December 2002.
skipping to change at page 1, line 2078 skipping to change at page 41, line 32
Old Dog Consulting Old Dog Consulting
Phone: +44-(0)-1978-860944 Phone: +44-(0)-1978-860944
Email: adrian@olddog.co.uk Email: adrian@olddog.co.uk
Tim Hall Tim Hall
Data Connection Ltd. Data Connection Ltd.
100 Church Street 100 Church Street
Enfield, Middlesex Enfield, Middlesex
EN2 6BQ, UK EN2 6BQ, UK
Phone: +44 20 8366 1177 Phone: +44 20 8366 1177
Email: timhall@dataconnection.com Email: tim.hall@dataconnection.com
Ed Harrison Ed Harrison
Data Connection Ltd. Data Connection Ltd.
100 Church Street 100 Church Street
Enfield, Middlesex Enfield, Middlesex
EN2 6BQ, UK EN2 6BQ, UK
Phone: +44 20 8366 1177 Phone: +44 20 8366 1177
Email: ed.harrison@dataconnection.com Email: ed.harrison@dataconnection.com
13. Full Copyright Statement 13. Full Copyright Statement
Copyright (C) The Internet Society (2003). All Rights Reserved. Copyright (C) The Internet Society (2004). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for developing Internet standards in which case the procedures for
skipping to change at page 1, line 2147 skipping to change at page 42, line 48
This section to be removed before the draft progresses to RFC. This section to be removed before the draft progresses to RFC.
15.1. Pending Work 15.1. Pending Work
The following work items have been identified for this draft. They The following work items have been identified for this draft. They
will be addressed in a future version. will be addressed in a future version.
- Expand conformance statements to give one for monitoring only, - Expand conformance statements to give one for monitoring only,
and one for monitoring and control. and one for monitoring and control.
- Consider a way to expose tunnel head, tunnel tail, and tunnel
transit entries through distinct indexing or tables.
- Provide support for configuring tunnel resources in GMPLS
systems. For example, SONET/SDH or G.709. This might be done
through an arbitrary RowPointer to an external MIB.
- Crankback request and reported information.
- Add support for IF_ID control and error reporting.
- Add LSR or interface config for Hellos and restart options.
- Update enumerated types in line with latest GMPLS drafts. Examine
how these can be managed by IANA.
- Resolve ownership of enumerated types that are also defined in
GMPLS or routing drafts. These could be owned by IANA, imported
from another MIB, or manually kept in step here. If they are not
maintained externally then they are likely to diverge and MIB
implementations will need to provide mappings.
- Update MIB description in section 5.
15.2. Changes from version 2 to version 3 15.2. Changes from version 3 to version 4
- Provide a way to configure additional tunnel parameters such as
tunnel resources through an arbitrary row pointer.
- Update references.
- Change reporting IP addresses to use InetAddress syntax
- Add support for IF_ID error reporting.
- Add a new notification, gmplsTunnelDown, containing cause
information.
- Clarify relationship to the gmplsLabelTable.
- Update descriptive text.
- Bring usage of labels in line with latest [LSRMIB].
15.3. Changes from version 2 to version 3
- Work on basic compilation issues. - Work on basic compilation issues.
- Resolve defaults for objects with syntax BITS. - Resolve defaults for objects with syntax BITS.
- Update references. - Update references.
- Clarify which objects can be modified when rowStatus and - Clarify which objects can be modified when rowStatus and
adminStatus are set to active. adminStatus are set to active.
- Control and reporting of upstream and downstream Notify - Control and reporting of upstream and downstream Notify
Recipients. Recipients.
- Add support for control and reporting of GMPLS Administrative - Add support for control and reporting of GMPLS Administrative
Status object. Status object.
- Update examples. - Update examples.
Network Working Group Thomas D. Nadeau
Internet Draft Cisco Systems, Inc.
Expires: May 2004
Cheenu Srinivasan
Bloomberg L.P.
Adrian Farrel
Old Dog Consulting
Tim Hall
Ed Harrison
Data Connection Ltd.
November 2003
Generalized Multiprotocol Label Switching (GMPLS)
Label Switching Router (LSR) Management Information Base
draft-ietf-ccamp-gmpls-lsr-mib-03.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.
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 to configure and/or
monitor a Generalized Multiprotocol Label Switching (GMPLS) Label
Switching Router (LSRs).
Table of Contents
1. Introduction 2
1.1. Migration Strategy 2
2. Terminology 3
3. The SNMP Management Framework 3
4. Outline 3
4.1. Summary of the GMPLS LSR MIB Module 4
5. Bidirectional LSPs 4
6. Example of LSP Setup 5
7. GMPLS Label Switching Router MIB Definitions 6
8. GMPLS Label MIB Definitions 14
9. Security Considerations 25
10. Acknowledgments 26
11. IANA Considerations 27
11.1. IANA Considerations for GMPLS-LSR-STD-MIB 27
11.2. IANA Considerations FOR GMPLS-LABEL-STD-MIB 27
12. References 27
12.1. Normative References 27
12.2. Informational References 28
13. Authors' Addresses 29
14. Full Copyright Statement 30
15. Intellectual Property Notice 30
16. Changes and Pending Work 31
16.1. Pending Work 31
1. Introduction
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 a
Generalized Multiprotocol Label Switching (GMPLS) [GMPLSArch] Label
Switching Router (LSR).
Comments should be made directly to the CCAMP mailing list at
ccamp@ops.ietf.org.
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].
1.1. Migration Strategy
This MIB module extends the Label Switching Router MIB module defined
for use with MPLS [LSRMIB]. The only changes made are additions for
support of GMPLS or changes that are necessary to support the
increased complexity of a GMPLS system.
The companion document modeling and managing GMPLS based traffic
engineering [GMPLSTEMIB] extends the MPLS TE MIB module [TEMIB] with
the same intentions.
Textual conventions and OBJECT-IDENTIFIERS are defined in
[GMPLSTCMIB] which extends the set of textual conventions originally
defined in [TCMIB].
2. Terminology
This document uses terminology from the document describing the MPLS
architecture [RFC3031] and the GMPLS architecture [GMPLSArch].
A label switched path (LSP) is modeled as a connection consisting of
one or more incoming segments (in-segments) and/or one or more
outgoing segments (out-segments) at an LSR. The association or
interconnection of the in-segments and out-segments is accomplished
by using a cross-connect. We use the terminology "connection" and
"LSP" interchangeably where the meaning is clear from the context.
in-segment This is analogous to a GMPLS label on an interface.
out-segment This is analogous to a GMPLS label on an interface.
cross-connect This describes the conceptual connection between a
set of in-segments and out-segments.
Note that either set may be 0; that is, a cross-
connect may connect only out-segments together with
no in-segments in the case where an LSP is
originating on an LSR.
3. The SNMP 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].
4. Outline
Configuring statically provisioned GMPLS LSPs through an LSR involves
the following steps:
- Configuring an interface using the MPLS LSR MIB module.
- Enabling GMPLS on GMPLS capable interfaces using this MIB module.
- Configuring in-segments and out-segments using the MPLS LSR MIB
module.
- Configuring GMPLS extensions to the in-segments and out-segments
using this MIB module.
- Setting up the cross-connect table in the MPLS LSR MIB module to
associate segments and/or to indicate connection origination and
termination.
- Optionally setting up labels in the label table in this MIB module
if the textual convention
MplsLabel is not capable of holding the required label (for
example, if the label requires more than 32 bits to encode it), or
if the operator wishes to disambiguate GMPLS label types.
- Optionally specifying label stack actions in the MPLS LSR MIB
module.
- Optionally specifying segment traffic parameters in the MPLS LSR
MIB module.
4.1. Summary of the GMPLS LSR MIB Module
The MIB tables in this MIB module are as follows.
- The interface configuration table (gmplsInterfaceTable), which
extends mplsInterfaceTable to enable the GMPLS protocol on MPLS-
capable interfaces.
- The in-segment (gmplsInSegmentTable) and out-segment
(gmplsOutSegmentTable) tables extend mplsInSegmentTable and
mplsOutSegmentTable to configuring GMPLS-specific parameters for
LSP segments at an LSR.
- The gmplsLabelTable extends mplsLabelTable and allows Generalized
Labels to be defined and managed in a central location.
Generalized Labels can be of variable length and have distinct
bit-by-bit interpretations according to the use that is made of
them.
These tables are described in the subsequent sections.
5. Bidirectional LSPs
This MIB supports bidirectional LSPs as required for GMPLS.
A single value of mplsXCIndex is shared by all of the segments for
the entire bidirectional LSP. This facilitates a simple reference
from [TEMIB] and [GMPLSTEMIB], and makes fate-sharing more obvious.
It is, however, important that the direction of segments is
understood to avoid connecting all in-segments to all out-segments.
This is achieved by an object in each segment that indicates the
direction of the segment with respect to data flow.
A segment that is marked as 'forward' carries data from the 'head' of
the LSP to the 'tail'. A segment marked as 'reverse' carries data in
the reverse direction.
Where an LSP is signaled using a conventional signaling protocol, the
'head' of the LSP is the source of the signaling (also known as the
ingress) and the 'tail' is the destination (also known as the
egress). For manually configured LSPs an arbitrary decision must be
made about which segments are 'forward' and which 'reverse'. For
consistency this decision should be made across all LSRs that
participate in the LSP by assigning 'head' and 'tail' ends to the
LSP.
6. Example of LSP Setup
In this section we provide a brief example of using the MIB objects
described in section 9 to set up an LSP. 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. A prerequisite is an
understanding of [LSRMIB].
Suppose that one would like to manually create a best-effort, bi-
directional LSP. Assume that, in the forward direction, the LSP
enters the LSR via MPLS interface A with ifIndex 12 and exits the LSR
via MPLS interface B with ifIndex 13. For the reverse direction, we
assume the LSP enters via interface B and leaves via interface A
(i.e. the forward and reverse directions use the same bi-directional
interfaces). Let us also assume that we do not wish to have a label
stack beneath the top label on the outgoing labeled packets. The
following example illustrates which rows and corresponding objects
might be created to accomplish this.
We must first create rows in the gmplsLabelTable corresponding to the
labels required for each of the forward and reverse direction in- and out-
segments. For the purpose of this example the forward and reverse labels
on each interface will be the same, hence we need to create just two
rows in the gmplsLabelTable - one for each interface.
In gmplsLabelTable:
{
gmplsLabelInterface = 12,
gmplsLabelIndex = 1,
gmplsLabelSubindex = 1,
gmplsLabelType = gmplsFreeformGeneralizedLabel(3),
gmplsLabelMplsLabel = 0,
gmplsLabelPortWavelength = 0,
gmplsLabelFreeformLength = 8,
gmplsLabelFreeform = 0x123456789ABCDEF0
gmplsLabelSonetSdhSignalIndex = 0,
gmplsLabelSdhVc = 0,
gmplsLabelSdhVcBranch = 0,
gmplsLabelSonetSdhBranch = 0,
gmplsLabelSonetSdhGroupBranch = 0,
gmplsLabelWavebandId = 0,
gmplsLabelWavebandStartLabel = 0,
gmplsLabelWavebandEndLabel = 0,
gmplsLabelRowStatus = createAndGo(4),
gmplsLabelStorageType = 0
}
In gmplsLabelTable:
{
gmplsLabelInterface = 13,
gmplsLabelIndex = 1,
gmplsLabelSubindex = 1,
gmplsLabelType = gmplsFreeformGeneralizedLabel(3),
gmplsLabelMplsLabel = 0,
gmplsLabelPortWavelength = 0,
gmplsLabelFreeformLength = 8,
gmplsLabelFreeform = 0xFEDCBA9876543210
gmplsLabelSonetSdhSignalIndex = 0,
gmplsLabelSdhVc = 0,
gmplsLabelSdhVcBranch = 0,
gmplsLabelSonetSdhBranch = 0,
gmplsLabelSonetSdhGroupBranch = 0,
gmplsLabelWavebandId = 0,
gmplsLabelWavebandStartLabel = 0,
gmplsLabelWavebandEndLabel = 0,
gmplsLabelRowStatus = createAndGo(4),
gmplsLabelStorageType = 0
}
We must next create the appropriate in-segment and out-segment entries.
These are done in [LSRMIB] using the mplsInSegmentTable and
mplsOutSegmentTable. Note that we use a row pointer to the two rows in the
gmplsLableTable rather than specifying the labels explicitly in the
in- and out-segment tables. Also note that the row status for each row
is set to createAndWait(5) to allow corresponding entries in the
gmplsInSegmentTable and gmplsOutSegmentTable to be created.
For the forward direction.
In mplsInSegmentTable:
{
mplsInSegmentIndex = 0x00000015
mplsInSegmentLabel = 0, -- incoming label in label table
mplsInSegmentNPop = 1,
mplsInSegmentInterface = 12, -- incoming interface
-- RowPointer MUST point to the first accesible column.
mplsInSegmentLabelPtr = gmplsLabelInterface.1,
mplsInSegmentTrafficParamPtr = 0.0,
mplsInSegmentRowStatus = createAndWait(5)
}
In mplsOutSegmentTable:
{
mplsOutSegmentIndex = 0x00000012,
mplsOutSegmentInterface = 13, -- outgoing interface
mplsOutSegmentPushTopLabel = true(1),
mplsOutSegmentTopLabel = 0, -- outgoing label in label table
-- RowPointer MUST point to the first accesible column.
mplsOutSegmentTrafficParamPtr = 0.0,
mplsOutSegmentLabelPtr = gmplsLabelInterface.2,
mplsOutSegmentRowStatus = createAndWait(5)
}
For the reverse direction.
In mplsInSegmentTable:
{
mplsInSegmentIndex = 0x00000016
mplsInSegmentLabel = 0, -- incoming label in label table
mplsInSegmentNPop = 1,
mplsInSegmentInterface = 13, -- incoming interface
-- RowPointer MUST point to the first accesible column.
mplsInSegmentLabelPtr = gmplsLabelInterface.2,
mplsInSegmentTrafficParamPtr = 0.0,
mplsInSegmentRowStatus = createAndWait(5)
}
In mplsOutSegmentTable:
{
mplsOutSegmentIndex = 0x00000013,
mplsOutSegmentInterface = 12, -- outgoing interface
mplsOutSegmentPushTopLabel = true(1),
mplsOutSegmentTopLabel = 0, -- outgoing label in label table
-- RowPointer MUST point to the first accesible column.
mplsOutSegmentTrafficParamPtr = 0.0,
mplsOutSegmentLabelPtr = gmplsLabelInterface.1,
mplsOutSegmentRowStatus = createAndWait(5)
}
These table entries are extended by entries in gmplsInSegmentTable
and gmplsOutSegmentTable. Note that the nature of the 'extends'
relationship is that the entry in gmplsInSegmentTable has the same
index values as the entry in mplsInSegmentTable. Similarly, the entry
in gmplsOutSegmentTable has the same index values as the entry in
mplsOutSegmentTable.
First for the forward direction:
In gmplsInSegmentTable(0x00000015)
{
gmplsInSegmentDirection = forward (1)
}
In gmplsOutSegmentTable(0x00000012)
{
gmplsOutSegmentDirection = forward (1),
gmplsOutSegmentTTLDecrement = 1
}
Next for the reverse direction:
In gmplsInSegmentTable(0x00000016)
{
gmplsInSegmentDirection = reverse (2)
}
In gmplsOutSegmentTable(0x00000013)
{
gmplsOutSegmentDirection = reverse (2),
gmplsOutSegmentTTLDecrement = 1
}
Next, two cross-connect entries are created in the mplsXCTable of the
MPLS LSR MIB, thereby associating the newly created segments
together.
In mplsXCTable:
{
mplsXCIndex = 0x01,
mplsXCInSegmentIndex = 0x00000015,
mplsXCOutSegmentIndex = 0x00000012,
mplsXCLspId = 0x0102 -- unique ID
mplsXCLabelStackIndex = 0x00, -- only a single
-- outgoing label
mplsXCRowStatus = createAndGo(4)
}
In mplsXCTable:
{
mplsXCIndex = 0x02,
mplsXCInSegmentIndex = 0x00000016,
mplsXCOutSegmentIndex = 0x00000013,
mplsXCLspId = 0x0102 -- unique ID
mplsXCLabelStackIndex = 0x00, -- only a single
-- outgoing label
mplsXCRowStatus = createAndGo(4)
}
Finally, the in-segments and out-segments are activated.
In mplsInSegmentTable(0x00000015):
{
mplsInSegmentRowStatus = active(1)
}
In mplsInSegmentTable(0x00000016):
{
mplsInSegmentRowStatus = active(1)
}
In mplsOutSegmentTable(0x00000012):
{
mplsOutSegmentRowStatus = active(1)
}
In mplsOutSegmentTable(0x00000013):
{
mplsOutSegmentRowStatus = active(1)
}
7. GMPLS Label Switching Router MIB Definitions
GMPLS-LSR-STD-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
FROM SNMPv2-SMI
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
GmplsSegmentDirection, gmplsStdMIB
FROM GMPLS-TC-STD-MIB
mplsInterfaceIndex, mplsInSegmentIndex, mplsOutSegmentIndex
FROM MPLS-LSR-STD-MIB
;
gmplsLsrStdMIB MODULE-IDENTITY
LAST-UPDATED
"200310300900Z" -- 30 October 2003 9:00:00 GMT"
ORGANIZATION
"Common Control And Management Protocols (CCAMP)
Working Group"
CONTACT-INFO
" Thomas D. Nadeau
Cisco Systems, Inc.
Email: tnadeau@cisco.com
Cheenu Srinivasan
Bloomberg L.P.
Email: cheenu@bloomberg.net
Adrian Farrel
Old Dog Consulting
Email: adrian@olddog.co.uk
Ed Harrison
Data Connection Ltd.
Email: ed.harrison@dataconnection.com
Tim Hall
Data Connection Ltd.
Email: timhall@dataconnection.com
Comments about this document should be emailed direct to the
CCAMP working group mailing list at ccamp@ops.ietf.org"
DESCRIPTION
"This MIB module contains managed object definitions
for the Generalized Multiprotocol Label Switching
(GMPLS) Router as defined in: Ashwood-Smith et al.,
Generalized Multiprotocol Label Switching (GMPLS)
Architecture, Internet Draft <draft-many-gmpls-
architecture-01.txt>, March 2001, work in progress.
Copyright (C) The Internet Society (2003). This
version of this MIB module is part of RFCXXX; see
the RFC itself for full legal notices."
-- Revision history.
REVISION
"200310300900Z" -- 30 October 2003 09:00:00 GMT
DESCRIPTION
"Initial revision, published as part of RFC XXXX."
::= { gmplsStdMIB xx }
-- Top level components of this MIB module.
-- Notifications
-- no notifications are currently defined.
gmplsLsrNotifications OBJECT IDENTIFIER ::= { gmplsLsrStdMIB 0 }
-- Tables, Scalars
gmplsLsrObjects OBJECT IDENTIFIER ::= { gmplsLsrStdMIB 1 }
-- Conformance
gmplsLsrConformance OBJECT IDENTIFIER ::= { gmplsLsrStdMIB 2 }
-- GMPLS Interface Table.
gmplsInterfaceTable OBJECT-TYPE
SYNTAX SEQUENCE OF GmplsInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table specifies per-interface GMPLS capability
and associated information. It extends the
information in mplsInterfaceTable."
::= { gmplsLsrObjects 1 }
gmplsInterfaceEntry OBJECT-TYPE
SYNTAX GmplsInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row in this table is created
automatically by an LSR for every interface capable
of supporting GMPLS and which is configured to do
so. A conceptual row in this table will exist if and
only if a corresponding entry in mplsInterfaceTable
exists, and a corresponding entry in ifTable exists
with ifType = mpls(166). If the associated entry in
ifTable is operationally disabled (thus removing the
GMPLS capabilities on the interface) or the entry in
mplsInterfaceTable is deleted, the corresponding
entry in this table MUST be deleted shortly
thereafter.
The indexing is the same as that for mplsInterfaceTable.
Thus, the entry with index 0 represents the per-platform
label space and contains parameters that apply to all
interfaces that participate in the per-platform label space."
INDEX { mplsInterfaceIndex }
::= { gmplsInterfaceTable 1 }
GmplsInterfaceEntry ::= SEQUENCE {
gmplsInterfaceSignalingCaps BITS
}
gmplsInterfaceSignalingCaps OBJECT-TYPE
SYNTAX BITS {
unknown (0),
rsvpGmpls (1),
crldpGmpls (2), -- note the use of CR-LDP is deprecated
otherGmpls (3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Defines the signaling capabilities on this
interface. Multiple bits may legitimately be set at
once. Setting no bits implies that GMPLS signaling
cannot be performed on this interface and all LSPs
must be manually provisioned."
::= { gmplsInterfaceEntry 1 }
-- End of gmplsInterfaceTable
-- In-segment table.
gmplsInSegmentTable OBJECT-TYPE
SYNTAX SEQUENCE OF GmplsInSegmentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table extends the mplsInSegmentTable to provide
GMPLS-specific information about incoming segments
to an LSR."
::= { gmplsLsrObjects 2 }
gmplsInSegmentEntry OBJECT-TYPE
SYNTAX GmplsInSegmentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in this table extends the representation of
an incoming segment represented by an entry in
mplsInSegmentTable. An entry can be created by a
network administrator or an SNMP agent, or a GMPLS
signaling protocol.
Note that the storage type for this entry SHOULD be
inherited from the corresponding entry in the
mplsInSegmentTable given by the value of the
mplsInSegmentStorageType object."
INDEX { mplsInSegmentIndex }
::= { gmplsInSegmentTable 1 }
GmplsInSegmentEntry ::= SEQUENCE {
gmplsInSegmentDirection GmplsSegmentDirection
}
gmplsInSegmentDirection OBJECT-TYPE
SYNTAX GmplsSegmentDirection
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object indicates the direction of data flow on
this segment. This object cannot be modified if
mplsInSegmentRowStatus for the associated entry in
the mplsInSegmentTable is active(1)."
DEFVAL { forward }
::= { gmplsInSegmentEntry 1 }
-- End of gmplsInSegmentTable
-- Out-segment table.
gmplsOutSegmentTable OBJECT-TYPE
SYNTAX SEQUENCE OF GmplsOutSegmentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table extends the mplsOutSegmentTable to
provide GMPLS-specific information about outgoing
segments from an LSR."
::= { gmplsLsrObjects 3 }
gmplsOutSegmentEntry OBJECT-TYPE
SYNTAX GmplsOutSegmentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in this table extends the representation of
an outgoing segment represented by an entry in
mplsOutSegmentTable. An entry can be created by a
network administrator or an SNMP agent, or a GMPLS
signaling protocol.
Note that the storage type for this entry SHOULD be
inherited from the corresponding entry in the
mplsOutSegmentTable given by the value of the
mplsOutSegmentStorageType object."
INDEX { mplsOutSegmentIndex }
::= { gmplsOutSegmentTable 1 }
GmplsOutSegmentEntry ::= SEQUENCE {
gmplsOutSegmentDirection GmplsSegmentDirection,
gmplsOutSegmentTTLDecrement Unsigned32
}
gmplsOutSegmentDirection OBJECT-TYPE
SYNTAX GmplsSegmentDirection
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object indicates the direction of data flow on
this segment. This object cannot be modified if
mplsOutSegmentRowStatus for the associated entry in
the mplsOutSegmentTable is active(1)."
DEFVAL { forward }
::= { gmplsOutSegmentEntry 1 }
gmplsOutSegmentTTLDecrement OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object indicates the amount by which to
decrement the TTL of any payload packets forwarded
on this segment if per-hop decrementing is being
done.
A value of zero indicates that no decrement should
be made or that per-hop decrementing is not in
force.
See the gmplsTunnelTTLDecrement object in the
gmplsTunnelTable of [GMPLSTEMIB] for a value by
which to decrement the TTL for the whole of a
tunnel.
This object cannot be modified if
mplsOutSegmentRowStatus for the associated entry in
the mplsOutSegmentTable is active(1)."
DEFVAL { 0 }
::= { gmplsOutSegmentEntry 2 }
-- End of gmplsOutSegmentTable
-- Module compliance.
gmplsLsrGroups
OBJECT IDENTIFIER ::= { gmplsLsrConformance 1 }
gmplsLsrCompliances
OBJECT IDENTIFIER ::= { gmplsLsrConformance 2 }
-- Compliance requirement for fully compliant implementations.
gmplsLsrModuleFullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Compliance statement for agents that provide full
support for GMPLS-LSR-STD-MIB."
MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863.
MANDATORY-GROUPS {
ifGeneralInformationGroup,
ifCounterDiscontinuityGroup
}
MODULE MPLS-LSR-STD-MIB -- The MPLS LSR MIB
MANDATORY-GROUPS {
mplsInterfaceGroup,
mplsInSegmentGroup,
mplsOutSegmentGroup,
mplsXCGroup,
mplsPerfGroup,
mplsLsrNotificationGroup
}
MODULE -- this module
MANDATORY-GROUPS {
gmplsInterfaceGroup,
gmplsInSegmentGroup,
gmplsOutSegmentGroup
}
-- gmplsInSegmentTable
OBJECT gmplsInSegmentDirection
SYNTAX GmplsSegmentDirection
MIN-ACCESS read-write
DESCRIPTION
"Only forward(1) needs to be supported by
implementations that only support unidirectional
LSPs."
-- gmplsOutSegmentTable
OBJECT gmplsOutSegmentDirection
SYNTAX GmplsSegmentDirection
MIN-ACCESS read-write
DESCRIPTION
"Only forward(1) needs to be supported by
implementations that only support unidirectional
LSPs."
OBJECT gmplsOutSegmentTTLDecrement
SYNTAX Unsigned32 (0..255)
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
::= { gmplsLsrCompliances 1 }
-- Compliance requirement for implementations that provide read-only
-- access.
gmplsLsrModuleReadOnlyCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Compliance requirement for implementations that only
provide read-only support for GMPLS-LSR-STD-MIB. Such
devices can then be monitored but cannot be configured
using this MIB modules."
MODULE IF-MIB -- The interfaces Group MIB, RFC 2863
MANDATORY-GROUPS {
ifGeneralInformationGroup,
ifCounterDiscontinuityGroup
}
MODULE MPLS-LSR-STD-MIB
MANDATORY-GROUPS {
mplsInterfaceGroup,
mplsInSegmentGroup,
mplsOutSegmentGroup,
mplsXCGroup,
mplsPerfGroup
}
MODULE -- this module
MANDATORY-GROUPS {
gmplsInterfaceGroup,
gmplsInSegmentGroup,
gmplsOutSegmentGroup
}
-- gmplsInterfaceGroup
OBJECT gmplsInterfaceSignalingCaps
SYNTAX BITS {
unknown (0),
rsvpGmpls (1),
crldpGmpls (2),
otherGmpls (3)
}
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
-- gmplsInSegmentTable
OBJECT gmplsInSegmentDirection
SYNTAX GmplsSegmentDirection
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required. Only forward(1) needs
to be supported by implementations that only support
unidirectional LSPs."
-- gmplsOutSegmentTable
OBJECT gmplsOutSegmentDirection
SYNTAX GmplsSegmentDirection
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required. Only forward(1) needs
to be supported by implementations that only support
unidirectional LSPs."
OBJECT gmplsOutSegmentTTLDecrement
SYNTAX Unsigned32 (0..255)
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
::= { gmplsLsrCompliances 2 }
-- Units of conformance.
gmplsInterfaceGroup OBJECT-GROUP
OBJECTS {
gmplsInterfaceSignalingCaps
}
STATUS current
DESCRIPTION
"Collection of objects needed for GMPLS interface
configuration and performance information."
::= { gmplsLsrGroups 1 }
gmplsInSegmentGroup OBJECT-GROUP
OBJECTS {
gmplsInSegmentDirection
}
STATUS current
DESCRIPTION
"Collection of objects needed to implement a GMPLS
in-segment."
::= { gmplsLsrGroups 2 }
gmplsOutSegmentGroup OBJECT-GROUP
OBJECTS {
gmplsOutSegmentDirection,
gmplsOutSegmentTTLDecrement
}
STATUS current
DESCRIPTION
"Collection of objects needed to implement a GMPLS
out-segment."
::= { gmplsLsrGroups 3 }
END
8. GMPLS Label MIB Definitions
GMPLS-LABEL-STD-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Unsigned32,
Integer32
FROM SNMPv2-SMI
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
RowStatus, StorageType
FROM SNMPv2-TC
InterfaceIndexOrZero
FROM IF-MIB
IndexIntegerNextFree
FROM DIFFSERV-MIB
MplsLabel
FROM MPLS-TC-STD-MIB
GmplsGeneralizedLabelTypes, GmplsFreeformLabel,
gmplsStdMIB
FROM GMPLS-TC-STD-MIB
;
gmplsLabelStdMIB MODULE-IDENTITY
LAST-UPDATED
"200310300900Z" -- 30 October 2003 9:00:00 GMT"
ORGANIZATION
"Common Control And Management Protocols (CCAMP)
Working Group"
CONTACT-INFO
" Thomas D. Nadeau
Cisco Systems, Inc.
Email: tnadeau@cisco.com
Cheenu Srinivasan
Bloomberg L.P.
Email: cheenu@bloomberg.net
Adrian Farrel
Old Dog Consulting
Email: adrian@olddog.co.uk
Ed Harrison
Data Connection Ltd.
Email: ed.harrison@dataconnection.com
Tim Hall
Data Connection Ltd.
Email: timhall@dataconnection.com
Comments about this document should be emailed direct to the
CCAMP working group mailing list at ccamp@ops.ietf.org"
DESCRIPTION
"This MIB module contains managed object definitions
for labels within GMPLS systems."
-- Revision history.
REVISION
"200310300900Z" -- 30 October 2003 09:00:00 GMT
DESCRIPTION
"Initial revision, published as part of RFC XXXX."
::= { gmplsStdMIB xx }
-- Top level components of this MIB module.
-- Notifications
-- no notifications are currently defined.
gmplsLabelNotifications OBJECT IDENTIFIER ::= { gmplsLabelStdMIB 0 }
-- Tables, Scalars
gmplsLabelObjects OBJECT IDENTIFIER ::= { gmplsLabelStdMIB 1 }
-- Conformance
gmplsLabelConformance OBJECT IDENTIFIER ::= { gmplsLabelStdMIB 2 }
-- GMPLS Label Table.
gmplsLabelIndexNext OBJECT-TYPE
SYNTAX IndexIntegerNextFree
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains an unused value for
gmplsLabelIndex, or a zero to indicate
that no unused value exists or is available.
An management application wishing to create
a row in the gmplsLabelTable may read this
object and then attempt to create a row in
the table. If row creation fails (because
another application has already created a row
with the supplied index) the management
application should read this object again
to get a new index value.
When a row is created in the gmplsLabelTable
with the gmplsLabelIndex value held by this
object, an implementation MUST change the value
in this object.
"
::= { gmplsLabelObjects 1 }
gmplsLabelTable OBJECT-TYPE
SYNTAX SEQUENCE OF GmplsLabelEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of GMPLS Labels. This table allows the
representation of the more complex label forms
required for GMPLS which cannot be held within the
textual convention MplsLabel. That is labels that
cannot be encoded within 32 bits. It is,
nevertheless also capable of holding 32 bit labels
or regular MPLS labels if desired.
Each entry in this table represents an individual
GMPLS label value. Labels in the tables in other
MIBs are referred to using row pointer into this
table. The indexing of this table provides for
arbitrary indexing and also for concatenation of
labels."
::= { gmplsLabelObjects 2 }
gmplsLabelEntry OBJECT-TYPE
SYNTAX GmplsLabelEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in this table represents a single label
value. There are three indexes into the table.
- The interface index may be helpful to distinguish
which labels are in use on which interfaces or to
handle cases where there are a very large number
of labels in use in the system. When label
representation is desired to apply to the whole
system or when it is not important to distinguish
labels by their interfaces, this index MAY be set
to zero.
- The label index provides a way of identifying the
label.
- The label sub-index is only used for concatenated
labels. It identifies each component label. When
non-concatenated labels are used, this index
SHOULD be set to zero.
A storage type object is supplied to control the
storage type for each entry, but implementations
should note that the storage type of conceptual rows
in other tables that include row pointers to an
entry in this table SHOULD dictate the storage type
of the rows in this table where the row in the other
table is more persistent."
INDEX {
gmplsLabelInterface,
gmplsLabelIndex,
gmplsLabelSubindex }
::= { gmplsLabelTable 1 }
GmplsLabelEntry ::= SEQUENCE {
gmplsLabelInterface InterfaceIndexOrZero,
gmplsLabelIndex Unsigned32,
gmplsLabelSubindex Unsigned32,
gmplsLabelType GmplsGeneralizedLabelTypes,
gmplsLabelMplsLabel MplsLabel,
gmplsLabelPortWavelength Unsigned32,
gmplsLabelFreeformLength Integer32,
gmplsLabelFreeform GmplsFreeformLabel,
gmplsLabelSonetSdhSignalIndex Integer32,
gmplsLabelSdhVc Integer32,
gmplsLabelSdhVcBranch Integer32,
gmplsLabelSonetSdhBranch Integer32,
gmplsLabelSonetSdhGroupBranch Integer32,
gmplsLabelWavebandId Unsigned32,
gmplsLabelWavebandStart Unsigned32,
gmplsLabelWavebandEnd Unsigned32,
gmplsLabelRowStatus RowStatus,
gmplsLabelStorageType StorageType
}
gmplsLabelInterface OBJECT-TYPE
SYNTAX InterfaceIndexOrZero
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The interface on which this label is used. If the
label has or could have applicability across the
whole system, this object SHOULD be set to zero."
::= { gmplsLabelEntry 1 }
gmplsLabelIndex OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An arbitrary index into the table to identify a
label.
Note that implementations that are representing 32
bit labels within this table MAY choose to align
this index with the value of the label, but should
be aware of the implications of sparsely populated
tables.
A management application may read the gmplsLabelIndexNext
object to find a suitable value for this object."
::= { gmplsLabelEntry 2 }
gmplsLabelSubindex OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"In conjunction with gmplsLabelInterface and
gmplsLabelIndex, this object uniquely identifies
this row. This sub-index allows a single GMPLS label
to be defined as a concatenation of labels. This is
particularly useful in TDM.
The ordering of sub-labels is strict with the sub-
label with lowest gmplsLabelSubindex appearing
first. Note that all sub-labels of a single GMPLS
label must share the same gmplsLabelInterface and
gmplsLabelIndex values. For labels that are not
composed of concatenated sub-labels, this value
SHOULD be set to zero."
::= { gmplsLabelEntry 3 }
gmplsLabelType OBJECT-TYPE
SYNTAX GmplsGeneralizedLabelTypes
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Identifies the type of this label. Note that this
object does not determine whether MPLS or GMPLS
signaling is in use: a value of gmplsMplsLabel (1)
denotes that a 23 bit MPLS packet label is present,
but does not describe whether this is signaled using
MPLS or GMPLS.
The value of this object helps determine which of
the following objects are valid.
This object cannot be modified if
gmplsLabelRowStatus is active(1)."
::= { gmplsLabelEntry 4 }
gmplsLabelMplsLabel OBJECT-TYPE
SYNTAX MplsLabel
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The value of an MPLS label (that is a packet label)
if this table is used to store it. This may be used
in MPLS systems even though the label values can be
adequately stored in the MPLS MIB modules. Further,
in mixed MPLS and GMPLS systems it may be
advantageous to store all labels in a single label
table. Lastly, in GMPLS systems where packet labels
are used (that is in systems that use GMPLS
signaling and GMPLS labels for packet switching) it
may be desirable to use this table.
This object is only valid if gmplsLabelType is set
to gmplsMplsLabel (1).
This object cannot be modified if
gmplsLabelRowStatus is active(1)."
::= { gmplsLabelEntry 6 }
gmplsLabelPortWavelength OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The value of a Port or Wavelength Label when carried
as a Generalized Label. Only valid if gmplsLabelType
is set to gmplsPortWavelengthLabel(2).
This object cannot be modified if
gmplsLabelRowStatus is active(1)."
::= { gmplsLabelEntry 7 }
gmplsLabelFreeformLength OBJECT-TYPE
SYNTAX Integer32 (1..64)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The length of a freeform Generalized Label indicated
in the gmplsFreeformLabel object. Only valid if
gmplsLabelType is set to
gmplsFreeformGeneralizedLabel(3).
This object cannot be modified if
gmplsLabelRowStatus is active(1)."
::= { gmplsLabelEntry 8 }
gmplsLabelFreeform OBJECT-TYPE
SYNTAX GmplsFreeformLabel
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The value of a freeform Generalized Label that does
not conform to one of the standardized label
encoding or that an implementation chooses to
represent as an octet string without further
decoding. The length of this object is given by the
value of gmplsFreeformLength. Only valid if
gmplsLabelType is set to
gmplsFreeformGeneralizedLabel(3).
This object cannot be modified if
gmplsLabelRowStatus is active(1)."
::= { gmplsLabelEntry 9 }
gmplsLabelSonetSdhSignalIndex OBJECT-TYPE
SYNTAX Integer32 (0..4095)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The Signal Index value (S) of a SONET or SDH
Generalized Label. Zero indicates that this field is
not significant. Only valid if gmplsLabelType is set
to gmplsSonetLabel(4) or gmplsSdhLabel(5).
This object cannot be modified if
gmplsLabelRowStatus is active(1)."
::= { gmplsLabelEntry 10 }
gmplsLabelSdhVc OBJECT-TYPE
SYNTAX Integer32 (0..15)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The VC Indicator (U) of an SDH Generalized Label.
Zero indicates that this field is non-significant.
Only valid if gmplsLabelType is set to
gmplsSdhLabel(5).
This object cannot be modified if
gmplsLabelRowStatus is active(1)."
::= { gmplsLabelEntry 11 }
gmplsLabelSdhVcBranch OBJECT-TYPE
SYNTAX Integer32 (0..15)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The VC Branch Indicator (K) of an SDH Generalized
Label. Zero indicates that this field is non-
significant. Only valid if gmplsLabelType is set to
gmplsSdhLabel(5).
This object cannot be modified if
gmplsLabelRowStatus is active(1)."
::= { gmplsLabelEntry 12 }
gmplsLabelSonetSdhBranch OBJECT-TYPE
SYNTAX Integer32 (0..15)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The Branch Indicator (L) of a SONET or SDH
Generalized Label. Zero indicates that this field is
non-significant. Only valid gmplsLabelType is set to
gmplsSonetLabel(4) or gmplsSdhLabel(5).
This object cannot be modified if
gmplsLabelRowStatus is active(1)."
::= { gmplsLabelEntry 13 }
gmplsLabelSonetSdhGroupBranch OBJECT-TYPE
SYNTAX Integer32 (0..15)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The Group Branch Indicator (M) of a SONET or SDH
Generalized Label. Zero indicates that this field is
non-significant. Only valid if gmplsLabelType is set
to gmplsSonetLabel(4) or gmplsSdhLabel(5).
This object cannot be modified if
gmplsLabelRowStatus is active(1)."
::= { gmplsLabelEntry 14 }
gmplsLabelWavebandId OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The waveband identifier component of a waveband
label. Only valid if gmplsLabelType is set to
gmplsWavebandLabel(6).
This object cannot be modified if
gmplsLabelRowStatus is active(1)."
::= { gmplsLabelEntry 15 }
gmplsLabelWavebandStart OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The starting label component of a waveband label.
Only valid if gmplsLabelType is set to
gmplsWavebandLabel(6).
This object cannot be modified if
gmplsLabelRowStatus is active(1)."
::= { gmplsLabelEntry 16 }
gmplsLabelWavebandEnd OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The end label component of a waveband label. Only
valid if gmplsLabelType is set to
gmplsWavebandLabel(6).
This object cannot be modified if
gmplsLabelRowStatus is active(1)."
::= { gmplsLabelEntry 17 }
gmplsLabelRowStatus 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. When a row in this
table has a row in the active(1) state, no
objects in this row can be modified except the
gmplsLabelRowStatus and gmplsLabelStorageType."
::= { gmplsLabelEntry 18 }
gmplsLabelStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This variable indicates the storage type for this
object.
The agent MUST ensure that this object's value
remains consistent with the storage type of any rows
in other tables that contain pointers to this row.
In particular, the storage type of this row must be
at least as permanent as that of any row that point
to it.
Conceptual rows having the value 'permanent' need
not allow write-access to any columnar objects in
the row."
REFERENCE
"See RFC2579."
DEFVAL { volatile }
::= { gmplsLabelEntry 19 }
-- End of GMPLS Label Table
-- Module compliance.
gmplsLabelGroups
OBJECT IDENTIFIER ::= { gmplsLabelConformance 1 }
gmplsLabelCompliances
OBJECT IDENTIFIER ::= { gmplsLabelConformance 2 }
gmplsLabelModuleFullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Compliance statement for agents that support
the GMPLS Label MIB module."
MODULE -- this module
-- The mandatory groups have to be implemented by
-- LSRs claiming support for this MIB module. This MIB module is,
-- however, not mandatory for a working implementation of a GMPLS
-- LSR with full MIB support if the GMPLS labels in use can be
-- represented within a 32 bit quantity.
MANDATORY-GROUPS {
gmplsLabelTableGroup
}
-- Units of conformance.
GROUP gmplsLabelTableGroup
DESCRIPTION
"This group is mandatory for devices which support
the gmplsLabelTable."
GROUP gmplsLabelPacketGroup
DESCRIPTION
"This group extends gmplsLabelTableGroup for
implementations that support packet labels."
GROUP gmplsLabelPortWavelengthGroup
DESCRIPTION
"This group extends gmplsLabelTableGroup for
implementations that support port and wavelength
labels."
GROUP gmplsLabelFreeformGroup
DESCRIPTION
"This group extends gmplsLabelTableGroup for
implementations that support freeform labels."
GROUP gmplsLabelSonetSdhGroup
DESCRIPTION
"This group extends gmplsLabelTableGroup for
implementations that support SONET or SDH labels."
GROUP gmplsLabelWavebandGroup
DESCRIPTION
"This group extends gmplsLabelTableGroup for
implementations that support Waveband labels."
-- gmplsLabelTable
OBJECT gmplsLabelType
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsLabelMplsLabel
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsLabelPortWavelength
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsLabelFreeformLength
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsLabelFreeform
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsLabelSonetSdhSignalIndex
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsLabelSdhVc
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsLabelSdhVcBranch
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsLabelSonetSdhBranch
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsLabelSonetSdhGroupBranch
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsLabelWavebandId
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsLabelWavebandStart
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsLabelWavebandEnd
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT gmplsLabelRowStatus
SYNTAX RowStatus {
active(1),
notInService(2)
}
WRITE-SYNTAX RowStatus {
active(1),
notInService(2),
createAndGo(4),
destroy(6)
}
DESCRIPTION
"Support for notInService, createAndWait and notReady
is not required."
OBJECT gmplsLabelStorageType
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
::= { gmplsLabelCompliances 1 }
-- Units of conformance.
gmplsLabelTableGroup OBJECT-GROUP
OBJECTS {
gmplsLabelIndexNext,
gmplsLabelType,
gmplsLabelRowStatus,
gmplsLabelStorageType
}
STATUS current
DESCRIPTION
"Necessary, but not sufficient, set of objects to
implement label table support. In addition,
depending on the type of labels supported (for
example, wavelength labels), the following other
groups defined below are mandatory:
gmplsLabelPacketGroup and/or
gmplsLabelPortWavelengthGroup and/or
gmplsLabelFreeformGroup and/or
gmplsLabelSonetSdhGroup."
::= { gmplsLabelGroups 1 }
gmplsLabelPacketGroup OBJECT-GROUP
OBJECTS {
gmplsLabelMplsLabel
}
STATUS current
DESCRIPTION
"Object needed to implement Packet (MPLS) labels."
::= { gmplsLabelGroups 2 }
gmplsLabelPortWavelengthGroup OBJECT-GROUP
OBJECTS {
gmplsLabelPortWavelength
}
STATUS current
DESCRIPTION
"Object needed to implement Port and Wavelength
labels."
::= { gmplsLabelGroups 3 }
gmplsLabelFreeformGroup OBJECT-GROUP
OBJECTS {
gmplsLabelFreeformLength,
gmplsLabelFreeform
}
STATUS current
DESCRIPTION
"Object needed to implement Freeform labels."
::= { gmplsLabelGroups 4 }
gmplsLabelSonetSdhGroup OBJECT-GROUP
OBJECTS {
gmplsLabelSonetSdhSignalIndex,
gmplsLabelSdhVc,
gmplsLabelSdhVcBranch,
gmplsLabelSonetSdhBranch,
gmplsLabelSonetSdhGroupBranch
}
STATUS current
DESCRIPTION
"Object needed to implement SONET and SDH labels."
::= { gmplsLabelGroups 5 }
gmplsLabelWavebandGroup OBJECT-GROUP
OBJECTS {
gmplsLabelWavebandId,
gmplsLabelWavebandStart,
gmplsLabelWavebandEnd
}
STATUS current
DESCRIPTION
"Object needed to implement Waveband labels."
::= { gmplsLabelGroups 6 }
END
9. Security Considerations
It is clear that the MIB modules described in this document in
association with the MPLS-LSR-STD-MIB are potentially useful for
monitoring of GMPLS LSRs. These MIB modules can also be used for
configuration of certain objects, and anything that can be configured
can be incorrectly configured, with potentially disastrous results.
There are a number of management objects defined in these MIB modules
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
network operations. These are the tables and objects and their
sensitivity/vulnerability:
o the gmplsInterfaceTable, gmplsInSegmentTable, gmplsOutSegmentTable
and gmplsLabelTable collectively contain objects to provision
GMPLS interfaces, LSPs and their associated parameters on a Label
Switching Router (LSR). Unauthorized write access to objects in
these tables, could result in disruption of traffic on the
network. This is especially true if an LSP has already been
established. The use of stronger mechanisms such as SNMPv3
security should be considered where possible. Specifically, SNMPv3
VACM and USM MUST be used with any SNMPv3 agent which implements
these MIB modules.
Some of the readable objects in these MIB modules "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:
o the gmplsInterfaceTable, gmplsInSegmentTable, gmplsOutSegmentTable
and gmplsLabelTable collectively show the LSP network topology and
its capabilities. If an Administrator does not want to reveal this
information, then these tables should be considered
sensitive/vulnerable.
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
these MIB modules. 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.
10. Acknowledgments
This draft extends [LSRMIB]. The authors would like to express their
gratitude to all those who worked on that earlier MIB document.
The authors would like to express their thanks to Dan Joyle for his
careful review and comments on early versions of the Label Table.
Special thanks to Joan Cucchiara and Len Nieman for their help with
compilation issues.
11. IANA Considerations
MPLS related standards track MIB modules are rooted under the
mplsStdMIB subtree.
One of the MIB modules contained in this document extends tables
contained in MPLS MIB modules.
As requested in requested in the GMPLS-TC-STD-MIB [GMPLSTCMIB] the
two MIB modules contained in this document should be placed in the
mplsStdMIB subtree as well.
New assignments can only be made via a Standards Action as specified
in [RFC2434].
11.1. IANA Considerations for GMPLS-LSR-STD-MIB
The IANA is requested to assign { mplsStdMIB xx } to the
GMPLS-LSR-STD-MIB module specified in this document.
11.2. IANA Considerations for GMPLS-LABEL-STD-MIB
The IANA is requested to assign { mplsStdMIB xx } to the
GMPLS-LABEL-STD-MIB module specified in this document.
12. References
12.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.
[RFC2863] McCloghrie, K. and F. Kastenholtz, "The Interfaces
Group MIB", RFC 2863, June 2000.
[GMPLSArch] Mannie, E. (Editor), "Generalized Multiprotocol
Label Switching (GMPLS) Architecture", Internet
Draft <draft-many-gmpls-architecture-07.txt>, May
2003, work in progress.
[GMPLSSonetSDH] Mannie, E., Papadimitriou, D. (Editors),
"Generalized Multi-Protocol Label Switching
Extensions for SONET and SDH Control", Internet
Draft <draft-ietf-ccamp-gmpls-sonet-sdh-08.txt>,
February 2003, work in progress.
[GMPLSTCMIB] Nadeau, T., Srinivasan, C., Farrel, A., Hall, T.,
and Harrison, E., "Definitions of Textual
Conventions for Multiprotocol Label Switching
(MPLS) Management", draft-ietf-ccamp-gmpls-te-mib-
03.txt, November 2003, work in progress.
[GMPLSTEMIB] Nadeau, T., Srinivasan, C., Farrel, A., Hall, T.,
and Harrison, E., "Generalized Multiprotocol Label
Switching (GMPLS) Traffic Engineering Management
Information Base", draft-ietf-ccamp-gmpls-te-mib-
03.txt, November 2003, work in progress.
[TCMIB] Nadeau, T., Cucchiara, J. (Editors) "Definitions of
Textual Conventions for Multiprotocol Label
Switching (MPLS) Management", Internet Draft
<draft-ietf-mpls-tc-mib-09.txt>, August 2003, work
in progress.
[LSRMIB] Srinivasan, C., Viswanathan, A. and T. Nadeau,
"Multiprotocol Label Switching (MPLS) Label
Switching Router (LSR) Management Information
Base", Internet Draft <draft-ietf-mpls-lsr-mib-
12.txt>, August 2003, work in progress.
12.2. Informational References
[RFC2026] S. Bradner, "The Internet Standards Process --
Revision 3", RFC 2026, October 1996.
[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for
Writing an IANA Considerations Section in RFCs",
BCP: 26, RFC 2434, October 1998.
[RFC3031] Rosen, E., Viswanathan, A., and R. Callon,
"Multiprotocol Label Switching Architecture", RFC
3031, January 2001.
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T.,
Srinivasan, V., and G. Swallow, "RSVP-TE:
Extensions to RSVP for LSP Tunnels", RFC 3209,
December 2001.
[RFC3212] Jamoussi, B., Aboul-Magd, O., Andersson, L.,
Ashwood-Smith, P., Hellstrand, F., Sundell, K.,
Callon, R., Dantu, R., Wu, L., Doolan, P., Worster,
T., Feldman, N., Fredette, A., Girish, M., Gray,
E., Halpern, J., Heinanen, J., Kilty, T., Malis,
A., and P. Vaananen, "Constraint-Based LSP Setup
using LDP", RFC 3212, December 2001."
[RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart,
"Introduction and Applicability Statements for
Internet-Standard Management Framework", RFC 3410,
December 2002.
[RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An
Architecture for Describing Simple Network
Management Protocol (SNMP) Management Frameworks",
RFC 3411, December 2002.
[RFC3413] Levi, D., Meyer, P., Stewart, B., "SNMP
Applications", RFC 3413, December 2002.
[RFC3471] Berger, L. (Editor), "Generalized Multi-Protocol
Label Switching (GMPLS) Signaling Functional
Description", RFC 3471, January 2003.
[RFC3472] Ashwood-Smith, P., Berger, L. (Editors),
"Generalized MPLS Signaling - CR-LDP Extensions",
RFC 3472, January 2003.
[RFC3473] Berger, L. (Editor), "Generalized MPLS Signaling -
RSVP-TE Extensions", RFC 3473 January 2003.
[TEMIB] Nadeau, T., Srinivasan, C, Viswanathan, A.,
"Multiprotocol Label Switching (MPLS) Traffic
Engineering Management Information Base", Internet
Draft <draft-ietf-mpls-te-mib-12.txt>, August 2003,
work in progress.
13. Authors' Addresses
Thomas D. Nadeau
Cisco Systems, Inc.
300 Apollo Drive
Chelmsford, MA 01824
Phone: +1-978-244-3051
Email: tnadeau@cisco.com
Cheenu Srinivasan
Bloomberg L.P.
499 Park Ave.,
New York, NY 10022
Phone: +1-212-893-3682
Email: cheenu@bloomberg.net
Adrian Farrel
Old Dog Consulting
Phone: +44-(0)-1978-860944
Email: adrian@olddog.co.uk
Tim Hall
Data Connection Ltd.
100 Church Street
Enfield, Middlesex, EN2 6BQ, UK
Phone: +44 20 8366 1177
Email: timhall@dataconnection.com
Ed Harrison
Data Connection Ltd.
100 Church Street
Enfield, Middlesex, EN2 6BQ, UK
Phone: +44 20 8366 1177
Email: ed.harrison@dataconnection.com
14. 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
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
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 OR FITNESS FOR A PARTICULAR PURPOSE.
15. Intellectual Property Notice
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 [RFC2028].
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 that may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
16. Changes and Pending Work
This section must be removed before the draft progresses to RFC.
16.1. Pending Work
The following work items have been identified for this draft. They
will be addressed in a future version.
- Expand conformance statements to give one for monitoring only,
and one for monitoring and control.
- Provide support for monitoring tunnel resources in GMPLS systems.
For example, SONET/SDH or G.709. This might be done through an
arbitrary RowPointer to an external MIB.
- Extend the performance tables from the MPLS-LSR-MIB for
technology-specific GMPLS LSPs.
- Determine whether the 'discriminated union' in the Label Table is
good MIB.
16.1. Changes from version 2 to version 3
- Work on basic compilation issues.
- Provide a next index object to supply the next available
arbitrary index into the Label Table.
- Update references.
- Update examples.
Network Working Group Thomas D. Nadeau
Internet Draft Cisco Systems, Inc.
Expires: May 2004
Cheenu Srinivasan
Bloomberg L.P.
Adrian Farrel
Old Dog Consulting
Tim Hall
Ed Harrison
Data Connection Ltd.
November 2003
Definitions of Textual Conventions for Generalized Multi-Protocol
Label Switching (GMPLS) Management
draft-ietf-ccamp-gmpls-tc-mib-03.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.
Abstract
This document defines a Management Information Base (MIB) module
which contains Textual Conventions to represent commonly used
Generalized Multi-Protocol Label Switching (GMPLS) management
information. The intent is that these TEXTUAL CONVENTIONS (TCs) will
be imported and used in GMPLS related MIB modules that would
otherwise define their own representations.
Table of Contents
1. Introduction 2
2. The SNMP Management Framework 2
3. GMPLS Textual Conventions MIB Definitions 3
4. Security Considerations 5
5. IANA Considerations 5
6. References 5
6.1. Normative References 5
6.2. Informational References 6
7. Authors' Addresses 7
8. Full Copyright Statement 7
9. Intellectual Property Notice 8
1. Introduction
This document defines a MIB module which contains Textual Conventions
for Generalized Multi-Protocol Label Switching (GMPLS) networks.
These Textual Conventions should be imported by MIB modules which
manage GMPLS networks.
This MIB module supplements the MIB module in [TCMIB] that defines
Textual Conventions for Multiprotocol Label Switching (MPLS)
Management. [TCMIB] may continue to be used without this MIB module
in networks that support only MPLS.
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 [RFC2119].
Comments should be made directly to the CCAMP mailing list at
ccamp@ops.ietf.org.
For an introduction to the concepts of GMPLS, see [GMPLSArch].
2. The SNMP 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].
3. GMPLS Textual Conventions MIB Definitions
GMPLS-TC-STD-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY
FROM SNMPv2-SMI
transmission
FROM SNMPv2-SMI
TEXTUAL-CONVENTION
FROM SNMPv2-TC
;
gmplsTCStdMIB MODULE-IDENTITY
LAST-UPDATED
"200310300900Z" -- 30 October 2003 9:00:00 GMT"
ORGANIZATION "Common Control And Management Protocols (CCAMP)
Working Group"
CONTACT-INFO
" Thomas D. Nadeau
Cisco Systems, Inc.
Email: tnadeau@cisco.com
Cheenu Srinivasan
Bloomberg L.P.
Email: cheenu@bloomberg.net
Adrian Farrel
Old Dog Consulting
Email: adrian@olddog.co.uk
Ed Harrison
Data Connection Ltd.
Email: ed.harrison@dataconnection.com
Tim Hall
Data Connection Ltd.
Email: timhall@dataconnection.com
Comments about this document should be emailed direct to the
CCAMP working group mailing list at ccamp@ops.ietf.org"
DESCRIPTION
"Copyright (C) The Internet Society (2003). This version of this
MIB module is part of RFCXXX; see the RFC itself for full legal
notices.
This MIB module defines Textual Conventions for concepts used in
Generalized Multi-Protocol Label Switching (GMPLS) networks."
-- Revision history.
REVISION
"200310300900Z" -- 30 October 2003 09:00:00 GMT
DESCRIPTION
"Initial version published as part of RFC XXXX."
-- Please see the IANA Considerations Section.
-- The requested gmplsStdMIB subId is xx, i.e.
::= { gmplsStdMIB xx }
gmplsStdMIB OBJECT IDENTIFIER
-- This object identifier needs to be assigned by IANA.
-- Since mpls has been assigned an ifType of 166 we recommend
-- that this OID be 166 as well, i.e.
::= { transmission XXX }
-- Textual Conventions (sorted alphabetically).
GmplsFreeformLabel ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This value represents a freeform generalized MPLS Label. This
can be used to represent label types which are not standard
in the drafts. It may also be used by systems that do not
wish to represent the labels using the specific label types."
SYNTAX OCTET STRING (SIZE (0..64))
GmplsGeneralizedLabelTypes ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Determines the interpretation that should be applied to a
label."
SYNTAX INTEGER {
gmplsMplsLabel(1),
gmplsPortWavelengthLabel(2),
gmplsFreeformGeneralizedLabel(3),
gmplsSonetLabel(4),
gmplsSdhLabel(5),
gmplsWavebandLabel(6)
}
GmplsSegmentDirection ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The direction of data flow on an LSP segment with respect to the
head of the LSP.
Where an LSP is signaled using a conventional signaling
protocol, the 'head' of the LSP is the source of the signaling
(also known as the ingress) and the 'tail' is the destination
(also known as the egress).
For manually configured LSPs an arbitrary decision must be made
about which LER is the 'head'."
SYNTAX INTEGER {
forward(1),
reverse(2)
}
END
4. Security Considerations
This module does not define any management objects. Instead, it
defines a set of textual conventions which may be used by other GMPLS
MIB modules to define management objects.
Meaningful security considerations can only be written in the MIB
modules that define management objects. Therefore, this document has
no impact on the security of the Internet.
5. IANA Considerations
IANA is requested to make a MIB OID assignment under the transmission
branch, that is, assign the gmplsStdMIB under { transmission 166 }.
This sub-id is requested because 166 is the ifType for mpls(166) and
is available under transmission.
In the future, GMPLS related standards track MIB modules should be
rooted under the mplsStdMIB (sic) subtree. IANA is requested to
manage that namespace. New assignments can only be made via a
Standards Action as specified in [RFC2434].
This document also requests IANA to assign { gmplsStdMIB xx } to the
GMPLS-TC-STD-MIB specified in this document.
6. References
6.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.
[RFC3471] Berger, L. (Editor), "Generalized Multi-Protocol
Label Switching (GMPLS) Signaling Functional
Description", RFC 3471, January 2003.
[GMPLSArch] Mannie, E. (Editor), "Generalized Multiprotocol
Label Switching (GMPLS) Architecture", Internet
Draft <draft-many-gmpls-architecture-07.txt>, May
2003, work in progress.
6.2. Informational References
[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for
Writing an IANA Considerations Section in RFCs",
BCP: 26, RFC 2434, October 1998.
[RFC3031] Rosen, E., Viswananthan, A., and R. Callon,
Multiprotocol Label Switching Architecture",
RFC 3031, January 2001.
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T.,
Srinivasan, V., Swallow, G., "RSVP-TE: Extensions to
RSVP for LSP Tunnels", RFC 3209, December 2001.
[RFC3212] Jamoussi, B., (editor), et. al. "Constraint-Based
LSP Setup using LDP", RFC 3212, January 2002.
[RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart,
"Introduction and Applicability Statements for
Internet-Standard Management Framework", RFC 3410,
December 2002.
[RFC3472] Ashwood-Smith, P., Berger, L. (Editors),
"Generalized MPLS Signaling - CR-LDP Extensions",
RFC 3472, January 2003.
[RFC3473] Berger, L. (Editor), "Generalized MPLS Signaling -
RSVP-TE Extensions", RFC 3473 January 2003.
[GMPLSSonetSDH] Mannie, E., Papadimitriou, D. (Editors),
"Generalized Multi-Protocol Label Switching
Extensions for SONET and SDH Control", Internet
Draft <draft-ietf-ccamp-gmpls-sonet-sdh-08.txt>,
February 2003, work in progress.
[GMPLSLSRMIB] Nadeau, T., Srinivasan, C., Farrel, A., Hall, T.,
and Harrison, E., " Generalized Multiprotocol Label
Switching (GMPLS) Label Switching Router (LSR)
Management Information Base", draft-ietf-ccamp-
gmpls-lsr-mib-03.txt, November 2003, work in
progress.
[GMPLSTEMIB] Nadeau, T., Srinivasan, C., Farrel, A., Hall, T.,
and Harrison, E., "Generalized Multiprotocol Label
Switching (GMPLS) Traffic Engineering Management
Information Base", draft-ietf-ccamp-gmpls-te-mib-
03.txt, November 2003, work in progress.
[TCMIB] Nadeau, T., Cucchiara, J. (Editors) "Definitions
of Textual Conventions for Multiprotocol Label
Switching (MPLS) Management", Internet Draft
<draft-ietf-mpls-tc-mib-09.txt>, August 2003,
work in progress.
7. Acknowledgements
Special thanks to Joan Cucchiara for her help with compilation
issues.
8. Authors' Addresses
Thomas D. Nadeau
Cisco Systems, Inc.
300 Apollo Drive
Chelmsford, MA 01824
Phone: +1-978-244-3051
Email: tnadeau@cisco.com
Cheenu Srinivasan
Bloomberg L.P.
499 Park Ave.,
New York, NY 10022
Phone: +1-212-893-3682
Email: cheenu@bloomberg.net
Adrian Farrel
Old Dog Consulting
Phone: +44-(0)-1978-860944
Email: adrian@olddog.co.uk
Tim Hall
Data Connection Ltd.
100 Church Street
Enfield, Middlesex
EN2 6BQ, UK
Phone: +44 20 8366 1177
Email: timhall@dataconnection.com
Ed Harrison
Data Connection Ltd.
100 Church Street
Enfield, Middlesex
EN2 6BQ, UK
Phone: +44 20 8366 1177
Email: ed.harrison@dataconnection.com
9. 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
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
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
OR FITNESS FOR A PARTICULAR PURPOSE.
10. Intellectual Property Notice
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 [RFC2028].
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 that may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/