--- 1/draft-ietf-mpls-tp-te-mib-03.txt 2012-07-16 20:14:35.049675520 +0200 +++ 2/draft-ietf-mpls-tp-te-mib-04.txt 2012-07-16 20:14:35.125675395 +0200 @@ -1,25 +1,25 @@ Network Working Group INTERNET-DRAFT M.Venkatesan Intended Status: Standards Track Dell Inc. -Expires: October 15, 2012 Kannan KV Sampath +Expires: January 16, 2013 Kannan KV Sampath Aricent Sam K. Aldrin Huawei Technologies Thomas D. Nadeau Juniper Networks - April 13, 2012 + July 15, 2012 MPLS-TP Traffic Engineering (TE) Management Information Base (MIB) - draft-ietf-mpls-tp-te-mib-03.txt + draft-ietf-mpls-tp-te-mib-04.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,21 +36,21 @@ 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 October 15, 2012. + This Internet-Draft will expire on January 16, 2013. Copyright and License Notice Copyright (c) 2012 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 @@ -64,23 +64,23 @@ 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. mplsNodeConfigTable . . . . . . . . . . . . . . . . . . . 5 - 6.2. mplsNodeIpMapTable . . . . . . . . . . . . . . . . . . . . 5 - 6.3. mplsNodeIccMapTable . . . . . . . . . . . . . . . . . . . 6 + 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 @@ -91,24 +91,26 @@ 18. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 38 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 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. + 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. 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]. @@ -145,61 +148,60 @@ 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 - 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 document provide extensions to existing MPLS MIB modules in + order to support configuration of MPLS-TP tunnels in IP and NON-IP + environments. 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 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. - - A node configuration table (mplsNodeConfigTable) is used to - translate the Global_Node_ID or ICC to the local identifier - in order to index mplsTunnelTable. + - 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. mplsNodeConfigTable +6.1. mplsTunnelExtNodeConfigTable - The mplsNodeConfigTable 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 + 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 @@ -207,59 +209,59 @@ 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 mplsNodeConfigTable will be used to store an entry for ICC or - Global_Node_ID with a local identifier to be used as LSR ID + 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, which is 16777216[1.0.0.0]. -6.2. mplsNodeIpMapTable +6.2. mplsTunnelExtNodeIpMapTable - The read-only mplsNodeIpMaptable is used to query the local - identifier assigned and stored in mplsNodeConfigTable for a given - Global_Node_ID. In order to query the local identifier, + 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. mplsNodeIccMapTable +6.3. mplsTunnelExtNodeIccMapTable - The read-only mplsNodeIccMapTable is used to query the local - identifier assigned and stored in the mplsNodeConfigTable + 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 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. -6.5 mplsTunnelReversePerfTable +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. @@ -289,147 +291,149 @@ | ^ | | | | +------MPLS-LSR-EXT-STD-MIB Thus: - All the new MPLS extension MIB modules depend on MPLS-TC-EXT-STD-MIB. - - MPLS-TE-STD-MIB [RFC3812] contains references to objects in - MPLS-ID-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 + 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 + MIB module for pointing back to the tunnel entry for easy tunnel access from XC entry. 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 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. - mplsNodeConfigTable + mplsTunnelExtNodeConfigTable ^ mplsXCExtTable | | ^ | +---------+ | | | | | V V mplsTunnelTable ---->mplsXCTable ^ | | mplsTunnelExtTable - An existing mplsTunnelTable uses the mplsNodeConfigTable 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. + 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 + signaled via control plane. This example considers accessing MIB objects on a head-end for a static MPLS-TP tunnel. Only relevant objects which are applicable for MPLS-TP tunnel are illustrated here. - In mplsNodeConfigTable: + In mplsTunnelExtNodeConfigTable: { -- Non-IP Ingress LSR-Id (Index to the table) - mplsNodeConfigLocalId = 1, - mplsNodeConfigGlobalId = 1234, - mplsNodeConfigNodeId = 10, + mplsTunnelExtNodeConfigLocalId = 1, + + mplsTunnelExtNodeConfigGlobalId = 1234, + mplsTunnelExtNodeConfigNodeId = 10, -- Mandatory parameters needed to activate the row go here - mplsNodeConfigRowStatus = createAndGo (4) + mplsTunnelExtNodeConfigRowStatus = createAndGo (4) -- Non-IP Egress LSR-Id (Index to the table) - mplsNodeConfigLocalId = 2, - mplsNodeConfigGlobalId = 1234, - mplsNodeConfigNodeId = 20, + mplsTunnelExtNodeConfigLocalId = 2, + mplsTunnelExtNodeConfigGlobalId = 1234, + mplsTunnelExtNodeConfigNodeId = 20, -- Mandatory parameters needed to activate the row go here - mplsNodeConfigRowStatus = createAndGo (4) + mplsTunnelExtNodeConfigRowStatus = createAndGo (4) } - This will create an entry in the mplsNodeConfigTable for a + 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 mplsNodeIpMapTable table is populated - automatically upon creating an entry in mplsNodeConfigTable and - this table is used to retrieve the local identifier for the given - Global_Node_ID. + 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 mplsNodeIpMapTable: + In mplsTunnelExtNodeIpMapTable: { -- Global_ID (Index to the table) - mplsNodeIpMapGlobalId = 1234, + mplsTunnelExtNodeIpMapGlobalId = 1234, -- Node Identifier (Index to the table) - mplsNodeIpMapNodeId = 10, - mplsNodeIpMapLocalId = 1 + mplsTunnelExtNodeIpMapNodeId = 10, + mplsTunnelExtNodeIpMapLocalId = 1 -- Global_ID (Index to the table) - mplsNodeIpMapGlobalId = 1234, + mplsTunnelExtNodeIpMapGlobalId = 1234, -- Node Identifier (Index to the table) - mplsNodeIpMapNodeId = 20, - mplsNodeIpMapLocalId = 2 + mplsTunnelExtNodeIpMapNodeId = 20, + mplsTunnelExtNodeIpMapLocalId = 2 } 9.1 Example of MPLS-TP co-routed bidirectional tunnel setup The following denotes the configured co-routed bidirectional tunnel "head" entry: 9.1.1 mplsTunnelEntry In mplsTunnelTable: { mplsTunnelIndex = 1, mplsTunnelInstance = 1, - -- Local map number created in mplsNodeConfigTable for Ingress - LSR-Id + -- Local map number created in mplsTunnelExtNodeConfigTable for + -- Ingress LSR-Id mplsTunnelIngressLSRId = 1, - -- Local map number created in mplsNodeConfigTable for Egress - LSR-Id + -- 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, @@ -448,28 +452,29 @@ } 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 - mplsTunnelOppositeDirTnlPtr = 0.0 + mplsTunnelExtOppositeDirTnlPtr = 0.0 } 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. @@ -529,68 +534,68 @@ 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 In mplsXCExtTable (0x01, 0x00000000, 0x00000001) { -- Back pointer from XC table to Tunnel table mplsXCExtTunnelPointer = mplsTunnelName.1.1.1.2 - mplsXCOppositeDirXCPtr = + mplsXCExtOppositeDirXCPtr = mplsXCLspId.4.0.0.0.1.4.0.0.0.1.1.0 } 9.1.6 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 - mplsXCOppositeDirXCPtr = + mplsXCExtOppositeDirXCPtr = mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1 } -9.1.7 mplsTunnelReversePerfTable +9.1.7 mplsTunnelExtReversePerfTable - The mplsTunnelReversePerfTable SHOULD be populated incase + 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 mplsTunnelReversePerfTable will have + LSP performance counters and mplsTunnelExtReversePerfTable will have the reverse direction LSP performance counters. 9.2 Example of MPLS-TP 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 mplsNodeConfigTable for Ingress - LSR-Id + -- Local map number created in mplsTunnelExtNodeConfigTable for + -- Ingress LSR-Id mplsTunnelIngressLSRId = 1, - -- Local map number created in mplsNodeConfigTable for Egress - LSR-Id + -- 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, @@ -598,30 +603,31 @@ 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 For Associated bidirectional forward LSP, In mplsTunnelExtTable: { - mplsTunnelOppositeDirPtr.1.1.1.2 = mplsTunnelName.2.1.2.1 + mplsTunnelExtOppositeDirPtr.1.1.1.2 = mplsTunnelName.2.1.2.1 } 9.2.3 Forward direction mplsOutSegmentTable For the forward direction. In mplsOutSegmentTable: { mplsOutSegmentIndex = 0x0000001, mplsOutSegmentInterface = 13, -- outgoing interface @@ -646,39 +652,39 @@ mplsXCRowStatus = createAndGo(4) } 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 - mplsXCOppositeDirXCPtr = + mplsXCExtOppositeDirXCPtr = mplsXCLspId.4.0.0.0.1.4.0.0.0.1.1.0 } 9.2.6 Forward direction mplsTunnelEntry The following denotes the configured associated bidirectional reverse tunnel "tail" entry: In mplsTunnelTable: { mplsTunnelIndex = 2, mplsTunnelInstance = 1, - -- Local map number created in mplsNodeConfigTable for Ingress - LSR-Id + -- Local map number created in mplsTunnelExtNodeConfigTable for + -- Ingress LSR-Id mplsTunnelIngressLSRId = 2, - -- Local map number created in mplsNodeConfigTable for Egress - LSR-Id + -- 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, @@ -696,41 +702,44 @@ mplsTunnelRole = head (1), -- Mandatory parameters needed to activate the row go here mplsTunnelRowStatus = createAndGo (4) } 9.2.7 Reverse direction mplsTunnelExtEntry For Associated bidirectional reverse LSP, In mplsTunnelExtTable: { - mplsTunnelOppositeDirPtr.2.1.2.1 = mplsTunnelName.1.1.1.2 + mplsTunnelExtOppositeDirPtr.2.1.2.1 = mplsTunnelName.1.1.1.2 } 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 + 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) } + 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. + 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 @@ -738,28 +747,27 @@ 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.1.1.1.2 - mplsXCOppositeDirXCPtr = + mplsXCExtOppositeDirXCPtr = mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1 } 10. MPLS Textual Convention Extension MIB definitions MPLS-TC-EXT-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, Unsigned32 FROM SNMPv2-SMI -- [RFC2578] @@ -767,21 +775,21 @@ FROM SNMPv2-TC -- [RFC2579] mplsStdMIB FROM MPLS-TC-STD-MIB -- [RFC3811] ; mplsTcExtStdMIB MODULE-IDENTITY LAST-UPDATED - "201204080000Z" -- April 08, 2012 + "201207150000Z" -- July 15, 2012 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 @@ -787,37 +795,37 @@ Kannan KV Sampath Aricent, India Email: Kannan.Sampath@aricent.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 + 10 Technology Park Drive, + Westford, MA 01886 Email: tnadeau@juniper.net " DESCRIPTION "Copyright (c) 2012 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 - "201204080000Z" -- April 08, 2012 + "201207150000Z" -- July 15, 2012 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 @@ -845,84 +853,62 @@ 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 /32 IPv4 loop back address. + 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 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." SYNTAX OCTET STRING (SIZE (1..6)) - MplsLocalId ::= TEXTUAL-CONVENTION - DISPLAY-HINT "d" - STATUS current - DESCRIPTION - "This textual convention 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, - 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 - expected to retrieve the complete information - (Global_Node_ID or ICC) from mplsNodeConfigTable. This way, - existing mplsTunnelTable is reused for 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." - SYNTAX Unsigned32(1..16777215) - -- MPLS-TC-EXT-STD-MIB module ends END 11. MPLS Identifier MIB definitions MPLS-ID-STD-MIB DEFINITIONS ::= BEGIN IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE + MODULE-IDENTITY, OBJECT-TYPE FROM SNMPv2-SMI -- [RFC2578] - MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + 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 - "201204080000Z" -- April 08, 2012 + "201207150000Z" -- July 15, 2012 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 @@ -932,24 +918,24 @@ Email: Kannan.Sampath@aricent.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 + 10 Technology Park Drive, + Westford, MA 01886 Email: tnadeau@juniper.net " - DESCRIPTION "Copyright (c) 2012 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 @@ -946,59 +932,59 @@ DESCRIPTION "Copyright (c) 2012 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 - "201204080000Z" -- April 08, 2012 + "201207150000Z" -- July 15, 2012 DESCRIPTION - "MPLS identifiers mib object extension" + "MPLS identifiers MIB object extension" ::= { mplsStdMIB xxx } -- xxx to be replaced with correct value - -- traps + -- Notifications mplsIdNotifications OBJECT IDENTIFIER ::= { mplsIdStdMIB 0 } -- tables, scalars mplsIdObjects OBJECT IDENTIFIER ::= { mplsIdStdMIB 1 } -- conformance mplsIdConformance OBJECT IDENTIFIER ::= { mplsIdStdMIB 2 } -- MPLS common objects - mplsGlobalId OBJECT-TYPE + mplsIdGlobalId OBJECT-TYPE SYNTAX MplsGlobalId MAX-ACCESS read-write STATUS current DESCRIPTION "This object allows the administrator to assign a unique operator identifier also called MPLS-TP Global_ID." REFERENCE "MPLS-TP Identifiers [RFC6370]." ::= { mplsIdObjects 1 } - mplsIcc OBJECT-TYPE + 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 } - mplsNodeId OBJECT-TYPE + 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 @@ -1047,23 +1033,23 @@ MANDATORY-GROUPS { mplsIdScalarGroup } ::= { mplsIdCompliances 2 } -- Units of conformance. mplsIdScalarGroup OBJECT-GROUP - OBJECTS { mplsGlobalId, - mplsNodeId, - mplsIcc + OBJECTS { mplsIdGlobalId, + mplsIdNodeId, + mplsIdIcc } STATUS current DESCRIPTION "Scalar object needed to implement MPLS TP path." ::= { mplsIdGroups 1 } -- MPLS-ID-STD-MIB module ends END @@ -1080,21 +1066,21 @@ FROM MPLS-TC-STD-MIB -- [RFC3811] RowPointer FROM SNMPv2-TC -- [RFC2579] mplsXCIndex, mplsXCInSegmentIndex, mplsXCOutSegmentIndex, mplsInSegmentGroup, mplsOutSegmentGroup, mplsXCGroup, mplsPerfGroup, mplsLsrNotificationGroup FROM MPLS-LSR-STD-MIB; -- [RFC3813] mplsLsrExtStdMIB MODULE-IDENTITY LAST-UPDATED - "201204080000Z" -- April 08, 2012 + "201207150000Z" -- July 15, 2012 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 @@ -1118,27 +1104,27 @@ "Copyright (c) 2012 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 - "201204080000Z" -- April 08, 2012 + "201207150000Z" -- July 15, 2012 DESCRIPTION - "MPLS LSR specific mib objects extension" + "MPLS LSR specific MIB objects extension" ::= { mplsStdMIB xxx } -- xxx to be replaced with correct value - -- traps + -- Notifications mplsLsrExtNotifications OBJECT IDENTIFIER ::= { mplsLsrExtStdMIB 0 } -- tables, scalars mplsLsrExtObjects OBJECT IDENTIFIER ::= { mplsLsrExtStdMIB 1 } -- conformance mplsLsrExtConformance OBJECT IDENTIFIER ::= { mplsLsrExtStdMIB 2 } -- MPLS LSR common objects @@ -1170,38 +1156,36 @@ REFERENCE "1. Multiprotocol Label Switching (MPLS) Label Switching Router (LSR) Management Information Base (MIB), RFC 3813." INDEX { mplsXCIndex, mplsXCInSegmentIndex, mplsXCOutSegmentIndex } ::= { mplsXCExtTable 1 } MplsXCExtEntry ::= SEQUENCE { mplsXCExtTunnelPointer RowPointer, - mplsXCOppositeDirXCPtr 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. This object cannot be modified - if mplsXCRowStatus for the corresponding entry in the - mplsXCTable is active(1)." + the tunnel entry segment." REFERENCE "1. Multiprotocol Label Switching (MPLS) Label Switching Router (LSR) Management Information Base (MIB), RFC 3813." ::= { mplsXCExtEntry 1 } - mplsXCOppositeDirXCPtr OBJECT-TYPE + 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 @@ -1235,27 +1219,20 @@ mplsPerfGroup, mplsLsrNotificationGroup } 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." - ::= { mplsLsrExtCompliances 1 } -- Compliance requirement for implementations that provide -- read-only access. mplsLsrExtModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance requirement for implementations that only provide read-only support for MPLS-LSR-EXT-STD-MIB. @@ -1278,67 +1255,61 @@ mplsXCExtGroup } OBJECT mplsXCExtTunnelPointer SYNTAX RowPointer MIN-ACCESS read-only DESCRIPTION "The only valid value for Tunnel Pointer is mplsTunnelTable entry." - OBJECT mplsXCOppositeDirXCPtr - SYNTAX RowPointer - MIN-ACCESS read-only - DESCRIPTION - "The only valid value for Tunnel Pointer is mplsXCTable - entry." - ::= { mplsLsrExtCompliances 2 } mplsXCExtGroup OBJECT-GROUP OBJECTS { mplsXCExtTunnelPointer, - mplsXCOppositeDirXCPtr + mplsXCExtOppositeDirXCPtr } STATUS current DESCRIPTION "This object should be supported in order to access the tunnel entry from XC entry." ::= { 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, Unsigned32, Counter32, - Counter64, Gauge32, zeroDotZero, NOTIFICATION-TYPE + MODULE-IDENTITY, OBJECT-TYPE, Counter32, + Counter64, zeroDotZero FROM SNMPv2-SMI -- [RFC2578] - MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580] TruthValue, RowStatus, RowPointer, StorageType FROM SNMPv2-TC -- [RFC2579] - MplsLocalId, MplsGlobalId, MplsNodeId, MplsIccId + MplsGlobalId, MplsNodeId, MplsIccId FROM MPLS-TC-EXT-STD-MIB - mplsStdMIB, MplsTunnelIndex, MplsTunnelInstanceIndex + 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 - "201204080000Z" -- April 08, 2012 + "201207150000Z" -- July 15, 2012 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 @@ -1361,308 +1333,323 @@ DESCRIPTION "Copyright (c) 2012 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 - "201204080000Z" -- April 08, 2012 + "201207150000Z" -- July 15, 2012 DESCRIPTION - "MPLS TE mib objects extension" + "MPLS TE MIB objects extension" ::= { mplsStdMIB xxx } -- xxx to be replaced -- with correct value -- Top level components of this MIB module. - -- traps + -- 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 - mplsNodeConfigTable OBJECT-TYPE - SYNTAX SEQUENCE OF MplsNodeConfigEntry + mplsTunnelExtNodeConfigTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsTunnelExtNodeConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table allows the administrator 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 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 } - mplsNodeConfigEntry OBJECT-TYPE - SYNTAX MplsNodeConfigEntry + 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 { mplsNodeConfigLocalId } - ::= { mplsNodeConfigTable 1 } + INDEX { mplsTunnelExtNodeConfigLocalId } + ::= { mplsTunnelExtNodeConfigTable 1 } - MplsNodeConfigEntry ::= SEQUENCE { - mplsNodeConfigLocalId MplsLocalId, - mplsNodeConfigGlobalId MplsGlobalId, - mplsNodeConfigNodeId MplsNodeId, - mplsNodeConfigIccId MplsIccId, - mplsNodeConfigRowStatus RowStatus, - mplsNodeConfigStorageType StorageType + MplsTunnelExtNodeConfigEntry ::= SEQUENCE { + mplsTunnelExtNodeConfigLocalId MplsExtendedTunnelId, + mplsTunnelExtNodeConfigGlobalId MplsGlobalId, + mplsTunnelExtNodeConfigNodeId MplsNodeId, + mplsTunnelExtNodeConfigIccId MplsIccId, + mplsTunnelExtNodeConfigRowStatus RowStatus, + mplsTunnelExtNodeConfigStorageType StorageType } - mplsNodeConfigLocalId OBJECT-TYPE - SYNTAX MplsLocalId + mplsTunnelExtNodeConfigLocalId OBJECT-TYPE + SYNTAX MplsExtendedTunnelId MAX-ACCESS not-accessible STATUS current DESCRIPTION - "This object allows the administrator to assign a unique - local identifier to map Global_Node_ID or ICC." - ::= { mplsNodeConfigEntry 1 } + "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. - mplsNodeConfigGlobalId OBJECT-TYPE + The Local Identifier is configured between 1 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 + 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 administrator to assign + a unique identifier to map Global_Node_ID and/or ICC." + ::= { mplsTunnelExtNodeConfigEntry 1 } + + mplsTunnelExtNodeConfigGlobalId OBJECT-TYPE SYNTAX MplsGlobalId MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the Global Operator Identifier. This object value should be zero when - mplsNodeConfigIccId is configured with non-null value." + mplsTunnelExtNodeConfigIccId is configured with non-null + value." REFERENCE "MPLS-TP Identifiers [RFC6370]." - ::= { mplsNodeConfigEntry 2 } + ::= { mplsTunnelExtNodeConfigEntry 2 } - mplsNodeConfigNodeId OBJECT-TYPE + mplsTunnelExtNodeConfigNodeId OBJECT-TYPE SYNTAX MplsNodeId MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the Node_ID within the operator. - This object value should be zero when mplsNodeConfigIccId - is configured with non-null value." + This object value should be zero when + mplsTunnelExtNodeConfigIccId is configured with non-null + value." REFERENCE "MPLS-TP Identifiers [RFC6370]." - ::= { mplsNodeConfigEntry 3 } + ::= { mplsTunnelExtNodeConfigEntry 3 } - mplsNodeConfigIccId OBJECT-TYPE + mplsTunnelExtNodeConfigIccId OBJECT-TYPE SYNTAX MplsIccId MAX-ACCESS read-write 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 - mplsNodeConfigGlobalId and mplsNodeConfigNodeId are - assigned with non-zero value." + mplsTunnelExtNodeConfigGlobalId and + mplsTunnelExtNodeConfigNodeId are assigned with non-zero + value." REFERENCE "MPLS-TP Identifiers [RFC6370]." - ::= { mplsNodeConfigEntry 4 } + ::= { mplsTunnelExtNodeConfigEntry 4 } - mplsNodeConfigRowStatus OBJECT-TYPE + mplsTunnelExtNodeConfigRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object allows the administrator to create, modify, and/or delete a row in this table." - ::= { mplsNodeConfigEntry 5 } + ::= { mplsTunnelExtNodeConfigEntry 5 } - mplsNodeConfigStorageType OBJECT-TYPE + 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' need not allow write-access to any columnar objects in the row." DEFVAL { volatile } - ::= { mplsNodeConfigEntry 6 } + ::= { mplsTunnelExtNodeConfigEntry 6 } -- End of MPLS Transport Profile Node configuration table - -- Start of MPLS Transport Profile Node IP compatible -- mapping table - mplsNodeIpMapTable OBJECT-TYPE - SYNTAX SEQUENCE OF MplsNodeIpMapEntry + mplsTunnelExtNodeIpMapTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsTunnelExtNodeIpMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This read-only table allows the administrator 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 mplsNodeConfigTable." + is not defined in mplsTunnelExtNodeConfigTable." ::= { mplsTeExtObjects 2 } - mplsNodeIpMapEntry OBJECT-TYPE - SYNTAX MplsNodeIpMapEntry + 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 mplsNodeConfigTable. + Node_Id in the mplsTunnelExtNodeConfigTable. Note: Each entry in this table should have a unique Global_ID and Node_ID combination." - INDEX { mplsNodeIpMapGlobalId, - mplsNodeIpMapNodeId + INDEX { mplsTunnelExtNodeIpMapGlobalId, + mplsTunnelExtNodeIpMapNodeId } - ::= { mplsNodeIpMapTable 1 } + ::= { mplsTunnelExtNodeIpMapTable 1 } - MplsNodeIpMapEntry ::= SEQUENCE { - mplsNodeIpMapGlobalId MplsGlobalId, - mplsNodeIpMapNodeId MplsNodeId, - mplsNodeIpMapLocalId MplsLocalId + MplsTunnelExtNodeIpMapEntry ::= SEQUENCE { + mplsTunnelExtNodeIpMapGlobalId MplsGlobalId, + mplsTunnelExtNodeIpMapNodeId MplsNodeId, + mplsTunnelExtNodeIpMapLocalId MplsExtendedTunnelId } - - mplsNodeIpMapGlobalId OBJECT-TYPE + mplsTunnelExtNodeIpMapGlobalId OBJECT-TYPE SYNTAX MplsGlobalId MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the Global_ID." - ::= { mplsNodeIpMapEntry 1 } + ::= { mplsTunnelExtNodeIpMapEntry 1 } - mplsNodeIpMapNodeId OBJECT-TYPE + mplsTunnelExtNodeIpMapNodeId OBJECT-TYPE SYNTAX MplsNodeId MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the Node_ID within the operator." - ::= { mplsNodeIpMapEntry 2 } + ::= { mplsTunnelExtNodeIpMapEntry 2 } - mplsNodeIpMapLocalId OBJECT-TYPE - SYNTAX MplsLocalId + mplsTunnelExtNodeIpMapLocalId OBJECT-TYPE + SYNTAX MplsExtendedTunnelId MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an IP compatible local identifier - which is defined in mplsNodeConfigTable." - ::= { mplsNodeIpMapEntry 3 } + which is defined in mplsTunnelExtNodeConfigTable." + ::= { mplsTunnelExtNodeIpMapEntry 3 } -- End MPLS Transport Profile Node IP compatible table -- Start of MPLS Transport Profile Node ICC based table - mplsNodeIccMapTable OBJECT-TYPE - SYNTAX SEQUENCE OF MplsNodeIccMapEntry + mplsTunnelExtNodeIccMapTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsTunnelExtNodeIccMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This read-only table allows the administrator 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 mplsNodeConfigTable." + is not defined in mplsTunnelExtNodeConfigTable." ::= { mplsTeExtObjects 3 } - mplsNodeIccMapEntry OBJECT-TYPE - SYNTAX MplsNodeIccMapEntry + 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 mplsNodeConfigTable." - INDEX { mplsNodeIccMapIccId } - ::= { mplsNodeIccMapTable 1 } + the mplsTunnelExtNodeConfigTable." + INDEX { mplsTunnelExtNodeIccMapIccId } + ::= { mplsTunnelExtNodeIccMapTable 1 } - MplsNodeIccMapEntry ::= SEQUENCE { - mplsNodeIccMapIccId MplsIccId, - mplsNodeIccMapLocalId MplsLocalId + MplsTunnelExtNodeIccMapEntry ::= SEQUENCE { + mplsTunnelExtNodeIccMapIccId MplsIccId, + mplsTunnelExtNodeIccMapLocalId MplsExtendedTunnelId } - mplsNodeIccMapIccId OBJECT-TYPE + 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." - ::= { mplsNodeIccMapEntry 1 } + ::= { mplsTunnelExtNodeIccMapEntry 1 } - mplsNodeIccMapLocalId OBJECT-TYPE - SYNTAX MplsLocalId + mplsTunnelExtNodeIccMapLocalId OBJECT-TYPE + SYNTAX MplsExtendedTunnelId MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an ICC based local identifier - which is defined in mplsNodeConfigTable." + which is defined in mplsTunnelExtNodeConfigTable." - ::= { mplsNodeIccMapEntry 2 } + ::= { 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. @@ -1680,50 +1667,51 @@ 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 - mplsNodeConfigTable and mplsNodeConfigLocalId is - used to create an entry in mplsTunnelTable." + mplsTunnelExtNodeConfigTable and + mplsTunnelExtNodeConfigLocalId is used to create an entry + in mplsTunnelTable." REFERENCE "MPLS-TP Identifiers [RFC6370]." ::= { 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 { - mplsTunnelOppositeDirPtr RowPointer, + mplsTunnelExtOppositeDirPtr RowPointer, mplsTunnelExtOppositeDirTnlValid TruthValue, mplsTunnelExtDestTnlIndex MplsTunnelIndex, mplsTunnelExtDestTnlLspIndex MplsTunnelInstanceIndex, mplsTunnelExtDestTnlValid TruthValue } - mplsTunnelOppositeDirPtr OBJECT-TYPE + 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 @@ -1733,23 +1721,23 @@ 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 - mplsTunnelOppositeDirPtr for identifying the opposite + mplsTunnelExtOppositeDirPtr for identifying the opposite direction tunnel information. Note that if this variable - is set to true then the mplsTunnelOppositeDirPtr should + 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 @@ -1812,22 +1800,22 @@ 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 - mplsTunnelReversePerfTable OBJECT-TYPE - SYNTAX SEQUENCE OF MplsTunnelReversePerfEntry + 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 @@ -1827,126 +1815,125 @@ "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." ::= { mplsTeExtObjects 5 } - mplsTunnelReversePerfEntry OBJECT-TYPE - SYNTAX MplsTunnelReversePerfEntry + 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 } - ::= { mplsTunnelReversePerfTable 1 } + ::= { mplsTunnelExtReversePerfTable 1 } - MplsTunnelReversePerfEntry ::= SEQUENCE { - mplsTunnelReversePerfPackets Counter32, - mplsTunnelReversePerfHCPackets Counter64, - mplsTunnelReversePerfErrors Counter32, - mplsTunnelReversePerfBytes Counter32, - mplsTunnelReversePerfHCBytes Counter64 + MplsTunnelExtReversePerfEntry ::= SEQUENCE { + mplsTunnelExtReversePerfPackets Counter32, + mplsTunnelExtReversePerfHCPackets Counter64, + mplsTunnelExtReversePerfErrors Counter32, + mplsTunnelExtReversePerfBytes Counter32, + mplsTunnelExtReversePerfHCBytes Counter64 } - mplsTunnelReversePerfPackets OBJECT-TYPE + mplsTunnelExtReversePerfPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current 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 - mplsTunnelReversePerfHCPackets and this object + 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." - ::= { mplsTunnelReversePerfEntry 1 } - mplsTunnelReversePerfHCPackets OBJECT-TYPE + ::= { 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." - ::= { mplsTunnelReversePerfEntry 2 } - - mplsTunnelReversePerfErrors OBJECT-TYPE + ::= { 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." - ::= { mplsTunnelReversePerfEntry 3 } + ::= { mplsTunnelExtReversePerfEntry 3 } - mplsTunnelReversePerfBytes OBJECT-TYPE + 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. This object represents the 32-bit value of the least significant part of the 64-bit value if both - mplsTunnelReversePerfHCBytes and this object are returned. + 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." - ::= { mplsTunnelReversePerfEntry 4 } + ::= { mplsTunnelExtReversePerfEntry 4 } - mplsTunnelReversePerfHCBytes OBJECT-TYPE + 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." - ::= { mplsTunnelReversePerfEntry 5 } + ::= { mplsTunnelExtReversePerfEntry 5 } -- Notifications. - -- Notifications objects need to be added here. + -- Notification objects need to be added here. -- End of notifications. -- Module compliance. mplsTeExtGroups OBJECT IDENTIFIER ::= { mplsTeExtConformance 1 } mplsTeExtCompliances OBJECT IDENTIFIER ::= { mplsTeExtConformance 2 } @@ -2013,57 +2001,57 @@ DESCRIPTION "This group is mandatory for devices which support configuration of ICC based tunnels." ::= { mplsTeExtCompliances 2 } -- Units of conformance. mplsTunnelExtGroup OBJECT-GROUP OBJECTS { - mplsTunnelOppositeDirPtr, + mplsTunnelExtOppositeDirPtr, mplsTunnelExtOppositeDirTnlValid, mplsTunnelExtDestTnlIndex, mplsTunnelExtDestTnlLspIndex, mplsTunnelExtDestTnlValid, - mplsTunnelReversePerfPackets, - mplsTunnelReversePerfHCPackets, - mplsTunnelReversePerfErrors, - mplsTunnelReversePerfBytes, - mplsTunnelReversePerfHCBytes + 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 { mplsNodeConfigGlobalId, - mplsNodeConfigNodeId, - mplsNodeConfigRowStatus, - mplsNodeConfigStorageType, - mplsNodeIpMapLocalId + OBJECTS { mplsTunnelExtNodeConfigGlobalId, + mplsTunnelExtNodeConfigNodeId, + mplsTunnelExtNodeConfigRowStatus, + mplsTunnelExtNodeConfigStorageType, + mplsTunnelExtNodeIpMapLocalId } STATUS current DESCRIPTION "Object(s) needed to implement IP compatible tunnels." ::= { mplsTeExtGroups 2 } mplsTunnelExtIccOperatorGroup OBJECT-GROUP - OBJECTS { mplsNodeConfigIccId, - mplsNodeConfigRowStatus, - mplsNodeConfigStorageType, - mplsNodeIccMapLocalId + OBJECTS { mplsTunnelExtNodeConfigIccId, + mplsTunnelExtNodeConfigRowStatus, + 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 @@ -2158,22 +2146,22 @@ 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. 17. Acknowledgments The authors would like to thank Francesco Fondelli, Josh Littlefield, - Agrahara Kiran Koushik, Metrri Jain and Muly Ilan for their valuable - comments. + Agrahara Kiran Koushik, Metrri Jain, Muly Ilan and Joan Cucchiara + 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