Network Working Group INTERNET-DRAFT M.Venkatesan Intended Status: Standards Track Dell Inc. Expires: July 18, 2013 Kannan KV Sampath Redeem Sam K. Aldrin Huawei Technologies Thomas D. Nadeau Juniper Networks January 14, 2013 MPLS-TP Traffic Engineering (TE) Management Information Base (MIB) 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 This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on July 18, 2013. Venkatesan, et al. Expires July 18, 2013 [Page 1] INTERNET DRAFT MPLS-TP MIB January 14, 2013 Copyright and License Notice 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 . . . . . . . . . . . . . . . . . . . . . . . . . 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 Venkatesan, et al. Expires July 18, 2013 [Page 2] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 Venkatesan, et al. Expires July 18, 2013 [Page 3] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 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. 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. 3. Overview 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 Venkatesan, et al. Expires July 18, 2013 [Page 4] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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]. Venkatesan, et al. Expires July 18, 2013 [Page 5] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 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 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 Venkatesan, et al. Expires July 18, 2013 [Page 6] INTERNET DRAFT MPLS-TP MIB January 14, 2013 objects. - A node configuration table (mplsTunnelExtNodeConfigTable) is used to translate the Global_Node_ID or ICC to the local identifier in order to index mplsTunnelTable. - The MIB module supports persistent, as well as non-persistent tunnels. 6. Brief description of MIB Objects The objects described in this section support the functionality described in documents [RFC5654] and [RFC6370]. The tables support both IP compatible and ICC based tunnel configurations. 6.1. mplsTunnelExtNodeConfigTable The mplsTunnelExtNodeConfigTable is used to assign a local identifier for a given ICC or Global_Node_ID combination as defined in [RFC6370]. An 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. In the IP compatible mode, Global_Node_ID, is used to uniquely identify a node. Each ICC or Global_Node_ID contains one unique entry in the table representing a node. Every node is assigned a local identifier within a range of 0 to 16777215. This local identifier is used for indexing into mplsTunnelTable as mplsTunnelIngressLSRId and mplsTunnelEgressLSRId. For IP compatible environment, MPLS-TP tunnel is indexed by Tunnel Index, Tunnel Instance, Source Global_ID, Source Node_ID, Destination Global_ID and Destination Node_ID. 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, Venkatesan, et al. Expires July 18, 2013 [Page 7] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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. A separate query is made to get the local identifier of both Ingress and Egress Global_Node_ID identifiers. These local identifiers are used as mplsTunnelIngressLSRId and mplsTunnelEgressLSRId, while indexing mplsTunnelTable. 6.3. mplsTunnelExtNodeIccMapTable The read-only mplsTunnelExtNodeIccMapTable is used to query the local 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 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 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. Venkatesan, et al. Expires July 18, 2013 [Page 8] INTERNET DRAFT MPLS-TP MIB January 14, 2013 The arrows in the following diagram show a 'depends on' relationship. A relationship "MIB module A depends on MIB module B" means that MIB module A uses an object, object identifier, or textual convention defined in MIB module B, or that MIB module A contains a pointer (index or RowPointer) to an object in MIB module B. Venkatesan, et al. Expires July 18, 2013 [Page 9] INTERNET DRAFT MPLS-TP MIB January 14, 2013 MPLS-TC-EXT-STD-MIB ^ | | +<---- MPLS-ID-STD-MIB ^ | | +<---- MPLS-TE-EXT-STD-MIB | | | V | MPLS-TE-STD-MIB | | | | | V | MPLS-LSR-STD-MIB | ^ | | | | +------MPLS-LSR-EXT-STD-MIB Thus: - All the new MPLS extension MIB modules depend on MPLS-TC-EXT-STD-MIB. - MPLS-ID-STD-MIB contains references to objects in MPLS-TE-STD-MIB [RFC3812]. - MPLS-TE-EXT-STD-MIB contains references to objects in MPLS-TE-STD-MIB [RFC3812]. - MPLS-LSR-EXT-STD-MIB contains references to objects in MPLS-LSR-STD-MIB [RFC3813]. MPLS-TE-STD-MIB [RFC3812] is extended by MPLS-TE-EXT-STD-MIB MIB module for associating the reverse direction tunnel information. Note that the nature of the 'extends' relationship is a sparse augmentation so that the entry in the mplsTunnelExtTable has the same index values as the in the mplsTunnelTable. MPLS-LSR-STD-MIB [RFC3813] is extended by MPLS-LSR-EXT-STD-MIB MIB module for pointing back to the tunnel entry for easy tunnel access from XC entry. Note that the nature of the 'extends' relationship Venkatesan, et al. Expires July 18, 2013 [Page 10] INTERNET DRAFT MPLS-TP MIB January 14, 2013 is a sparse augmentation so that the entry in the mplsXCExtTable has the same index values as the in the mplsXCTable. 8. Dependencies between MIB Module Tables The tables in MPLS-TE-EXT-STD-MIB are related as shown on the diagram below. The arrows indicate a reference from one table to another. mplsTunnelExtNodeConfigTable ^ mplsXCExtTable | | ^ | +---------+ | | | | | V V mplsTunnelTable ---->mplsXCTable ^ | | mplsTunnelExtTable An existing mplsTunnelTable uses the mplsTunnelExtNodeConfigTable table to map the Global_Node_ID and/or ICC with the local number in order to accommodate in the existing tunnel table's ingress/egress LSR-id. New mplsTunnelExtTable table provides the reverse direction LSP information for the existing tunnel table in order to achieve bidirectional LSPs. mplsXCExtTable is extended from mplsLsrXCTable to provide 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 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) Venkatesan, et al. Expires July 18, 2013 [Page 11] INTERNET DRAFT MPLS-TP MIB January 14, 2013 mplsTunnelExtNodeConfigLocalId = 1, mplsTunnelExtNodeConfigGlobalId = 1234, mplsTunnelExtNodeConfigNodeId = 10, -- Mandatory parameters needed to activate the row go here mplsTunnelExtNodeConfigRowStatus = createAndGo (4) -- Non-IP Egress LSR-Id (Index to the table) mplsTunnelExtNodeConfigLocalId = 2, mplsTunnelExtNodeConfigGlobalId = 1234, mplsTunnelExtNodeConfigNodeId = 20, -- Mandatory parameters needed to activate the row go here mplsTunnelExtNodeConfigRowStatus = createAndGo (4) } This will create an entry in the mplsTunnelExtNodeConfigTable for a Global_Node_ID. A separate entry is made for both Ingress LSR and Egress LSR. The following read-only mplsTunnelExtNodeIpMapTable table is populated automatically upon creating an entry in mplsTunnelExtNodeConfigTable and this table is used to retrieve the local identifier for the given Global_Node_ID. In mplsTunnelExtNodeIpMapTable: { -- Global_ID (Index to the table) mplsTunnelExtNodeIpMapGlobalId = 1234, -- Node Identifier (Index to the table) 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 static co-routed bidirectional tunnel setup The following denotes the configured co-routed bidirectional tunnel "head" entry: 9.1.1. mplsTunnelEntry In mplsTunnelTable: Venkatesan, et al. Expires July 18, 2013 [Page 12] INTERNET DRAFT MPLS-TP MIB January 14, 2013 { mplsTunnelIndex = 1, mplsTunnelInstance = 1, -- Local map number created in mplsTunnelExtNodeConfigTable for -- Ingress LSR-Id 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.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 } Venkatesan, et al. Expires July 18, 2013 [Page 13] INTERNET DRAFT MPLS-TP MIB January 14, 2013 We must next create the appropriate in-segment and out-segment entries. These are done in [RFC3813] using the mplsInSegmentTable and mplsOutSegmentTable. 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 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 In mplsXCTable: { mplsXCIndex = 0x01, mplsXCInSegmentIndex = 0x00000000, mplsXCOutSegmentIndex = 0x00000001, mplsXCLspId = 0x0102 -- unique ID Venkatesan, et al. Expires July 18, 2013 [Page 14] INTERNET DRAFT MPLS-TP MIB January 14, 2013 -- only a single outgoing label mplsXCLabelStackIndex = 0x00, mplsXCRowStatus = createAndGo(4) } 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.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.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.9. mplsTunnelExtReversePerfTable Venkatesan, et al. Expires July 18, 2013 [Page 15] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 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: 9.2.1. Forward direction mplsTunnelEntry In mplsTunnelTable: { mplsTunnelIndex = 1, mplsTunnelInstance = 1, -- Local map number created in mplsTunnelExtNodeConfigTable for -- Ingress LSR-Id mplsTunnelIngressLSRId = 1, -- Local map number created in mplsTunnelExtNodeConfigTable for -- Egress LSR-Id mplsTunnelEgressLSRId = 2, mplsTunnelName = "TP associated bi-directional forward 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, Venkatesan, et al. Expires July 18, 2013 [Page 16] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 For Associated bidirectional forward LSP, In mplsTunnelExtTable: { 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 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 In mplsXCTable: { mplsXCIndex = 0x01, mplsXCInSegmentIndex = 0x00000000, mplsXCOutSegmentIndex = 0x00000001, mplsXCLspId = 0x0102 -- unique ID -- only a single outgoing label mplsXCLabelStackIndex = 0x00, mplsXCRowStatus = createAndGo(4) } Venkatesan, et al. Expires July 18, 2013 [Page 17] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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. Reverse direction mplsTunnelEntry 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 -- Egress LSR-Id mplsTunnelEgressLSRId = 1, mplsTunnelName = "TP associated bi-directional reverse LSP", mplsTunnelDescr = "West to East", mplsTunnelIsIf = true (1), -- RowPointer MUST point to the first accessible column mplsTunnelXCPointer = mplsXCLspId.4.0.0.0.1.4.0.0.0.1.1.0, 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 Venkatesan, et al. Expires July 18, 2013 [Page 18] INTERNET DRAFT MPLS-TP MIB January 14, 2013 mplsTunnelRowStatus = createAndGo (4) } 9.2.7. Reverse direction mplsTunnelExtEntry For Associated bidirectional reverse LSP, In mplsTunnelExtTable: { 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 We must next create the appropriate in-segment and out-segment 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 In mplsXCTable: { mplsXCIndex = 0x01, mplsXCInSegmentIndex = 0x00000001, mplsXCOutSegmentIndex = 0x00000000, mplsXCLspId = 0x0102 -- unique ID -- only a single outgoing label mplsXCLabelStackIndex = 0x00, Venkatesan, et al. Expires July 18, 2013 [Page 19] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 Next for the reverse direction: In mplsXCExtTable (0x01, 0x00000001, 0x00000000) { -- Back pointer from XC table to Tunnel table 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", Venkatesan, et al. Expires July 18, 2013 [Page 20] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 Venkatesan, et al. Expires July 18, 2013 [Page 21] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 Venkatesan, et al. Expires July 18, 2013 [Page 22] INTERNET DRAFT MPLS-TP MIB January 14, 2013 FROM SNMPv2-SMI -- [RFC2578] TEXTUAL-CONVENTION FROM SNMPv2-TC -- [RFC2579] mplsStdMIB FROM MPLS-TC-STD-MIB -- [RFC3811] ; mplsTcExtStdMIB MODULE-IDENTITY LAST-UPDATED "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 Redeem, India 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) 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. Venkatesan, et al. Expires July 18, 2013 [Page 23] INTERNET DRAFT MPLS-TP MIB January 14, 2013 REVISION "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 operator unique identifier (Global_ID), the Global_ID can contain the 2-octet or 4-octet value of the operator's Autonomous System Number (ASN). It is expected that the Global_ID will be derived from the globally unique ASN of the autonomous system hosting the PEs containing the actual AIIs. The presence of a Global_ID based on the operator's ASN ensures that the AII will be globally unique. 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. Venkatesan, et al. Expires July 18, 2013 [Page 24] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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." 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 MODULE-IDENTITY, OBJECT-TYPE FROM SNMPv2-SMI -- [RFC2578] 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 Venkatesan, et al. Expires July 18, 2013 [Page 25] INTERNET DRAFT MPLS-TP MIB January 14, 2013 "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 Redeem, India 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) 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 "201301140000Z" -- January 14, 2013 DESCRIPTION "This MIB modules defines the MIB objects for MPLS-TP identifiers" ::= { mplsStdMIB xxx } -- xxx to be replaced with correct value -- Notifications Venkatesan, et al. Expires July 18, 2013 [Page 26] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 operator to assign a unique operator identifier also called MPLS-TP Global_ID." ::= { 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." ::= { 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." ::= { mplsIdObjects 3 } -- Module compliance. mplsIdGroups OBJECT IDENTIFIER ::= { mplsIdConformance 1 } mplsIdCompliances Venkatesan, et al. Expires July 18, 2013 [Page 27] INTERNET DRAFT MPLS-TP MIB January 14, 2013 OBJECT IDENTIFIER ::= { mplsIdConformance 2 } -- Compliance requirement for fully compliant implementations. mplsIdModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that provide full support the MPLS-ID-STD-MIB module." MODULE -- this module -- The mandatory group has to be implemented by all -- LSRs that originate/terminate MPLS-TP paths. MANDATORY-GROUPS { mplsIdScalarGroup } ::= { mplsIdCompliances 1 } -- Compliance requirement for read-only implementations. mplsIdModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that provide full support the MPLS-ID-STD-MIB module." MODULE -- this module -- The mandatory group has to be implemented by all -- LSRs that originate/terminate MPLS-TP paths. MANDATORY-GROUPS { mplsIdScalarGroup } ::= { mplsIdCompliances 2 } -- Units of conformance. mplsIdScalarGroup OBJECT-GROUP OBJECTS { mplsIdGlobalId, mplsIdNodeId, mplsIdIcc Venkatesan, et al. Expires July 18, 2013 [Page 28] INTERNET DRAFT MPLS-TP MIB January 14, 2013 } STATUS current DESCRIPTION "Scalar object needed to implement MPLS TP path." ::= { mplsIdGroups 1 } -- MPLS-ID-STD-MIB module ends END Venkatesan, et al. Expires July 18, 2013 [Page 29] INTERNET DRAFT MPLS-TP MIB January 14, 2013 12. MPLS LSR Extension MIB definitions MPLS-LSR-EXT-STD-MIB DEFINITIONS ::= BEGIN 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, mplsInterfaceGroup, mplsInSegmentGroup, mplsOutSegmentGroup, mplsXCGroup, mplsPerfGroup, mplsLsrNotificationGroup FROM MPLS-LSR-STD-MIB; -- [RFC3813] mplsLsrExtStdMIB MODULE-IDENTITY LAST-UPDATED "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 Redeem, India 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 Venkatesan, et al. Expires July 18, 2013 [Page 30] INTERNET DRAFT MPLS-TP MIB January 14, 2013 "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 "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 ::= { mplsLsrExtStdMIB 1 } -- conformance mplsLsrExtConformance OBJECT IDENTIFIER ::= { mplsLsrExtStdMIB 2 } -- MPLS LSR common objects 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, Section 5.7. mplsXCTable" ::= { mplsLsrExtObjects 1 } mplsXCExtEntry OBJECT-TYPE SYNTAX MplsXCExtEntry MAX-ACCESS not-accessible STATUS current Venkatesan, et al. Expires July 18, 2013 [Page 31] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 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, 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, 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, Venkatesan, et al. Expires July 18, 2013 [Page 32] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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. The mandatory group has to be implemented by all LSRs that originate, terminate, or act as transit for TE-LSPs/tunnels. In addition, depending on the type of tunnels supported, other groups become mandatory as explained below." MODULE MPLS-LSR-STD-MIB -- The MPLS-LSR-STD-MIB, RFC3813 MANDATORY-GROUPS { mplsInSegmentGroup, mplsOutSegmentGroup, mplsXCGroup, mplsPerfGroup, mplsLsrNotificationGroup } MODULE -- this module MANDATORY-GROUPS { mplsXCExtGroup } ::= { mplsLsrExtCompliances 1 } -- Compliance requirement for implementations that provide -- read-only access. mplsLsrExtModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current Venkatesan, et al. Expires July 18, 2013 [Page 33] INTERNET DRAFT MPLS-TP MIB January 14, 2013 DESCRIPTION "Compliance requirement for implementations that only provide read-only support for MPLS-LSR-EXT-STD-MIB. Such devices can then be monitored but cannot be configured using this MIB module." MODULE MPLS-LSR-STD-MIB MANDATORY-GROUPS { mplsInterfaceGroup, mplsInSegmentGroup, mplsOutSegmentGroup, mplsXCGroup, mplsPerfGroup } 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." 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 "This object should be supported in order to access the tunnel entry from XC entry." Venkatesan, et al. Expires July 18, 2013 [Page 34] INTERNET DRAFT MPLS-TP MIB January 14, 2013 ::= { mplsLsrExtGroups 1 } -- MPLS-LSR-EXT-STD-MIB module ends END 13. MPLS Tunnel Extension MIB definitions MPLS-TE-EXT-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Counter32, Counter64, zeroDotZero FROM SNMPv2-SMI -- [RFC2578] MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580] TruthValue, RowStatus, RowPointer, StorageType FROM SNMPv2-TC -- [RFC2579] MplsGlobalId, MplsNodeId, MplsIccId FROM MPLS-TC-EXT-STD-MIB 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 "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 Redeem, India Email: kannankvs@gmail.com Sam Aldrin Huawei Technologies Venkatesan, et al. Expires July 18, 2013 [Page 35] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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) 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 "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 mplsTeExtNotifications OBJECT IDENTIFIER ::= { mplsTeExtStdMIB 0 } -- tables, scalars mplsTeExtObjects OBJECT IDENTIFIER ::= { mplsTeExtStdMIB 1 } -- 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 operator to map a node or LSR Identifier (IP compatible [Global_Node_ID] or ICC) Venkatesan, et al. Expires July 18, 2013 [Page 36] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 Global_Node_ID or ICC with the local identifier of size 4 bytes (Unsigned32) value in order to index (Ingress/Egress LSR identifier) the existing mplsTunnelTable." ::= { mplsTeExtObjects 1 } mplsTunnelExtNodeConfigEntry OBJECT-TYPE SYNTAX MplsTunnelExtNodeConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents a mapping identification for the operator or service provider with node or LSR. As per [RFC6370], this mapping is represented as Global_Node_ID or ICC. Note: Each entry in this table should have a unique Global_ID and Node_ID combination." INDEX { mplsTunnelExtNodeConfigLocalId } ::= { mplsTunnelExtNodeConfigTable 1 } MplsTunnelExtNodeConfigEntry ::= SEQUENCE { mplsTunnelExtNodeConfigLocalId MplsExtendedTunnelId, mplsTunnelExtNodeConfigGlobalId MplsGlobalId, mplsTunnelExtNodeConfigNodeId MplsNodeId, mplsTunnelExtNodeConfigIccId MplsIccId, mplsTunnelExtNodeConfigRowStatus RowStatus, mplsTunnelExtNodeConfigStorageType StorageType } mplsTunnelExtNodeConfigLocalId OBJECT-TYPE Venkatesan, et al. Expires July 18, 2013 [Page 37] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 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, 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. 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-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 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-create STATUS current Venkatesan, et al. Expires July 18, 2013 [Page 38] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 Transport Profile (MPLS-TP) Identifiers [RFC6370] Section 4, Node and Interface Identifiers" ::= { mplsTunnelExtNodeConfigEntry 3 } mplsTunnelExtNodeConfigIccId OBJECT-TYPE SYNTAX MplsIccId 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 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 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. Conceptual rows having the value 'permanent' Venkatesan, et al. Expires July 18, 2013 [Page 39] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 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 SYNTAX MplsTunnelExtNodeIpMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents a mapping of Global_Node_ID with the local identifier. An entry in this table is created automatically when the Local identifier is associated with Global_ID and Node_Id in the mplsTunnelExtNodeConfigTable. Note: Each entry in this table should have a unique Global_ID and Node_ID combination." INDEX { mplsTunnelExtNodeIpMapGlobalId, mplsTunnelExtNodeIpMapNodeId Venkatesan, et al. Expires July 18, 2013 [Page 40] INTERNET DRAFT MPLS-TP MIB January 14, 2013 } ::= { mplsTunnelExtNodeIpMapTable 1 } MplsTunnelExtNodeIpMapEntry ::= SEQUENCE { mplsTunnelExtNodeIpMapGlobalId MplsGlobalId, mplsTunnelExtNodeIpMapNodeId MplsNodeId, mplsTunnelExtNodeIpMapLocalId MplsExtendedTunnelId } mplsTunnelExtNodeIpMapGlobalId OBJECT-TYPE SYNTAX MplsGlobalId MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the Global_ID." ::= { mplsTunnelExtNodeIpMapEntry 1 } mplsTunnelExtNodeIpMapNodeId OBJECT-TYPE SYNTAX MplsNodeId MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the Node_ID within the operator." ::= { mplsTunnelExtNodeIpMapEntry 2 } mplsTunnelExtNodeIpMapLocalId OBJECT-TYPE SYNTAX MplsExtendedTunnelId MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an IP compatible local identifier which is defined in mplsTunnelExtNodeConfigTable." ::= { mplsTunnelExtNodeIpMapEntry 3 } -- 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 operator to retrieve the local identifier for a given ICC operator in an ICC operator environment. Venkatesan, et al. Expires July 18, 2013 [Page 41] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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." ::= { mplsTeExtObjects 3 } mplsTunnelExtNodeIccMapEntry OBJECT-TYPE SYNTAX MplsTunnelExtNodeIccMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents a mapping of ICC with the local identifier. An entry in this table is created automatically when the Local identifier is associated with ICC in the mplsTunnelExtNodeConfigTable." INDEX { mplsTunnelExtNodeIccMapIccId } ::= { mplsTunnelExtNodeIccMapTable 1 } MplsTunnelExtNodeIccMapEntry ::= SEQUENCE { mplsTunnelExtNodeIccMapIccId MplsIccId, mplsTunnelExtNodeIccMapLocalId MplsExtendedTunnelId } mplsTunnelExtNodeIccMapIccId OBJECT-TYPE SYNTAX MplsIccId MAX-ACCESS not-accessible 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 or Egress LSR ID. 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." ::= { mplsTunnelExtNodeIccMapEntry 1 } mplsTunnelExtNodeIccMapLocalId OBJECT-TYPE SYNTAX MplsExtendedTunnelId MAX-ACCESS read-only Venkatesan, et al. Expires July 18, 2013 [Page 42] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 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} mplsTunnelTable is reused for forming the LSP_ID as follows, Source Tunnel_Num is mapped with mplsTunnelIndex, Source Node_ID is mapped with 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 Transport Profile (MPLS-TP) Identifiers [RFC6370], Venkatesan, et al. Expires July 18, 2013 [Page 43] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 { mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId } ::= { mplsTunnelExtTable 1 } MplsTunnelExtEntry ::= SEQUENCE { mplsTunnelExtOppositeDirPtr RowPointer, mplsTunnelExtOppositeDirTnlValid TruthValue, mplsTunnelExtDestTnlIndex MplsTunnelIndex, mplsTunnelExtDestTnlLspIndex MplsTunnelInstanceIndex, 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 Venkatesan, et al. Expires July 18, 2013 [Page 44] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 direction tunnel information. Note that if this variable is set to true then the mplsTunnelExtOppositeDirPtr should point to the first accessible row of the opposite direction tunnel." DEFVAL { false } ::= { mplsTunnelExtEntry 2 } mplsTunnelExtDestTnlIndex OBJECT-TYPE SYNTAX MplsTunnelIndex 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 same value as that of the mplsTunnelIndex of mplsTunnelEntry if the forward and reverse LSPs are in the same tunnel. Otherwise, this object holds the value of the other direction associated LSP's mplsTunnelIndex from a different tunnel. The values of this object and the mplsTunnelExtDestTnlLspIndex object together can be used to identify an opposite direction LSP i.e. if the mplsTunnelIndex and mplsTunnelInstance hold the value for forward LSP, this object and mplsTunnelExtDestTnlLspIndex can be used to retrieve Venkatesan, et al. Expires July 18, 2013 [Page 45] INTERNET DRAFT MPLS-TP MIB January 14, 2013 the reverse direction LSP and vice versa. This object and mplsTunnelExtDestTnlLspIndex values provide the first two indices of tunnel entry and the remaining indices can be derived as follows, if both the forward and reverse LSPs are present in the same tunnel, the opposite direction LSP's Ingress and Egress Identifier will be same for both the LSPs, else the Ingress and Egress Identifiers should be swapped in order to index the other direction tunnel." ::= { mplsTunnelExtEntry 3 } mplsTunnelExtDestTnlLspIndex OBJECT-TYPE SYNTAX MplsTunnelInstanceIndex 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 should contain different value if both the forward and reverse LSPs present in the same tunnel. This object can contain same value or different values if the forward and reverse LSPs present in the different tunnels." ::= { mplsTunnelExtEntry 4 } mplsTunnelExtDestTnlValid OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes whether or not this tunnel uses 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 } mplsTunnelExtIngressLSRLocalIdValid OBJECT-TYPE Venkatesan, et al. Expires July 18, 2013 [Page 46] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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 Venkatesan, et al. Expires July 18, 2013 [Page 47] INTERNET DRAFT MPLS-TP MIB January 14, 2013 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. 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." INDEX { mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId } ::= { mplsTunnelExtReversePerfTable 1 } MplsTunnelExtReversePerfEntry ::= SEQUENCE { mplsTunnelExtReversePerfPackets Counter32, mplsTunnelExtReversePerfHCPackets Counter64, mplsTunnelExtReversePerfErrors Counter32, mplsTunnelExtReversePerfBytes Counter32, mplsTunnelExtReversePerfHCBytes Counter64 } mplsTunnelExtReversePerfPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current Venkatesan, et al. Expires July 18, 2013 [Page 48] INTERNET DRAFT MPLS-TP MIB January 14, 2013 DESCRIPTION "Number of packets forwarded on the tunnel in the reverse direction if it is bidirectional. This object represents the 32-bit value of the least significant part of the 64-bit value if both mplsTunnelExtReversePerfHCPackets and this object are returned. For links that do not transport packets, this packet counter cannot be maintained. For such links, this value will return noSuchInstance." ::= { mplsTunnelExtReversePerfEntry 1 } mplsTunnelExtReversePerfHCPackets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "High-capacity counter for number of packets forwarded on the tunnel in the reverse direction if it is bidirectional. For links that do not transport packets, this packet counter cannot be maintained. For such links, this value will return noSuchInstance." ::= { mplsTunnelExtReversePerfEntry 2 } mplsTunnelExtReversePerfErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of errored packets received on the tunnel in the reverse direction if it is bidirectional. For links that do not transport packets, this packet counter cannot be maintained. For such links, this value will return noSuchInstance." ::= { mplsTunnelExtReversePerfEntry 3 } mplsTunnelExtReversePerfBytes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of bytes forwarded on the tunnel in the reverse direction if it is bidirectional. Venkatesan, et al. Expires July 18, 2013 [Page 49] INTERNET DRAFT MPLS-TP MIB January 14, 2013 This object represents the 32-bit value of the least significant part of the 64-bit value if both mplsTunnelExtReversePerfHCBytes and this object are returned. For links that do not transport packets, this packet counter cannot be maintained. For such links, this value will return noSuchInstance." ::= { mplsTunnelExtReversePerfEntry 4 } mplsTunnelExtReversePerfHCBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "High-capacity counter for number of bytes forwarded on the tunnel in the reverse direction if it is bidirectional. For links that do not transport packets, this packet counter cannot be maintained. For such links, this value will return noSuchInstance." ::= { mplsTunnelExtReversePerfEntry 5 } -- Notifications. -- Notification objects need to be added here. -- End of notifications. -- Module compliance. mplsTeExtGroups OBJECT IDENTIFIER ::= { mplsTeExtConformance 1 } mplsTeExtCompliances OBJECT IDENTIFIER ::= { mplsTeExtConformance 2 } -- Compliance requirement for fully compliant implementations. mplsTeExtModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that provide full support the MPLS-TE-EXT-STD-MIB module." MODULE -- this module -- The mandatory group has to be implemented by all -- LSRs that originate/terminate MPLS-TP tunnels. -- In addition, depending on the type of tunnels -- supported, other groups become mandatory as Venkatesan, et al. Expires July 18, 2013 [Page 50] INTERNET DRAFT MPLS-TP MIB January 14, 2013 -- explained below. MANDATORY-GROUPS { mplsTunnelExtGroup } GROUP mplsTunnelExtIpOperatorGroup DESCRIPTION "This group is mandatory for devices which support configuration of IP based identifier tunnels." GROUP mplsTunnelExtIccOperatorGroup DESCRIPTION "This group is mandatory for devices which support configuration of ICC based tunnels." ::= { mplsTeExtCompliances 1 } -- Compliance requirement for read-only implementations. mplsTeExtModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that provide full support the MPLS-TE-EXT-STD-MIB module." MODULE -- this module -- The mandatory group has to be implemented by all -- LSRs that originate/terminate MPLS-TP tunnels. -- In addition, depending on the type of tunnels -- supported, other groups become mandatory as -- explained below. MANDATORY-GROUPS { mplsTunnelExtGroup } GROUP mplsTunnelExtIpOperatorGroup DESCRIPTION "This group is mandatory for devices which support configuration of IP based identifier tunnels." GROUP mplsTunnelExtIccOperatorGroup Venkatesan, et al. Expires July 18, 2013 [Page 51] INTERNET DRAFT MPLS-TP MIB January 14, 2013 DESCRIPTION "This group is mandatory for devices which support configuration of ICC based tunnels." ::= { mplsTeExtCompliances 2 } -- 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 implement tunnels. In addition, depending on the operating environment, the following groups are mandatory." ::= { mplsTeExtGroups 1 } mplsTunnelExtIpOperatorGroup OBJECT-GROUP OBJECTS { mplsTunnelExtNodeConfigGlobalId, mplsTunnelExtNodeConfigNodeId, mplsTunnelExtNodeConfigRowStatus, mplsTunnelExtNodeConfigStorageType, mplsTunnelExtNodeIpMapLocalId } STATUS current DESCRIPTION "Object(s) needed to implement IP compatible tunnels." ::= { mplsTeExtGroups 2 } mplsTunnelExtIccOperatorGroup OBJECT-GROUP OBJECTS { mplsTunnelExtNodeConfigIccId, mplsTunnelExtNodeConfigRowStatus, Venkatesan, et al. Expires July 18, 2013 [Page 52] INTERNET DRAFT MPLS-TP MIB January 14, 2013 mplsTunnelExtNodeConfigStorageType, mplsTunnelExtNodeIccMapLocalId } STATUS current DESCRIPTION "Object(s) needed to implement ICC based tunnels." ::= { mplsTeExtGroups 3 } -- MPLS-TE-EXT-STD-MIB module ends END 14. Security Consideration There is a number of management objects defined in this MIB module that has a MAX-ACCESS clause of read-write.. 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. Some of the readable objects in this MIB module (i.e., objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. These are the tables and objects and their sensitivity/vulnerability: SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module. It is recommended that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full supports 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 principles (users) that have legitimate rights to indeed GET or SET (change/create/delete) them. Venkatesan, et al. Expires July 18, 2013 [Page 53] INTERNET DRAFT MPLS-TP MIB January 14, 2013 15. IANA Considerations To be added in a later version of this document. 16. 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 [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. [RFC3410] J. Case, R. Mundy, D. pertain, B.Stewart, "Introduction and Applicability Statement for Internet Standard Management Framework", RFC 3410, December 2002. [RFC3811] Nadeau, T., Ed., and J. Cucchiara, Ed., "Definitions of Textual Conventions (TCs) for Multiprotocol Label Switching (MPLS) Management", RFC 3811, June 2004. [RFC4802] Nadeau, T., Ed., and A. Farrel, Ed., "Generalized Venkatesan, et al. Expires July 18, 2013 [Page 54] INTERNET DRAFT MPLS-TP MIB January 14, 2013 Multiprotocol Label Switching (GMPLS) Traffic 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, 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 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 Redeem India Email: kannankvs@gmail.com Venkatesan, et al. Expires July 18, 2013 [Page 55]