--- 1/draft-ietf-mpls-tp-te-mib-04.txt 2013-01-14 10:33:18.511708901 +0100 +++ 2/draft-ietf-mpls-tp-te-mib-05.txt 2013-01-14 10:33:18.587708192 +0100 @@ -1,25 +1,25 @@ Network Working Group INTERNET-DRAFT M.Venkatesan Intended Status: Standards Track Dell Inc. -Expires: January 16, 2013 Kannan KV Sampath - Aricent +Expires: July 18, 2013 Kannan KV Sampath + Redeem Sam K. Aldrin Huawei Technologies Thomas D. Nadeau Juniper Networks - July 15, 2012 + January 14, 2013 MPLS-TP Traffic Engineering (TE) Management Information Base (MIB) - draft-ietf-mpls-tp-te-mib-04.txt + draft-ietf-mpls-tp-te-mib-05.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 of Tunnels, Identifiers, Label Switch Router and Textual conventions for Multiprotocol Label Switching (MPLS) based Transport Profile (TP). Status of this Memo @@ -36,143 +36,196 @@ and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. - This Internet-Draft will expire on January 16, 2013. + This Internet-Draft will expire on July 18, 2013. Copyright and License Notice - Copyright (c) 2012 IETF Trust and the persons identified as the + Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents - 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 2. The Internet-Standard Management Framework . . . . . . . . . . 3 - 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 3.1 Conventions used in this document . . . . . . . . . . . . . 3 - 3.2 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3 - 3.3 Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 4. Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 5. Feature List . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 6. Brief description of MIB Objects . . . . . . . . . . . . . . . 4 - 6.1. mplsTunnelExtNodeConfigTable . . . . . . . . . . . . . . 5 - 6.2. mplsTunnelExtNodeIpMapTable . . . . . . . . . . . . . . . 5 - 6.3. mplsTunnelExtNodeIccMapTable . . . . . . . . . . . . . . 6 - 6.4.mplsTunnelExtTable . . . . . . . . . . . . . . . . . . . . . 6 - 7. MIB Module Interdependencies . . . . . . . . . . . . . . . . . 6 - 8. Dependencies between MIB Module Tables . . . . . . . . . . . . 8 - 9. Example of MPLS-TP tunnel setup . . . . . . . . . . . . . . . . 8 - 10. MPLS Textual Convention Extension MIB definitions . . . . . . 13 - 11. MPLS Identifier MIB definitions . . . . . . . . . . . . . . . 16 - 12. MPLS LSR Extension MIB definitions . . . . . . . . . . . . . . 20 - 13. MPLS Tunnel Extension MIB definitions . . . . . . . . . . . . 24 - 14. Security Consideration . . . . . . . . . . . . . . . . . . . . 36 - 15. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37 - 16. References . . . . . . . . . . . . . . . . . . . . . . . . . . 37 - 16.1 Normative References . . . . . . . . . . . . . . . . . . . 37 - 16.2 Informative References . . . . . . . . . . . . . . . . . . 38 - 17. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 38 - 18. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 38 + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 + 2. The Internet-Standard Management Framework . . . . . . . . . . 4 + 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 + 3.1. Conventions used in this document . . . . . . . . . . . . . 4 + 3.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 4 + 3.3. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . 5 + 4. Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . 5 + 5. Feature List . . . . . . . . . . . . . . . . . . . . . . . . . 5 + 6. Brief description of MIB Objects . . . . . . . . . . . . . . . 5 + 6.1. mplsTunnelExtNodeConfigTable . . . . . . . . . . . . . . . 6 + 6.2. mplsTunnelExtNodeIpMapTable . . . . . . . . . . . . . . . . 6 + 6.3. mplsTunnelExtNodeIccMapTable . . . . . . . . . . . . . . . 7 + 6.4. mplsTunnelExtTable . . . . . . . . . . . . . . . . . . . . 7 + 6.5. mplsTunnelExtReversePerfTable . . . . . . . . . . . . . . . 7 + 7. MIB Module Interdependencies . . . . . . . . . . . . . . . . . 7 + 8. Dependencies between MIB Module Tables . . . . . . . . . . . . 9 + 9. Example of MPLS-TP Tunnel Setup . . . . . . . . . . . . . . . . 9 + 9.1. Example of MPLS-TP static co-routed bidirectional tunnel + setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 + 9.1.1. mplsTunnelEntry . . . . . . . . . . . . . . . . . . . . 10 + 9.1.2. mplsTunnelExtEntry . . . . . . . . . . . . . . . . . . 11 + 9.1.3. Forward direction mplsOutSegmentEntry . . . . . . . . . 12 + 9.1.4. Reverse direction mplsInSegmentEntry . . . . . . . . . 12 + 9.1.5. Forward direction mplsXCEntry . . . . . . . . . . . . . 12 + 9.1.6. Reverse direction mplsXCEntry . . . . . . . . . . . . . 13 + 9.1.7. Forward direction mplsXCExtEntry . . . . . . . . . . . 13 + 9.1.8. Reverse direction mplsXCExtEntry . . . . . . . . . . . 13 + 9.1.9. mplsTunnelExtReversePerfTable . . . . . . . . . . . . . 13 -1 Introduction + 9.2. Example of MPLS-TP static associated bidirectional tunnel + setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 + 9.2.1. Forward direction mplsTunnelEntry . . . . . . . . . . . 14 + 9.2.2. Forward direction mplsTunnelExtEntry . . . . . . . . . 15 + 9.2.3. Forward direction mplsOutSegmentTable . . . . . . . . . 15 + 9.2.4. Forward direction mplsXCEntry . . . . . . . . . . . . . 15 + 9.2.5. Forward direction mplsXCExtEntry . . . . . . . . . . . 16 + 9.2.6. Reverse direction mplsTunnelEntry . . . . . . . . . . . 16 + 9.2.7. Reverse direction mplsTunnelExtEntry . . . . . . . . . 17 + 9.2.8. Reverse direction mplsInSegmentEntry . . . . . . . . . 17 + 9.2.9. Reverse direction mplsXCEntry . . . . . . . . . . . . . 17 + 9.2.10. Reverse direction mplsXCExtEntry . . . . . . . . . . . 18 + 9.3. Example of MPLS-TP signaling co-routed bidirectional + tunnel setup . . . . . . . . . . . . . . . . . . . . . . . 18 + 9.3.1. mplsTunnelEntry . . . . . . . . . . . . . . . . . . . . 18 + 9.3.2. mplsTunnelExtEntry . . . . . . . . . . . . . . . . . . 19 + 9.3.3. Forward direction mplsOutSegmentEntry . . . . . . . . . 19 + 9.3.4. Reverse direction mplsInSegmentEntry . . . . . . . . . 19 + 9.3.5. Forward direction mplsXCEntry . . . . . . . . . . . . . 20 + 9.3.6. Reverse direction mplsXCEntry . . . . . . . . . . . . . 20 + 9.3.7. Forward direction mplsXCExtEntry . . . . . . . . . . . 20 + 9.3.8. Reverse direction mplsXCExtEntry . . . . . . . . . . . 20 + 9.3.9. mplsTunnelExtReversePerfTable . . . . . . . . . . . . . 20 + 10. MPLS Textual Convention Extension MIB definitions . . . . . . 20 + 11. MPLS Identifier MIB definitions . . . . . . . . . . . . . . . 23 + 12. MPLS LSR Extension MIB definitions . . . . . . . . . . . . . . 27 + 13. MPLS Tunnel Extension MIB definitions . . . . . . . . . . . . 31 + 14. Security Consideration . . . . . . . . . . . . . . . . . . . . 49 + 15. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 50 + 16. References . . . . . . . . . . . . . . . . . . . . . . . . . . 50 + 16.1. Normative References . . . . . . . . . . . . . . . . . . . 50 + 16.2. Informative References . . . . . . . . . . . . . . . . . 50 + 17. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 51 + 18. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 51 - 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 of Tunnels, Identifiers, - Label Switch Router and Textual conventions for Multiprotocol Label - Switching (MPLS) based Transport Profile (TP). +1. Introduction - The existing MPLS TE [RFC3812] and GMPLS MIBs [RFC4802] do not - support the transport network requirements of NON-IP based management - and static bidirectional tunnels. This MIB module should be used in - conjunction with the MPLS traffic Engineering MIB [RFC3812] and - companion document MPLS Label Switch Router MIB [RFC3813] for MPLS - based traffic engineering configuration and management. +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 of Tunnels, Identifiers, Label +Switch Router and Textual conventions for Multiprotocol Label Switching +(MPLS) based Transport Profile (TP). This draft extends the existing +MPLS MIB objects for both MPLS-TP and Non-MPLS-TP operations, so the +MPLS-TP name is not included in the MIB module name. + +The existing Multiprotocol Label Switching (MPLS) Traffic Engineering +(TE) Management Information Base (MIB) [RFC3812] and Generalized +Multiprotocol Label Switching (GMPLS) Traffic Engineering Management +Information Base [RFC4802] do not support the transport network +requirements of NON-IP based management and static bidirectional +tunnels. This MIB module should be used in conjunction with [RFC3812] +and companion document [RFC3813] for MPLS based traffic engineering +configuration and management. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", - "SHOULD", "SHOULD NOT", "MAY", and "OPTIONAL" in this document are to - be interpreted as described in BCP 14, RFC2119. +"SHOULD", "SHOULD NOT", "MAY", and "OPTIONAL" in this document are to be +interpreted as described in BCP 14, RFC2119. 2. The Internet-Standard Management Framework For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC3410 [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, - RFC2578, STD 58, RFC2579 and STD58, RFC2580. +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, RFC2578, STD 58, +RFC2579 and STD58, RFC2580. 3. Overview -3.1 Conventions used in this document +3.1. Conventions used in this document 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 [RFC2119]. -3.2 Terminology - - This document uses terminology from the MPLS architecture document - [RFC3031], MPLS Traffic Engineering Management information [RFC3812], - MPLS Label Switch Router MIB [RFC3813] and MPLS-TP Identifiers - document [RFC6370]. +3.2. Terminology +This document uses terminology from the Multiprotocol Label Switching +Architecture [RFC3031], Multiprotocol Label Switching (MPLS) Traffic +Engineering (TE) Management Information Base (MIB) [RFC3812], +Multiprotocol Label Switching (MPLS) Label Switching Router (LSR) +Management Information Base (MIB) [RFC3813] and MPLS Transport Profile +(MPLS-TP) Identifiers [RFC6370]. -3.3 Acronyms +3.3. Acronyms GMPLS: Generalized Multi-Protocol Label Switching ICC: ITU Carrier Code IP: Internet Protocol LSP: Label Switching Path LSR: Label Switching Router MIB: Management Information Base MPLS: Multi-Protocol Label Switching MPLS-TP: MPLS Transport Profile OSPF: Open Shortest Path First PW: Pseudowire TE: Traffic Engineering TP: Transport Profile 4. Motivations - This document provide extensions to existing MPLS MIB modules in - order to support configuration of MPLS-TP tunnels in IP and NON-IP - environments. +Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management +Information Base (MIB) [RFC3812] provides support for Traffic +Engineering tunnels. However, with MPLS-TP, the characteristics of +Tunnels were enhanced. For example, MPLS-TP tunnels are bidirectional in +nature and could be used in non-IP environment. As the existing MPLS-TE- +STD-MIB is not sufficient to capture all the characteristics of the +tunnels, enhancing the MIB to support MPLS TP tunnels is required. As +most of the attributes of MPLS Traffic Engineering tunnels are also +applicable to MPLS-TP tunnels, it is optimal to re-use the existing MIB +definition instead of a new MIB. + +This MIB also defines three other MIB modules within this document. As +these new MIB modules are small in size, MPLS-TC-EXT-STD-MIB, MPLS-ID- +STD-MIB and MPLS-LSR-EXT-STD-MIB are retained in the same document, +instead of a separate document. 5. Feature List The MPLS transport profile MIB module is designed to satisfy the following requirements and constraints: - The MIB module supports point-to-point, co-routed bi-directional - associated bi-directional tunnels. +The MIB module supports static and signaling point-to-point, co-routed +bi-directional and associated bi-directional tunnels. - The MPLS tunnels need not be interfaces, but it is possible to configure a TP tunnel as an interface. - The mplsTunnelTable [RFC3812] to be also used for MPLS-TP tunnels - The mplsTunnelTable is extended to support MPLS-TP specific objects. @@ -210,23 +264,23 @@ For ICC based environment, MPLS-TP tunnel is indexed by Tunnel Index, Tunnel Instance, Source ICC and Destination ICC. As mplsTunnelTable is indexed by mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, and mplsTunnelEgressLSRId, the MPLS-TP tunnel identifiers cannot be used directly. The mplsTunnelExtNodeConfigTable will be used to store an entry for - ICC or Global_Node_ID with a local identifier to be used as LSR ID - in mplsTunnelTable. As the regular TE tunnels use IP address as LSR - ID, the local identifier should be below the first valid IP address, + ICC or Global_Node_ID with a local identifier to be used as LSR ID in + mplsTunnelTable. As the regular TE tunnels use IP address as LSR ID, + the local identifier should be below the first valid IP address, which is 16777216[1.0.0.0]. 6.2. mplsTunnelExtNodeIpMapTable The read-only mplsTunnelExtNodeIpMaptable is used to query the local identifier assigned and stored in mplsTunnelExtNodeConfigTable for a given Global_Node_ID. In order to query the local identifier, in the IP compatible mode, this table is indexed with Global_Node_ID. In the IP compatible mode for a TP tunnel, Global_Node_ID is used. @@ -242,26 +296,27 @@ identifier assigned and stored in the mplsTunnelExtNodeConfigTable for a given ICC. A separate query is made to get the local identifier of both Ingress and Egress ICC. These local identifiers are used as mplsTunnelIngressLSRId and mplsTunnelEgressLSRId, while indexing mplsTunnelTable. 6.4.mplsTunnelExtTable - mplsTunnelExtTable extends the mplsTunnelTable to add MPLS-TP tunnel - specific additional objects. All the additional attributes specific - to TP tunnel are contained in this extended table and could be - accessed with the mplsTunnelTable indices. + mplsTunnelExtTable extends the mplsTunnelTable in order to support + MPLS-TP tunnels with additional objects. All the additional + attributes specific to supporting TP tunnel are contained in this + extended table and could be accessed with the mplsTunnelTable + indices. -6.5 mplsTunnelExtReversePerfTable +6.5. mplsTunnelExtReversePerfTable This table augments the mplsTunnelTable to provide per-tunnel packet performance information for the reverse direction of a bidirectional tunnel. It can be seen as supplementing the mplsTunnelPerfTable, which augments the mplsTunnelTable. 7. MIB Module Interdependencies This section provides an overview of the relationship between the MPLS-TP TE MIB module and other MPLS MIB modules. @@ -354,21 +409,21 @@ backward reference to tunnel entry. 9. Example of MPLS-TP Tunnel Setup In this section, we provide an example of the IP based MPLS-TP bidirectional tunnel setup. This example provides the usage of MPLS-TP Tunnel MIB along with the extended new MIB modules introduced in this document. Do note that a MPLS-TP tunnel could be setup statically as well as signaled via control plane. This example considers accessing MIB - objects on a head-end for a static MPLS-TP tunnel. + objects on a head-end for a static and signaling MPLS-TP tunnels. Only relevant objects which are applicable for MPLS-TP tunnel are illustrated here. In mplsTunnelExtNodeConfigTable: { -- Non-IP Ingress LSR-Id (Index to the table) mplsTunnelExtNodeConfigLocalId = 1, mplsTunnelExtNodeConfigGlobalId = 1234, @@ -402,26 +457,26 @@ mplsTunnelExtNodeIpMapNodeId = 10, mplsTunnelExtNodeIpMapLocalId = 1 -- Global_ID (Index to the table) mplsTunnelExtNodeIpMapGlobalId = 1234, -- Node Identifier (Index to the table) mplsTunnelExtNodeIpMapNodeId = 20, mplsTunnelExtNodeIpMapLocalId = 2 } -9.1 Example of MPLS-TP co-routed bidirectional tunnel setup +9.1. Example of MPLS-TP static co-routed bidirectional tunnel setup The following denotes the configured co-routed bidirectional tunnel "head" entry: -9.1.1 mplsTunnelEntry +9.1.1. mplsTunnelEntry In mplsTunnelTable: { mplsTunnelIndex = 1, mplsTunnelInstance = 1, -- Local map number created in mplsTunnelExtNodeConfigTable for -- Ingress LSR-Id mplsTunnelIngressLSRId = 1, @@ -444,146 +499,149 @@ mplsTunnelInstancePriority = 1, mplsTunnelHopTableIndex = 1, mplsTunnelIncludeAnyAffinity = 0, mplsTunnelIncludeAllAffinity = 0, mplsTunnelExcludeAnyAffinity = 0, mplsTunnelRole = head (1), -- Mandatory parameters needed to activate the row go here mplsTunnelRowStatus = createAndGo (4) } -9.1.2 mplsTunnelExtEntry +9.1.2. mplsTunnelExtEntry -- An MPLS extension table In mplsTunnelExtTable: { -- This opposite direction tunnel pointer MAY be point to 0.0 -- if co-routed bidirectional tunnel is managed by single tunnel -- entry mplsTunnelExtOppositeDirTnlPtr = 0.0 - } + -- Set both the Ingress and Egress LocalId objects to TRUE as + -- this tunnel entry uses the local identifiers. + mplsTunnelExtIngressLSRLocalIdValid = true, + mplsTunnelExtEgressLSRLocalIdValid = true + } We must next create the appropriate in-segment and out-segment - entries. These are done in [RFC3813] using the mplsInSegmentTable - and mplsOutSegmentTable. + entries. These are done in [RFC3813] using the mplsInSegmentTable and + mplsOutSegmentTable. -9.1.3 Forward direction mplsOutSegmentEntry +9.1.3. Forward direction mplsOutSegmentEntry For the forward direction. In mplsOutSegmentTable: { mplsOutSegmentIndex = 0x0000001, mplsOutSegmentInterface = 13, -- outgoing interface mplsOutSegmentPushTopLabel = true(1), mplsOutSegmentTopLabel = 22, -- outgoing label -- RowPointer MUST point to the first accessible column. mplsOutSegmentTrafficParamPtr = 0.0, mplsOutSegmentRowStatus = createAndGo (4) } -9.1.4 Reverse direction mplsInSegmentEntry +9.1.4. Reverse direction mplsInSegmentEntry For the reverse direction. In mplsInSegmentTable: { mplsInSegmentIndex = 0x0000001 mplsInSegmentLabel = 21, -- incoming label mplsInSegmentNPop = 1, mplsInSegmentInterface = 13, -- incoming interface -- RowPointer MUST point to the first accessible column. mplsInSegmentTrafficParamPtr = 0.0, mplsInSegmentRowStatus = createAndGo (4) } Next, two cross-connect entries are created in the mplsXCTable of the MPLS-LSR-STD-MIB [RFC3813], thereby associating the newly created segments together. -9.1.5 Forward direction mplsXCEntry +9.1.5. Forward direction mplsXCEntry In mplsXCTable: { mplsXCIndex = 0x01, mplsXCInSegmentIndex = 0x00000000, mplsXCOutSegmentIndex = 0x00000001, mplsXCLspId = 0x0102 -- unique ID -- only a single outgoing label mplsXCLabelStackIndex = 0x00, mplsXCRowStatus = createAndGo(4) } -9.1.6 Reverse direction mplsXCEntry +9.1.6. Reverse direction mplsXCEntry In mplsXCTable: { mplsXCIndex = 0x01, mplsXCInSegmentIndex = 0x00000001, mplsXCOutSegmentIndex = 0x00000000, mplsXCLspId = 0x0102 -- unique ID -- only a single outgoing label mplsXCLabelStackIndex = 0x00, mplsXCRowStatus = createAndGo(4) } This table entry is extended by entry in the mplsXCExtTable. Note that the nature of the 'extends' relationship is a sparse augmentation so that the entry in the mplsXCExtTable has the same index values as the entry in the mplsXCTable. -9.1.5 Forward direction mplsXCExtEntry +9.1.7. Forward direction mplsXCExtEntry In mplsXCExtTable (0x01, 0x00000000, 0x00000001) { -- Back pointer from XC table to Tunnel table mplsXCExtTunnelPointer = mplsTunnelName.1.1.1.2 mplsXCExtOppositeDirXCPtr = mplsXCLspId.4.0.0.0.1.4.0.0.0.1.1.0 } -9.1.6 Reverse direction mplsXCExtEntry +9.1.8. Reverse direction mplsXCExtEntry Next for the reverse direction: In mplsXCExtTable (0x01, 0x00000001, 0x00000000) { -- Back pointer from XC table to Tunnel table mplsXCExtTunnelPointer = mplsTunnelName.1.1.1.2 mplsXCExtOppositeDirXCPtr = mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1 } -9.1.7 mplsTunnelExtReversePerfTable - +9.1.9. mplsTunnelExtReversePerfTable The mplsTunnelExtReversePerfTable SHOULD be populated incase the single tunnel entry is used for co-routed bidirectional tunnel setup. The mplsTunnelPerfTable will have the forward direction LSP performance counters and mplsTunnelExtReversePerfTable will have the reverse direction LSP performance counters. -9.2 Example of MPLS-TP associated bidirectional tunnel setup +9.2. Example of MPLS-TP static associated bidirectional tunnel setup The MPLS-TP associated bidirectional tunnel has two different direction tunnels[Forward and Reverse LSPs] and these are associated together using mplsTunnelExtTable. Two different tunnel entries for both forward and reverse direction MAY be used for co-routed bidirectional tunnel as well. - The following denotes the configured associated bidirectional - forward tunnel "head" entry: + The following denotes the configured associated bidirectional forward + tunnel "head" entry: -9.2.1 Forward direction mplsTunnelEntry +9.2.1. Forward direction mplsTunnelEntry In mplsTunnelTable: { mplsTunnelIndex = 1, mplsTunnelInstance = 1, -- Local map number created in mplsTunnelExtNodeConfigTable for -- Ingress LSR-Id mplsTunnelIngressLSRId = 1, @@ -603,77 +661,80 @@ mplsTunnelSessionAttributes = 0, mplsTunnelLocalProtectInUse = false (0), -- RowPointer MUST point to the first accessible column mplsTunnelResourcePointer = mplsTunnelResourceMaxRate.5, mplsTunnelInstancePriority = 1, mplsTunnelHopTableIndex = 1, mplsTunnelIncludeAnyAffinity = 0, mplsTunnelIncludeAllAffinity = 0, mplsTunnelExcludeAnyAffinity = 0, mplsTunnelRole = head (1), - -- Mandatory parameters needed to activate the row go here mplsTunnelRowStatus = createAndGo (4) } -9.2.2 Forward direction mplsTunnelExtEntry +9.2.2. Forward direction mplsTunnelExtEntry For Associated bidirectional forward LSP, In mplsTunnelExtTable: { - mplsTunnelExtOppositeDirPtr.1.1.1.2 = mplsTunnelName.2.1.2.1 + mplsTunnelExtOppositeDirPtr = mplsTunnelName.2.1.2.1 + -- Set both the Ingress and Egress LocalId objects to TRUE as + -- this tunnel entry uses the local identifiers. + mplsTunnelExtIngressLSRLocalIdValid = true, + mplsTunnelExtEgressLSRLocalIdValid = true } -9.2.3 Forward direction mplsOutSegmentTable +9.2.3. Forward direction mplsOutSegmentTable For the forward direction. In mplsOutSegmentTable: { mplsOutSegmentIndex = 0x0000001, mplsOutSegmentInterface = 13, -- outgoing interface mplsOutSegmentPushTopLabel = true(1), mplsOutSegmentTopLabel = 22, -- outgoing label -- RowPointer MUST point to the first accessible column. mplsOutSegmentTrafficParamPtr = 0.0, mplsOutSegmentRowStatus = createAndGo (4) } -9.2.4 Forward direction mplsXCEntry +9.2.4. Forward direction mplsXCEntry In mplsXCTable: { mplsXCIndex = 0x01, mplsXCInSegmentIndex = 0x00000000, mplsXCOutSegmentIndex = 0x00000001, mplsXCLspId = 0x0102 -- unique ID -- only a single outgoing label mplsXCLabelStackIndex = 0x00, mplsXCRowStatus = createAndGo(4) } -9.2.5 Forward direction mplsXCExtEntry +9.2.5. Forward direction mplsXCExtEntry In mplsXCExtTable (0x01, 0x00000000, 0x00000001) { -- Back pointer from XC table to Tunnel table mplsXCExtTunnelPointer = mplsTunnelName.1.1.1.2 mplsXCExtOppositeDirXCPtr = mplsXCLspId.4.0.0.0.1.4.0.0.0.1.1.0 } -9.2.6 Forward direction mplsTunnelEntry +9.2.6. Reverse direction mplsTunnelEntry - The following denotes the configured associated bidirectional - reverse tunnel "tail" entry: + The following denotes the configured associated bidirectional reverse + tunnel "tail" entry: In mplsTunnelTable: { mplsTunnelIndex = 2, mplsTunnelInstance = 1, -- Local map number created in mplsTunnelExtNodeConfigTable for -- Ingress LSR-Id mplsTunnelIngressLSRId = 2, -- Local map number created in mplsTunnelExtNodeConfigTable for @@ -697,135 +758,260 @@ mplsTunnelInstancePriority = 1, mplsTunnelHopTableIndex = 1, mplsTunnelIncludeAnyAffinity = 0, mplsTunnelIncludeAllAffinity = 0, mplsTunnelExcludeAnyAffinity = 0, mplsTunnelRole = head (1), -- Mandatory parameters needed to activate the row go here mplsTunnelRowStatus = createAndGo (4) } -9.2.7 Reverse direction mplsTunnelExtEntry +9.2.7. Reverse direction mplsTunnelExtEntry For Associated bidirectional reverse LSP, In mplsTunnelExtTable: { - mplsTunnelExtOppositeDirPtr.2.1.2.1 = mplsTunnelName.1.1.1.2 + mplsTunnelExtOppositeDirPtr = mplsTunnelName.1.1.1.2 + -- Set both the Ingress and Egress LocalId objects to TRUE as + -- this tunnel entry uses the local identifiers. + mplsTunnelExtIngressLSRLocalIdValid = true, + mplsTunnelExtEgressLSRLocalIdValid = true } -9.2.8 Reverse direction mplsInSegmentEntry +9.2.8. Reverse direction mplsInSegmentEntry We must next create the appropriate in-segment and out-segment - entries. These are done in [RFC3813] using the mplsInSegmentTable - and mplsOutSegmentTable. + entries. These are done in [RFC3813] using the mplsInSegmentTable and + mplsOutSegmentTable. In mplsInSegmentTable: { mplsInSegmentIndex = 0x0000001 mplsInSegmentLabel = 21, -- incoming label mplsInSegmentNPop = 1, mplsInSegmentInterface = 13, -- incoming interface -- RowPointer MUST point to the first accessible column. mplsInSegmentTrafficParamPtr = 0.0, mplsInSegmentRowStatus = createAndGo (4) } Next, two cross-connect entries are created in the mplsXCTable of the MPLS-LSR-STD-MIB [RFC3813], thereby associating the newly created segments together. -9.2.9 Reverse direction mplsXCEntry +9.2.9. Reverse direction mplsXCEntry In mplsXCTable: { mplsXCIndex = 0x01, mplsXCInSegmentIndex = 0x00000001, mplsXCOutSegmentIndex = 0x00000000, mplsXCLspId = 0x0102 -- unique ID -- only a single outgoing label mplsXCLabelStackIndex = 0x00, mplsXCRowStatus = createAndGo(4) } This table entry is extended by entry in the mplsXCExtTable. Note that the nature of the 'extends' relationship is a sparse augmentation so that the entry in the mplsXCExtTable has the same index values as the entry in the mplsXCTable. -9.2.10 Reverse direction mplsXCExtEntry +9.2.10. Reverse direction mplsXCExtEntry + Next for the reverse direction: In mplsXCExtTable (0x01, 0x00000001, 0x00000000) { -- Back pointer from XC table to Tunnel table - mplsXCExtTunnelPointer = mplsTunnelName.1.1.1.2 + mplsXCExtTunnelPointer = mplsTunnelName.2.1.2.1 mplsXCExtOppositeDirXCPtr = mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1 } +9.3. Example of MPLS-TP signaling co-routed bidirectional tunnel setup + + The following denotes the configured co-routed bidirectional + tunnel "head" entry and in intermediate and tail-end nodes, + the tunnel table and its associated tables are created + by the local management subsystem (e.g. agent) when the MPLS TP + tunnel is signaled successfully. Refer [RFC3812] and [RFC4802] + for signaling tunnel table configuration examples. + +9.3.1. mplsTunnelEntry + + In mplsTunnelTable: + + { + mplsTunnelIndex = 1, + mplsTunnelInstance = 0, + -- Local map number created in mplsTunnelExtNodeConfigTable for + -- Ingress LSR-Id, for the intermediate and tail-end nodes, + -- the local management entity is expected to pick a first available + -- local identifier which is not used in mplsTunnelTable. + mplsTunnelIngressLSRId = 1, + + -- Local map number created in mplsTunnelExtNodeConfigTable for + -- Egress LSR-Id + mplsTunnelEgressLSRId = 2, + mplsTunnelName = "TP co-routed bidirectional LSP", + mplsTunnelDescr = "East to West", + mplsTunnelIsIf = true (1), + + -- RowPointer MUST point to the first accessible column + mplsTunnelXCPointer = + mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1, + mplsTunnelSignallingProto = none (1), + mplsTunnelSetupPrio = 0, + mplsTunnelHoldingPrio = 0, + mplsTunnelSessionAttributes = 0, + mplsTunnelLocalProtectInUse = false (0), + -- RowPointer MUST point to the first accessible column + mplsTunnelResourcePointer = mplsTunnelResourceMaxRate.5, + mplsTunnelInstancePriority = 1, + mplsTunnelHopTableIndex = 1, + mplsTunnelIncludeAnyAffinity = 0, + mplsTunnelIncludeAllAffinity = 0, + mplsTunnelExcludeAnyAffinity = 0, + mplsTunnelRole = head (1), + -- Mandatory parameters needed to activate the row go here + mplsTunnelRowStatus = createAndGo (4) + } + +9.3.2. mplsTunnelExtEntry + + -- An MPLS extension table + In mplsTunnelExtTable: + { + -- This opposite direction tunnel pointer MAY be point to 0.0 + -- if co-routed bidirectional tunnel is managed by single tunnel + -- entry + mplsTunnelExtOppositeDirTnlPtr = 0.0 + -- Set both the Ingress and Egress LocalId objects to TRUE as + -- this tunnel entry uses the local identifiers. + mplsTunnelExtIngressLSRLocalIdValid = true, + mplsTunnelExtEgressLSRLocalIdValid = true + } + + We must next create the appropriate in-segment and out-segment + entries. These are done in [RFC3813] using the mplsInSegmentTable and + mplsOutSegmentTable. + +9.3.3. Forward direction mplsOutSegmentEntry + + The forward direction mplsOutSegmentTable will be populated + automatically based on the information received from the signaling + protocol. + +9.3.4. Reverse direction mplsInSegmentEntry + The reverse direction mplsOutSegmentTable will be populated + automatically based on the information received from the signaling + protocol. + + Next, two cross-connect entries are created in the mplsXCTable of the + MPLS-LSR-STD-MIB [RFC3813], thereby associating the newly created + segments together. + +9.3.5. Forward direction mplsXCEntry + + The forward direction mplsXCEntry will be populated as soon as the + forward path label information is available. + +9.3.6. Reverse direction mplsXCEntry + + The reverse direction mplsXCEntry will be populated as soon as the + reverse path label information is available. + + This table entry is extended by entry in the mplsXCExtTable. Note + that the nature of the 'extends' relationship is a sparse + augmentation so that the entry in the mplsXCExtTable has the same + index values as the entry in the mplsXCTable. + +9.3.7. Forward direction mplsXCExtEntry + + Once the forward path information is negotiated using signaling + protocol, the forward direction mplsXCExtEntry will be created for + associating the opposite direction XC entry and tunnel table entry. + +9.3.8. Reverse direction mplsXCExtEntry + + Once the reverse path information is negotiated using signaling + protocol, the reverse direction mplsXCExtEntry will be created for + associating the opposite direction XC entry and tunnel table entry. + +9.3.9. mplsTunnelExtReversePerfTable + + The mplsTunnelExtReversePerfTable SHOULD be populated incase the + single tunnel entry is used for co-routed bidirectional tunnel setup. + The mplsTunnelPerfTable will have the forward direction LSP + performance counters and mplsTunnelExtReversePerfTable will have the + reverse direction LSP performance counters. + 10. MPLS Textual Convention Extension MIB definitions MPLS-TC-EXT-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, Unsigned32 FROM SNMPv2-SMI -- [RFC2578] TEXTUAL-CONVENTION FROM SNMPv2-TC -- [RFC2579] mplsStdMIB FROM MPLS-TC-STD-MIB -- [RFC3811] ; mplsTcExtStdMIB MODULE-IDENTITY LAST-UPDATED - "201207150000Z" -- July 15, 2012 + "201301140000Z" -- January 14, 2013 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Venkatesan Mahalingam Dell Inc, 350 Holger way, San Jose, CA, USA Email: venkat.mahalingams@gmail.com Kannan KV Sampath - Aricent, + Redeem, India - Email: Kannan.Sampath@aricent.com + Email: kannankvs@gmail.com Sam Aldrin Huawei Technologies 2330 Central Express Way, Santa Clara, CA 95051, USA Email: aldrin.ietf@gmail.com + Thomas D. Nadeau Juniper Networks 10 Technology Park Drive, Westford, MA 01886 Email: tnadeau@juniper.net " DESCRIPTION - "Copyright (c) 2012 IETF Trust and the persons identified + "Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This MIB module contains Textual Conventions for MPLS based transport networks." -- Revision history. REVISION - "201207150000Z" -- July 15, 2012 + + "201301140000Z" -- January 14, 2013 DESCRIPTION "MPLS Textual Convention Extensions" ::= { mplsStdMIB xxx } -- xxx to be replaced with correct value MplsGlobalId ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This object contains the Textual Convention of IP based @@ -842,50 +1028,59 @@ When the Global_ID is derived from a 2-octet AS number, the two high-order octets of this 4-octet identifier MUST be set to zero. Further ASN 0 is reserved. A Global_ID of zero means that no Global_ID is present. Note that a Global_ID of zero is limited to entities contained within a single operator and MUST NOT be used across an NNI. A non-zero Global_ID MUST be derived from an ASN owned by the operator." + REFERENCE + "MPLS Transport Profile (MPLS-TP) Identifiers, [RFC6370] + Section 3 Uniquely Identifying an Operator - the Global_ID" SYNTAX OCTET STRING (SIZE (4)) MplsNodeId ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "The Node_ID is assigned within the scope of the Global_ID. The value 0(or 0.0.0.0 in dotted decimal notation) is reserved and MUST NOT be used. When IPv4 addresses are in use, the value of this object can be derived from the LSR's IPv4 loop back address. When IPv6 addresses are in use, the value of this object can be a 32-bit value unique within the scope of a Global_ID. Note that, when IP reach ability is not needed, the 32-bit Node_ID is not required to have any association with the IPv4 address space." - SYNTAX Unsigned32 + REFERENCE + "MPLS Transport Profile (MPLS-TP) Identifiers, [RFC6370], + Section 4. Node and Interface Identifiers" + SYNTAX Unsigned32 -- the default range: (0..4294967295) MplsIccId ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The ICC is a string of one to six characters, each character being either alphabetic (i.e. A-Z) or numeric (i.e. 0-9) characters. Alphabetic characters in the ICC SHOULD be represented - with upper case letters." + REFERENCE + "MPLS-TP Identifiers Following ITU-T Conventions, + [I-D.ietf-mpls-tp-itu-t-identifiers], Section 3. + Uniquely Identifying an Operator - the ICC_Operator_ID" SYNTAX OCTET STRING (SIZE (1..6)) -- MPLS-TC-EXT-STD-MIB module ends END 11. MPLS Identifier MIB definitions MPLS-ID-STD-MIB DEFINITIONS ::= BEGIN IMPORTS @@ -894,108 +1089,105 @@ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580] mplsStdMIB FROM MPLS-TC-STD-MIB -- [RFC3811] MplsGlobalId, MplsIccId, MplsNodeId FROM MPLS-TC-EXT-STD-MIB ; mplsIdStdMIB MODULE-IDENTITY LAST-UPDATED - "201207150000Z" -- July 15, 2012 + "201301140000Z" -- January 14, 2013 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Venkatesan Mahalingam Dell Inc, 350 Holger way, San Jose, CA, USA Email: venkat.mahalingams@gmail.com Kannan KV Sampath - Aricent, + + Redeem, India - Email: Kannan.Sampath@aricent.com + Email: kannankvs@gmail.com Sam Aldrin Huawei Technologies 2330 Central Express Way, Santa Clara, CA 95051, USA Email: aldrin.ietf@gmail.com Thomas D. Nadeau Juniper Networks 10 Technology Park Drive, Westford, MA 01886 Email: tnadeau@juniper.net " DESCRIPTION - "Copyright (c) 2012 IETF Trust and the persons identified + "Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This MIB module contains generic object definitions for MPLS Traffic Engineering in transport networks." -- Revision history. REVISION - "201207150000Z" -- July 15, 2012 + "201301140000Z" -- January 14, 2013 DESCRIPTION - "MPLS identifiers MIB object extension" + "This MIB modules defines the MIB objects for MPLS-TP + identifiers" ::= { mplsStdMIB xxx } -- xxx to be replaced with correct value -- Notifications mplsIdNotifications OBJECT IDENTIFIER ::= { mplsIdStdMIB 0 } -- tables, scalars mplsIdObjects OBJECT IDENTIFIER ::= { mplsIdStdMIB 1 } -- conformance mplsIdConformance OBJECT IDENTIFIER ::= { mplsIdStdMIB 2 } -- MPLS common objects mplsIdGlobalId OBJECT-TYPE SYNTAX MplsGlobalId MAX-ACCESS read-write STATUS current DESCRIPTION - "This object allows the administrator to assign a unique + + "This object allows the operator to assign a unique operator identifier also called MPLS-TP Global_ID." - REFERENCE - "MPLS-TP Identifiers [RFC6370]." ::= { mplsIdObjects 1 } mplsIdIcc OBJECT-TYPE SYNTAX MplsIccId MAX-ACCESS read-write STATUS current DESCRIPTION "This object allows the operator or service provider to assign a unique MPLS-TP ITU-T Carrier Code (ICC) to a network." - REFERENCE - "MPLS-TP Identifiers [RFC6370]." ::= { mplsIdObjects 2 } mplsIdNodeId OBJECT-TYPE SYNTAX MplsNodeId MAX-ACCESS read-write STATUS current DESCRIPTION "This object allows the operator or service provider to assign a unique MPLS-TP Node_ID. The Node_ID is assigned within the scope of the Global_ID." - REFERENCE - "MPLS-TP Identifiers [RFC6370]." ::= { mplsIdObjects 3 } -- Module compliance. mplsIdGroups OBJECT IDENTIFIER ::= { mplsIdConformance 1 } mplsIdCompliances OBJECT IDENTIFIER ::= { mplsIdConformance 2 } @@ -1060,65 +1252,65 @@ IMPORTS MODULE-IDENTITY, OBJECT-TYPE FROM SNMPv2-SMI -- [RFC2578] MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580] mplsStdMIB FROM MPLS-TC-STD-MIB -- [RFC3811] RowPointer FROM SNMPv2-TC -- [RFC2579] mplsXCIndex, mplsXCInSegmentIndex, mplsXCOutSegmentIndex, - mplsInSegmentGroup, mplsOutSegmentGroup, mplsXCGroup, - mplsPerfGroup, mplsLsrNotificationGroup + mplsInterfaceGroup, mplsInSegmentGroup, mplsOutSegmentGroup, + mplsXCGroup, mplsPerfGroup, mplsLsrNotificationGroup FROM MPLS-LSR-STD-MIB; -- [RFC3813] mplsLsrExtStdMIB MODULE-IDENTITY LAST-UPDATED - "201207150000Z" -- July 15, 2012 + "201301140000Z" -- January 14, 2013 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Venkatesan Mahalingam Dell Inc, 350 Holger way, San Jose, CA, USA Email: venkat.mahalingams@gmail.com Kannan KV Sampath - Aricent, + Redeem, India - Email: Kannan.Sampath@aricent.com + Email: kannankvs@gmail.com Sam Aldrin Huawei Technologies 2330 Central Express Way, Santa Clara, CA 95051, USA Email: aldrin.ietf@gmail.com Thomas D. Nadeau Juniper Networks 10 Technology Park Drive, Westford, MA 01886 Email: tnadeau@juniper.net " DESCRIPTION - "Copyright (c) 2012 IETF Trust and the persons identified + "Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This MIB module contains generic object definitions for MPLS LSR in transport networks." -- Revision history. REVISION - "201207150000Z" -- July 15, 2012 + "201301140000Z" -- January 14, 2013 DESCRIPTION "MPLS LSR specific MIB objects extension" ::= { mplsStdMIB xxx } -- xxx to be replaced with correct value -- Notifications mplsLsrExtNotifications OBJECT IDENTIFIER ::= { mplsLsrExtStdMIB 0 } -- tables, scalars mplsLsrExtObjects OBJECT IDENTIFIER @@ -1131,76 +1323,82 @@ mplsXCExtTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsXCExtEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table sparse augments the mplsXCTable of MPLS-LSR-STD-MIB [RFC3813] to provide MPLS-TP specific information about associated tunnel information" REFERENCE "1. Multiprotocol Label Switching (MPLS) Label Switching - Router (LSR) Management Information Base (MIB), RFC 3813." + Router (LSR) Management Information Base (MIB), RFC 3813, + Section 5.7. mplsXCTable" ::= { mplsLsrExtObjects 1 } mplsXCExtEntry OBJECT-TYPE SYNTAX MplsXCExtEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION + "An entry in this table extends the cross connect information represented by an entry in the mplsXCTable in MPLS-LSR-STD-MIB [RFC3813] through a sparse augmentation. An entry can be created by - a network administrator via SNMP SET commands, or in + a network operator via SNMP SET commands, or in response to signaling protocol events." REFERENCE "1. Multiprotocol Label Switching (MPLS) Label Switching - Router (LSR) Management Information Base (MIB), RFC 3813." + Router (LSR) Management Information Base (MIB), RFC 3813, + Section 10. mplsXCTable" INDEX { mplsXCIndex, mplsXCInSegmentIndex, mplsXCOutSegmentIndex } ::= { mplsXCExtTable 1 } MplsXCExtEntry ::= SEQUENCE { mplsXCExtTunnelPointer RowPointer, mplsXCExtOppositeDirXCPtr RowPointer } mplsXCExtTunnelPointer OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "This read-only object indicates the back pointer to the tunnel entry segment." REFERENCE "1. Multiprotocol Label Switching (MPLS) Label Switching - Router (LSR) Management Information Base (MIB), RFC 3813." + Router (LSR) Management Information Base (MIB), RFC 3813, + Section 10. mplsXCTable" ::= { mplsXCExtEntry 1 } mplsXCExtOppositeDirXCPtr OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the pointer to the opposite direction XC entry. This object cannot be modified if mplsXCRowStatus for the corresponding entry in the mplsXCTable is active(1)." REFERENCE "1. Multiprotocol Label Switching (MPLS) Label Switching - Router (LSR) Management Information Base (MIB), RFC 3813." + Router (LSR) Management Information Base (MIB), RFC 3813, + Section 10. mplsXCTable" ::= { mplsXCExtEntry 2 } mplsLsrExtGroups OBJECT IDENTIFIER ::= { mplsLsrExtConformance 1 } + mplsLsrExtCompliances OBJECT IDENTIFIER ::= { mplsLsrExtConformance 2 } -- Compliance requirement for fully compliant implementations. mplsLsrExtModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that provide full support for MPLS-LSR-EXT-STD-MIB. @@ -1252,22 +1450,29 @@ MODULE -- this module MANDATORY-GROUPS { mplsXCExtGroup } OBJECT mplsXCExtTunnelPointer SYNTAX RowPointer MIN-ACCESS read-only DESCRIPTION - "The only valid value for Tunnel Pointer is mplsTunnelTable - entry." + "The only valid value for Tunnel Pointer is + mplsTunnelTable entry." + + OBJECT mplsXCExtOppositeDirXCPtr + SYNTAX RowPointer + MIN-ACCESS read-only + DESCRIPTION + "The only valid value for XC Pointer is + mplsXCTable entry." ::= { mplsLsrExtCompliances 2 } mplsXCExtGroup OBJECT-GROUP OBJECTS { mplsXCExtTunnelPointer, mplsXCExtOppositeDirXCPtr } STATUS current DESCRIPTION @@ -1295,59 +1502,57 @@ mplsStdMIB, MplsTunnelIndex, MplsTunnelInstanceIndex, MplsExtendedTunnelId FROM MPLS-TC-STD-MIB -- [RFC3811] mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId FROM MPLS-TE-STD-MIB -- [RFC3812] ; mplsTeExtStdMIB MODULE-IDENTITY LAST-UPDATED - "201207150000Z" -- July 15, 2012 + "201301140000Z" -- January 14, 2013 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Venkatesan Mahalingam Dell Inc, 350 Holger way, San Jose, CA, USA Email: venkat.mahalingams@gmail.com Kannan KV Sampath - Aricent, - + Redeem, India - - Email: Kannan.Sampath@aricent.com + Email: kannankvs@gmail.com Sam Aldrin Huawei Technologies 2330 Central Express Way, Santa Clara, CA 95051, USA Email: aldrin.ietf@gmail.com Thomas D. Nadeau Juniper Networks 10 Technology Park Drive, Westford, MA 01886 Email: tnadeau@juniper.net " DESCRIPTION - "Copyright (c) 2012 IETF Trust and the persons identified + "Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This MIB module contains generic object definitions for MPLS Traffic Engineering in transport networks." -- Revision history. REVISION - "201207150000Z" -- July 15, 2012 + "201301140000Z" -- January 14, 2013 DESCRIPTION "MPLS TE MIB objects extension" ::= { mplsStdMIB xxx } -- xxx to be replaced -- with correct value -- Top level components of this MIB module. -- Notifications @@ -1359,21 +1564,21 @@ -- conformance mplsTeExtConformance OBJECT IDENTIFIER ::= { mplsTeExtStdMIB 2 } -- Start of MPLS Transport Profile Node configuration table mplsTunnelExtNodeConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsTunnelExtNodeConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "This table allows the administrator to map a node or + "This table allows the operator to map a node or LSR Identifier (IP compatible [Global_Node_ID] or ICC) with a local identifier. This table is created to reuse the existing mplsTunnelTable for MPLS based transport network tunnels also. Since the MPLS tunnel's Ingress/Egress LSR identifiers' size (Unsigned32) value is not compatible for MPLS-TP tunnel i.e. Global_Node_Id of size 8 bytes and ICC of size 6 bytes, there exists a need to map the @@ -1414,84 +1620,95 @@ mplsTunnelExtNodeConfigLocalId OBJECT-TYPE SYNTAX MplsExtendedTunnelId MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object is used in accommodating the bigger size Global_Node_ID and/or ICC with lower size LSR identifier in order to index the mplsTunnelTable. - The Local Identifier is configured between 1 and 16777215, + The Local Identifier is configured between 0 and 16777215, as valid IP address range starts from 16777216(01.00.00.00). This range is chosen to identify the mplsTunnelTable's Ingress/Egress LSR-id is IP address or Local identifier, - if the configured range is not IP address, administrator is + if the configured range is not IP address, operator is expected to retrieve the complete information (Global_Node_ID or ICC) from mplsTunnelExtNodeConfigTable. This way, existing mplsTunnelTable is reused for - bidirectional - tunnel extensions for MPLS based transport networks. + bidirectional tunnel extensions for MPLS based transport + networks. - This Local Identifier allows the administrator to assign - a unique identifier to map Global_Node_ID and/or ICC." + This Local Identifier allows the operator to assign + a unique identifier to map Global_Node_ID and/or ICC. + As this Local Identifier is unique within the node and + the same syntax of this object can be used for MPLS TE + tunnel also, it is up to the operator/local management + entity to choose the non-conflicting value for indexing + the MPLS and MPLS-TP tunnel entries." ::= { mplsTunnelExtNodeConfigEntry 1 } mplsTunnelExtNodeConfigGlobalId OBJECT-TYPE SYNTAX MplsGlobalId - MAX-ACCESS read-write + MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the Global Operator Identifier. This object value should be zero when mplsTunnelExtNodeConfigIccId is configured with non-null value." REFERENCE - "MPLS-TP Identifiers [RFC6370]." + "MPLS Transport Profile (MPLS-TP) Identifiers [RFC6370] + Section 3. Uniquely Identifying an Operator - + the Global_ID" ::= { mplsTunnelExtNodeConfigEntry 2 } mplsTunnelExtNodeConfigNodeId OBJECT-TYPE SYNTAX MplsNodeId - MAX-ACCESS read-write + MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the Node_ID within the operator. This object value should be zero when mplsTunnelExtNodeConfigIccId is configured with non-null value." REFERENCE - "MPLS-TP Identifiers [RFC6370]." + "MPLS Transport Profile (MPLS-TP) Identifiers [RFC6370] + Section 4, Node and Interface Identifiers" ::= { mplsTunnelExtNodeConfigEntry 3 } mplsTunnelExtNodeConfigIccId OBJECT-TYPE SYNTAX MplsIccId - MAX-ACCESS read-write + MAX-ACCESS read-create STATUS current DESCRIPTION "This object allows the operator or service provider to configure a unique MPLS-TP ITU-T Carrier Code (ICC) either for Ingress ID or Egress ID. This object value should be zero when mplsTunnelExtNodeConfigGlobalId and mplsTunnelExtNodeConfigNodeId are assigned with non-zero value." REFERENCE - "MPLS-TP Identifiers [RFC6370]." + "MPLS-TP Identifiers Following ITU-T Conventions, + [I-D.ietf-mpls-tp-itu-t-identifiers], August 2012, + Section 3. Uniquely Identifying an Operator - the + ICC_Operator_ID" ::= { mplsTunnelExtNodeConfigEntry 4 } mplsTunnelExtNodeConfigRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION - "This object allows the administrator to create, modify, + "This object allows the operator to create, modify, and/or delete a row in this table." ::= { mplsTunnelExtNodeConfigEntry 5 } mplsTunnelExtNodeConfigStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this object. @@ -1495,34 +1712,36 @@ DESCRIPTION "This variable indicates the storage type for this object. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row." DEFVAL { volatile } ::= { mplsTunnelExtNodeConfigEntry 6 } -- End of MPLS Transport Profile Node configuration table + -- Start of MPLS Transport Profile Node IP compatible -- mapping table mplsTunnelExtNodeIpMapTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsTunnelExtNodeIpMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "This read-only table allows the administrator to retrieve + "This read-only table allows the operator to retrieve the local identifier for a given Global_Node_ID in an IP compatible operator environment. This table MAY be used in on-demand and/or proactive + OAM operations to get the Ingress/Egress LSR identifier (Local Identifier) from Src-Global_Node_ID or Dst-Global_Node_ID and the Ingress and Egress LSR identifiers are used to retrieve the tunnel entry. This table returns nothing when the associated entry is not defined in mplsTunnelExtNodeConfigTable." ::= { mplsTeExtObjects 2 } mplsTunnelExtNodeIpMapEntry OBJECT-TYPE @@ -1577,21 +1799,21 @@ -- End MPLS Transport Profile Node IP compatible table -- Start of MPLS Transport Profile Node ICC based table mplsTunnelExtNodeIccMapTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsTunnelExtNodeIccMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "This read-only table allows the administrator to retrieve + "This read-only table allows the operator to retrieve the local identifier for a given ICC operator in an ICC operator environment. This table MAY be used in on-demand and/or proactive OAM operations to get the Ingress/Egress LSR identifier (Local Identifier) from Src-ICC or Dst-ICC and the Ingress and Egress LSR identifiers are used to retrieve the tunnel entry. This table returns nothing when the associated entry is not defined in mplsTunnelExtNodeConfigTable." @@ -1636,29 +1858,30 @@ SYNTAX MplsExtendedTunnelId MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an ICC based local identifier which is defined in mplsTunnelExtNodeConfigTable." ::= { mplsTunnelExtNodeIccMapEntry 2 } -- End MPLS Transport Profile Node ICC based table + -- Start of MPLS Tunnel table extension mplsTunnelExtTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsTunnelExtEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "This table represents MPLS-TP specific extensions to - mplsTunnelTable. + "This table represents extensions to mplsTunnelTable + in order to support MPLS-TP tunnels. As per MPLS-TP Identifiers [RFC6370], LSP_ID for IP based co-routed bidirectional tunnel, A1-{Global_ID::Node_ID::Tunnel_Num}::Z9-{Global_ID:: Node_ID::Tunnel_Num}::LSP_Num LSP_ID for IP based associated bidirectional tunnel, A1-{Global_ID::Node_ID::Tunnel_Num::LSP_Num}:: Z9-{Global_ID::Node_ID::Tunnel_Num::LSP_Num} @@ -1671,21 +1894,22 @@ mplsTunnelIngressLSRId, Destination Node_ID is mapped with mplsTunnelEgressLSRId LSP_Num is mapped with mplsTunnelInstance. Source Global_Node_ID and/or ICC and Destination Global_Node_ID and/or ICC are maintained in the mplsTunnelExtNodeConfigTable and mplsTunnelExtNodeConfigLocalId is used to create an entry in mplsTunnelTable." REFERENCE - "MPLS-TP Identifiers [RFC6370]." + "MPLS Transport Profile (MPLS-TP) Identifiers [RFC6370], + Section 3 and 4." ::= { mplsTeExtObjects 4 } mplsTunnelExtEntry OBJECT-TYPE SYNTAX MplsTunnelExtEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents MPLS-TP specific additional tunnel configurations." INDEX { @@ -1694,38 +1918,53 @@ mplsTunnelIngressLSRId, mplsTunnelEgressLSRId } ::= { mplsTunnelExtTable 1 } MplsTunnelExtEntry ::= SEQUENCE { mplsTunnelExtOppositeDirPtr RowPointer, mplsTunnelExtOppositeDirTnlValid TruthValue, mplsTunnelExtDestTnlIndex MplsTunnelIndex, mplsTunnelExtDestTnlLspIndex MplsTunnelInstanceIndex, - mplsTunnelExtDestTnlValid TruthValue + mplsTunnelExtDestTnlValid TruthValue, + mplsTunnelExtIngressLSRLocalIdValid TruthValue, + mplsTunnelExtEgressLSRLocalIdValid TruthValue + } mplsTunnelExtOppositeDirPtr OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This object is applicable only for the bidirectional tunnel that has the forward and reverse LSPs in the same tunnel or in the different tunnels. This object holds the opposite direction tunnel entry if the bidirectional tunnel is setup by configuring two tunnel entries in mplsTunnelTable. + Note that there are two different ways to represent the + opposite direction tunnel entry. One method is to use this + object mplsTunnelExtOppositeDirPtr as RowPointer and make + it point to the other direction tunnel. Other method is to + use the mplsTunnelExtDestTnlIndex and + mplsTunnelExtDestTnlLspIndex instead of using this + mplsTunnelExtOppositeDirPtr. Implementation can choose + either one of the method to represent the opposite + direction tunnel. Duplicate methods are provided to provide + easy ways for different implementations. + The value of zeroDotZero indicates single tunnel entry is used for bidirectional tunnel setup." + DEFVAL { zeroDotZero } ::= { mplsTunnelExtEntry 1 } mplsTunnelExtOppositeDirTnlValid OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes whether or not this tunnel uses mplsTunnelExtOppositeDirPtr for identifying the opposite @@ -1798,41 +2038,86 @@ mplsTunnelExtDestTnlIndex and mplsTunnelExtDestTnlLspIndex for identifying the opposite direction tunnel information. Note that if this variable is set to true then the mplsTunnelExtDestTnlIndex and mplsTunnelExtDestTnlLspIndex objects should have the valid opposite direction tunnel indices." DEFVAL { false } ::= { mplsTunnelExtEntry 5 } - -- End of MPLS Tunnel table extension + mplsTunnelExtIngressLSRLocalIdValid OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object denotes whether the mplsTunnelIngressLSRId + contains the local value, which is used to reference + the complete Ingress Global_ID::Node_ID or ICC from + the mplsTunnelExtNodeConfigTable." + REFERENCE + "MPLS-TE-STD-MIB [RFC3812], Section 11. mplsTunnelIngressLSRId + object in mplsTunnelTable. + + If this object is set to FALSE, mplsTunnelExtNodeConfigTable + will not contain an entry to reference local identifier with + Global_ID::Node_ID or ICC value. + + This object is set to FALSE for legacy implementations like + MPLS TE tunnels where mplsTunnelIngressId itself provides + complete Ingress LSRId." + DEFVAL { false } + ::= { mplsTunnelExtEntry 6 } + + mplsTunnelExtEgressLSRLocalIdValid OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object denotes whether the mplsTunnelEgressLSRId + contains the local value, which is used to reference + the complete Egress Global_ID::Node_ID or ICC from + the mplsTunnelExtNodeConfigTable." + REFERENCE + "MPLS-TE-STD-MIB [RFC3812], Section 11. mplsTunnelEgressLSRId + object in mplsTunnelTable. + If this object is set to FALSE, mplsTunnelExtNodeConfigTable + will not contain an entry to reference local identifier with + Global_ID::Node_ID or ICC value. + + This object is set to FALSE for legacy implementations like + MPLS TE tunnels where mplsTunnelEgressId itself provides + complete Egress LSRId." + DEFVAL { false } + ::= { mplsTunnelExtEntry 7 } + + -- End of MPLS Tunnel table extension mplsTunnelExtReversePerfTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsTunnelExtReversePerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table extends the mplsTunnelTable to provide per-tunnel packet performance information for the reverse direction of a bidirectional tunnel. It can be seen as supplementing the mplsTunnelPerfTable, which augments the mplsTunnelTable. For links that do not transport packets, these packet counters cannot be maintained. For such links, attempts to read the objects in this table will return noSuchInstance." REFERENCE "1. Multiprotocol Label Switching (MPLS) Traffic Engineering (TE)Management Information Base (MIB), - RFC 3812." + RFC 3812. Section 6.6. mplsTunnelPerfTable" ::= { mplsTeExtObjects 5 } mplsTunnelExtReversePerfEntry OBJECT-TYPE SYNTAX MplsTunnelExtReversePerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table is created by the LSR for every bidirectional MPLS tunnel where packets are visible to the LSR." @@ -2006,20 +2292,22 @@ -- Units of conformance. mplsTunnelExtGroup OBJECT-GROUP OBJECTS { mplsTunnelExtOppositeDirPtr, mplsTunnelExtOppositeDirTnlValid, mplsTunnelExtDestTnlIndex, mplsTunnelExtDestTnlLspIndex, mplsTunnelExtDestTnlValid, + mplsTunnelExtIngressLSRLocalIdValid, + mplsTunnelExtEgressLSRLocalIdValid, mplsTunnelExtReversePerfPackets, mplsTunnelExtReversePerfHCPackets, mplsTunnelExtReversePerfErrors, mplsTunnelExtReversePerfBytes, mplsTunnelExtReversePerfHCBytes } STATUS current DESCRIPTION "Necessary, but not sufficient, set of objects to @@ -2090,42 +2378,42 @@ access to the objects only to those principles (users) that have legitimate rights to indeed GET or SET (change/create/delete) them. 15. IANA Considerations To be added in a later version of this document. 16. References -16.1 Normative References +16.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., and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, January 2001. -16.2 Informative References +16.2. Informative References [RFC3812] Srinivasan, C., Viswanathan, A., and T. Nadeau, "Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management Information Base (MIB)", RFC 3812, June 2004. [RFC3813] Srinivasan, C., Viswanathan, A., and T. Nadeau, "Multiprotocol Label Switching (MPLS) Label Switching (LSR) Router Management Information Base (MIB)", RFC 3813, June 2004. @@ -2143,25 +2431,30 @@ Engineering Management Information Base", RFC 4802, February 2007. [RFC5654] Niven-Jenkins, B., Ed., Brungard, D., Ed., Betts, M., Ed., Sprecher, N., and S. Ueno, "Requirements of an MPLS Transport Profile", RFC 5654, September 2009. [RFC6370] Bocci, M., Swallow, G., and E. Gray, "MPLS Transport Profile (MPLS-TP) Identifiers", RFC 6370, September 2011. + [I-D.ietf-mpls-tp-itu-t-identifiers] Winter, R., Gray, E., Helvoort, + H., and M. Betts, "MPLS-TP Identifiers Following ITU-T + Conventions", draft-ietf-mpls-tp-itu-t-identifiers-07 + (work in progress), August 2012. + 17. Acknowledgments The authors would like to thank Francesco Fondelli, Josh Littlefield, - Agrahara Kiran Koushik, Metrri Jain, Muly Ilan and Joan Cucchiara - for their valuable comments. + Agrahara Kiran Koushik, Metrri Jain, Muly Ilan, Joan Cucchiara and + Randy Presuhn for their valuable comments. 18. Authors' Addresses Sam Aldrin Huawei Technologies 2330 Central Express Way, Santa Clara, CA 95051, USA Email: aldrin.ietf@gmail.com Thomas D. Nadeau @@ -2161,19 +2454,20 @@ Sam Aldrin Huawei Technologies 2330 Central Express Way, Santa Clara, CA 95051, USA Email: aldrin.ietf@gmail.com Thomas D. Nadeau Juniper Networks 10 Technology Park Drive, Westford, MA 01886 Email: tnadeau@juniper.net + Venkatesan Mahalingam Dell Inc. 350 Holger way, San Jose, CA, USA Email: venkat.mahalingams@gmail.com Kannan KV Sampath - Aricent + Redeem India - Email: Kannan.Sampath@aricent.com + Email: kannankvs@gmail.com