--- 1/draft-ietf-mpls-tp-te-mib-01.txt 2012-03-12 10:13:58.582840002 +0100 +++ 2/draft-ietf-mpls-tp-te-mib-02.txt 2012-03-12 10:13:58.674839367 +0100 @@ -1,24 +1,25 @@ Network Working Group INTERNET-DRAFT M.Venkatesan -Intended Status: Standards Track Kannan KV Sampath -Expires: June 15, 2012 Aricent +Intended Status: Standards Track Dell Inc. +Expires: September 13, 2012 Kannan KV Sampath + Aricent Sam K. Aldrin Huawei Technologies Thomas D. Nadeau CA Technologies - December 15, 2011 + March 12, 2012 MPLS-TP Traffic Engineering (TE) Management Information Base (MIB) - draft-ietf-mpls-tp-te-mib-01.txt + draft-ietf-mpls-tp-te-mib-02.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 @@ -35,25 +36,25 @@ 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 June 15, 2012. + This Internet-Draft will expire on September 13, 2012. Copyright and License Notice - Copyright (c) 2011 IETF Trust and the persons identified as the + 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 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 @@ -96,22 +97,22 @@ 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 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 BCP 14, RFC2119. + "SHOULD", "SHOULD NOT", "MAY", and "OPTIONAL" in this document are to + be interpreted as described in BCP 14, RFC2119. 2. The Internet-Standard Management Framework For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC3410 [RFC3410]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). @@ -119,28 +120,28 @@ 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 RFC-2119 [RFC2119]. + document are to be interpreted as described in [RFC2119]. 3.2 Terminology This document uses terminology from the MPLS architecture document [RFC3031], MPLS Traffic Engineering Management information [RFC3812], MPLS Label Switch Router MIB [RFC3813] and MPLS-TP Identifiers - document [TPIDS]. + document [RFC6370]. 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 @@ -175,27 +176,27 @@ - A node configuration table (mplsNodeConfigTable) 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 [TPIDS]. The tables support + described in documents [RFC5654] and [RFC6370]. The tables support both IP compatible and ICC based tunnel configurations. 6.1. mplsNodeConfigTable The mplsNodeConfigTable is used to assign a local identifier for a - given ICC or Global_Node_ID combination as defined in [TPIDS]. + 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 @@ -244,20 +245,27 @@ 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 + + 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. 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 @@ -335,31 +343,31 @@ 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 - +9. Example of MPLS-TP Tunnel Setup In this section, we provide an example of the IP based MPLS-TP - co-routed bidirectional tunnel setup. This example provides - the usage of MPLS-TP Tunnel MIB along with the extended new MIB - modules introduced in this document. + 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 configuration - on a head-end LSR to setup a static MPLS-TP tunnel. Only relevant - objects which are applicable for MPLS-TP tunnel are illustrated here. + 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: { -- Non-IP Ingress LSR-Id (Index to the table) mplsNodeConfigLocalId = 1, mplsNodeConfigGlobalId = 1234, mplsNodeConfigNodeId = 10, -- Mandatory parameters needed to activate the row go here mplsNodeConfigRowStatus = createAndGo (4) @@ -390,80 +398,212 @@ mplsNodeIpMapNodeId = 10, mplsNodeIpMapLocalId = 1 -- Global_ID (Index to the table) mplsNodeIpMapGlobalId = 1234, -- Node Identifier (Index to the table) mplsNodeIpMapNodeId = 20, mplsNodeIpMapLocalId = 2 } - The following denotes the configured tunnel "head" entry: +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 mplsTunnelIngressLSRId = 1, -- Local map number created in mplsNodeConfigTable for Egress LSR-Id mplsTunnelEgressLSRId = 2, - mplsTunnelName = "TP forward LSP", + 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.12, + 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 + mplsTunnelOppositeDirTnlPtr = 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. + 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 + -- 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.5 Forward direction mplsXCExtEntry + + In mplsXCExtTable (0x01, 0x00000000, 0x00000001) + { + -- Back pointer from XC table to Tunnel table + mplsXCExtTunnelPointer = mplsTunnelName.1.1.1.2 + mplsXCOppositeDirXCPtr = + 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 = + mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1 + } + +9.1.7 mplsTunnelReversePerfTable + + The mplsTunnelReversePerfTable 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 + 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 = 2, + mplsTunnelInstance = 1, -- Local map number created in mplsNodeConfigTable for Ingress LSR-Id mplsTunnelIngressLSRId = 1, + -- Local map number created in mplsNodeConfigTable for Egress LSR-Id mplsTunnelEgressLSRId = 2, - mplsTunnelName = "TP reverse LSP", - mplsTunnelDescr = "West to East", + 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.4.0.0.0.16.1.0, + 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) @@ -462,142 +602,168 @@ 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) } - Now the TP specific Tunnel parameters are configured in - the extended Tunnel table +9.2.2 Forward direction mplsTunnelExtEntry + For Associated bidirectional forward LSP, In mplsTunnelExtTable: { - Index = same as one used for mplsTunnelTable, - -- As per [TPIDS] LSP_ID is defined as follows, - -- For corouted bidirectional tunnel - -- LSP_ID => East-Global_Node_ID::East-Tunnel_Num:: - -- West-Global_Node_ID::West-Tunnel_Num::LSP_Num - -- LSP_ID of this tunnel: 1234_10::1::1234_20::1::0 - -- Where, - -- LSP_Num - 0 indicates the configured head end tunnel. - - -- West tunnel number is assigned in the destination - -- tunnel index, - -- single LSP number is common for both forward and reverse - -- directions, as the single tunnel head entry originates - -- both the forward and reverse LSPs. - -- mplsTunnelExtDestTnlIndex = West-Tunnel_Num - -- mplsTunnelExtDestTnlLspIndex = LSP_Num - - mplsTunnelExtDestTnlIndex = 1, - mplsTunnelExtDestTnlLspIndex = 0 - - -- For associated bidirectional tunnel - -- LSP_ID => East-Global_Node_ID::East-Tunnel_Num:: - -- East-LSP_Num::West-Global_Node_ID:: - -- West-Tunnel_Num::West-LSP_Num - -- West tunnel number is assigned in the destination - -- tunnel index, since the head end tunnel is different for - -- both the forward and reverse direction LSPs, - -- Destination LSP index points the reverse direction LSP - -- in a different tunnel. - -- mplsTunnelExtDestTnlIndex = West-Tunnel_Num - -- mplsTunnelExtDestTnlLspIndex = West-LSP_Num - + mplsTunnelOppositeDirPtr.1.1.1.2 = mplsTunnelName.2.1.2.1 } - We must next create the appropriate in-segment and out-segment - entries. These are done in [RFC3813] using the mplsInSegmentTable - and mplsOutSegmentTable. +9.2.3 Forward direction mplsOutSegmentTable For the forward direction. In mplsOutSegmentTable: { - mplsOutSegmentIndex = 0x00000012, + 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) } - For the reverse direction. - - In mplsInSegmentTable: - { - mplsInSegmentIndex = 0x00000016 - 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.4 Forward direction mplsXCEntry In mplsXCTable: { mplsXCIndex = 0x01, mplsXCInSegmentIndex = 0x00000000, - mplsXCOutSegmentIndex = 0x00000012, + mplsXCOutSegmentIndex = 0x00000001, mplsXCLspId = 0x0102 -- unique ID -- only a single outgoing label mplsXCLabelStackIndex = 0x00, 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 = + 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 + mplsTunnelIngressLSRId = 2, + -- Local map number created in mplsNodeConfigTable 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 + 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 + } + +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 = 0x00000016, + 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. - First for the forward direction: - - In mplsXCExtTable - { - -- Back pointer from XC table to Tunnel table - mplsXCExtTunnelPointer = mplsTunnelName.1.1.1.2 - } +9.2.10 Reverse direction mplsXCExtEntry Next for the reverse direction: - In mplsXCExtTable + In mplsXCExtTable (0x01, 0x00000001, 0x00000000) { -- Back pointer from XC table to Tunnel table - mplsXCExtTunnelPointer = mplsTunnelName.1.2.1.2 + mplsXCExtTunnelPointer = mplsTunnelName.1.1.1.2 + mplsXCOppositeDirXCPtr = + 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] TEXTUAL-CONVENTION FROM SNMPv2-TC -- [RFC2579] mplsStdMIB @@ -601,31 +767,32 @@ FROM SNMPv2-TC -- [RFC2579] mplsStdMIB FROM MPLS-TC-STD-MIB -- [RFC3811] ; mplsTcExtStdMIB MODULE-IDENTITY LAST-UPDATED - "201106160000Z" -- June 16, 2011 + "201202220000Z" -- February 22, 2012 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Venkatesan Mahalingam - Aricent, - India + Dell Inc, + 350 Holger way, San Jose, CA, USA Email: venkat.mahalingams@gmail.com 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 @@ -625,76 +792,79 @@ Sam Aldrin Huawei Technologies 2330 Central Express Way, Santa Clara, CA 95051, USA Email: aldrin.ietf@gmail.com Thomas D. Nadeau CA Technologies 273 Corporate Drive, Portsmouth, NH, USA + Email: thomas.nadeau@ca.com " DESCRIPTION - "Copyright (c) 2011 IETF Trust and the persons identified + "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 - "201106160000Z" -- June 16, 2011 + "201202220000Z" -- February 22, 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 - operator unique identifier (Global_ID), the Global_ID - - can contain the 2-octet or 4-octet value of the operator's + 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. + 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." SYNTAX OCTET STRING (SIZE (4)) MplsNodeId ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "The Node_ID is assigned within the scope of the Global_ID. The value 0(or 0.0.0.0 in dotted decimal notation) is reserved and MUST NOT be used. - When IPv4 addresses are in use, the value of this object can - be derived from the LSR's /32 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. + When IPv4 addresses are in use, the value of this object + can be derived from the LSR's /32 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 @@ -703,32 +873,32 @@ 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. + 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. + 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 @@ -740,59 +910,58 @@ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-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 - "201106160000Z" -- June 16, 2011 + "201202220000Z" -- February 22, 2012 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Venkatesan Mahalingam - Aricent, - India - + Dell Inc, + 350 Holger way, San Jose, CA, USA Email: venkat.mahalingams@gmail.com 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 CA Technologies 273 Corporate Drive, Portsmouth, NH, USA Email: thomas.nadeau@ca.com " DESCRIPTION - "Copyright (c) 2011 IETF Trust and the persons identified + "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 - "201106160000Z" -- June 16, 2011 + "201202220000Z" -- February 22, 2012 DESCRIPTION "MPLS identifiers mib object extension" ::= { mplsStdMIB xxx } -- xxx to be replaced with correct value -- traps mplsIdNotifications OBJECT IDENTIFIER ::= { mplsIdStdMIB 0 } -- tables, scalars mplsIdObjects OBJECT IDENTIFIER ::= { mplsIdStdMIB 1 } -- conformance @@ -802,47 +971,48 @@ mplsGlobalId 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 [TPIDS]." + + "MPLS-TP Identifiers [RFC6370]." ::= { mplsIdObjects 1 } mplsIcc 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 [TPIDS]." + "MPLS-TP Identifiers [RFC6370]." ::= { mplsIdObjects 2 } mplsNodeId 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." - + The Node_ID is assigned within the scope of + the Global_ID." REFERENCE - "MPLS-TP Identifiers [TPIDS]." + "MPLS-TP Identifiers [RFC6370]." ::= { mplsIdObjects 3 } -- Module compliance. mplsIdGroups OBJECT IDENTIFIER ::= { mplsIdConformance 1 } mplsIdCompliances OBJECT IDENTIFIER ::= { mplsIdConformance 2 } @@ -913,34 +1084,35 @@ 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 - "201106160000Z" -- June 16, 2011 + "201202220000Z" -- February 22, 2012 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Venkatesan Mahalingam - Aricent, - India + Dell Inc, + 350 Holger way, San Jose, CA, USA Email: venkat.mahalingams@gmail.com 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 CA Technologies 273 Corporate Drive, Portsmouth, NH, USA @@ -940,41 +1112,45 @@ Santa Clara, CA 95051, USA Email: aldrin.ietf@gmail.com Thomas D. Nadeau CA Technologies 273 Corporate Drive, Portsmouth, NH, USA Email: thomas.nadeau@ca.com " DESCRIPTION - "Copyright (c) 2011 IETF Trust and the persons identified + "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 - "201106160000Z" -- June 16, 2011 + "201202220000Z" -- February 22, 2012 DESCRIPTION "MPLS LSR specific mib objects extension" ::= { mplsStdMIB xxx } -- xxx to be replaced with correct value -- traps - mplsLsrExtNotifications OBJECT IDENTIFIER ::= { mplsLsrExtStdMIB 0 } + mplsLsrExtNotifications OBJECT IDENTIFIER + ::= { mplsLsrExtStdMIB 0 } -- tables, scalars - mplsLsrExtObjects OBJECT IDENTIFIER ::= { mplsLsrExtStdMIB 1 } + mplsLsrExtObjects OBJECT IDENTIFIER + ::= { mplsLsrExtStdMIB 1 } -- conformance - mplsLsrExtConformance OBJECT IDENTIFIER ::= { mplsLsrExtStdMIB 2 } + 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 [RFC 3813] to provide MPLS-TP specific information about associated tunnel information" @@ -986,63 +1161,79 @@ mplsXCExtEntry OBJECT-TYPE SYNTAX MplsXCExtEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table extends the cross connect information represented by an entry in the mplsXCTable in MPLS-LSR-STD-MIB [RFC 3813] through - a sparse augmentation. An entry can be created by a network - administrator via SNMP SET commands, or in + a sparse augmentation. An entry can be created by + a network administrator 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." + INDEX { mplsXCIndex, mplsXCInSegmentIndex, mplsXCOutSegmentIndex } ::= { mplsXCExtTable 1 } MplsXCExtEntry ::= SEQUENCE { - mplsXCExtTunnelPointer RowPointer + mplsXCExtTunnelPointer RowPointer, + mplsXCOppositeDirXCPtr RowPointer } mplsXCExtTunnelPointer OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION - "This object indicates the back pointer to the tunnel entry - segment. This object cannot be modified if + "This 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)." REFERENCE "1. Multiprotocol Label Switching (MPLS) Label Switching Router (LSR) Management Information Base (MIB), RFC 3813." ::= { mplsXCExtEntry 1 } + mplsXCOppositeDirXCPtr 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." + ::= { 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. + 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, @@ -1057,38 +1248,36 @@ 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. + -- 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. Such devices can - then be monitored but cannot be configured using this - MIB module." + "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 } @@ -1092,25 +1281,33 @@ 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 + mplsXCExtTunnelPointer, + mplsXCOppositeDirXCPtr } 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 @@ -1108,105 +1305,109 @@ 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, Gauge32, - NOTIFICATION-TYPE + MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32, + Counter64, Gauge32, zeroDotZero, NOTIFICATION-TYPE FROM SNMPv2-SMI -- [RFC2578] MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- [RFC2580] - RowStatus, StorageType + + RowStatus, RowPointer, StorageType FROM SNMPv2-TC -- [RFC2579] MplsLocalId, MplsGlobalId, MplsNodeId, MplsIccId FROM MPLS-TC-EXT-STD-MIB mplsStdMIB, MplsTunnelIndex, MplsTunnelInstanceIndex FROM MPLS-TC-STD-MIB -- [RFC3811] mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId FROM MPLS-TE-STD-MIB -- [RFC3812] ; mplsTeExtStdMIB MODULE-IDENTITY LAST-UPDATED - "201106160000Z" -- June 16, 2011 + "201203020000Z" -- March 02, 2012 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Venkatesan Mahalingam - Aricent, - India + Dell Inc, + 350 Holger way, San Jose, CA, USA Email: venkat.mahalingams@gmail.com 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 CA Technologies 273 Corporate Drive, Portsmouth, NH, USA Email: thomas.nadeau@ca.com " DESCRIPTION - "Copyright (c) 2011 IETF Trust and the persons identified + "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 - "201106160000Z" -- June 16, 2011 + "201203020000Z" -- March 02, 2012 DESCRIPTION "MPLS TE mib objects extension" - ::= { mplsStdMIB xxx } -- xxx to be replaced with correct value + ::= { mplsStdMIB xxx } -- xxx to be replaced + -- with correct value -- Top level components of this MIB module. -- traps - mplsTeExtNotifications OBJECT IDENTIFIER ::= { mplsTeExtStdMIB 0 } + mplsTeExtNotifications OBJECT IDENTIFIER + ::= { mplsTeExtStdMIB 0 } -- tables, scalars - mplsTeExtObjects OBJECT IDENTIFIER ::= { mplsTeExtStdMIB 1 } + mplsTeExtObjects OBJECT IDENTIFIER + ::= { mplsTeExtStdMIB 1 } -- conformance - mplsTeExtConformance OBJECT IDENTIFIER ::= { mplsTeExtStdMIB 2 } + mplsTeExtConformance OBJECT IDENTIFIER + ::= { mplsTeExtStdMIB 2 } -- Start of MPLS Transport Profile Node configuration table mplsNodeConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsNodeConfigEntry 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 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 @@ -1212,25 +1413,26 @@ 4 bytes (Unsigned32) value in order to index (Ingress/Egress LSR identifier) the existing mplsTunnelTable." ::= { mplsTeExtObjects 1 } mplsNodeConfigEntry OBJECT-TYPE SYNTAX MplsNodeConfigEntry 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 [TPIDS], this mapping is + 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 } MplsNodeConfigEntry ::= SEQUENCE { mplsNodeConfigLocalId MplsLocalId, @@ -1253,50 +1456,51 @@ mplsNodeConfigGlobalId 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." REFERENCE - "MPLS-TP Identifiers [TPIDS]." + "MPLS-TP Identifiers [RFC6370]." ::= { mplsNodeConfigEntry 2 } mplsNodeConfigNodeId 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." REFERENCE - "MPLS-TP Identifiers [TPIDS]." + "MPLS-TP Identifiers [RFC6370]." ::= { mplsNodeConfigEntry 3 } mplsNodeConfigIccId 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." REFERENCE - "MPLS-TP Identifiers [TPIDS]." + "MPLS-TP Identifiers [RFC6370]." ::= { mplsNodeConfigEntry 4 } mplsNodeConfigRowStatus 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 } @@ -1309,35 +1513,37 @@ "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 } -- End of MPLS Transport Profile Node configuration table - -- Start of MPLS Transport Profile Node IP compatible mapping table + -- Start of MPLS Transport Profile Node IP compatible + -- mapping table mplsNodeIpMapTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsNodeIpMapEntry 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 + + 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." ::= { mplsTeExtObjects 2 } mplsNodeIpMapEntry OBJECT-TYPE SYNTAX MplsNodeIpMapEntry MAX-ACCESS not-accessible @@ -1438,147 +1642,231 @@ 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." + numeric (i.e. 0-9) characters. Alphabetic characters + in the ICC should be represented with upper case + letters." ::= { mplsNodeIccMapEntry 1 } mplsNodeIccMapLocalId OBJECT-TYPE SYNTAX MplsLocalId MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an ICC based local identifier which is defined in mplsNodeConfigTable." + ::= { mplsNodeIccMapEntry 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. - As per MPLS-TP Identifiers [TPIDS] draft, LSP_ID is - - Src-Global_Node_ID::Src-Tunnel_Num::Dst-Global_Node_ID:: - Dst-Tunnel_Num::LSP_Num for IP operator and + As per MPLS-TP Identifiers [RFC6370], LSP_ID for IP based + co-routed bidirectional tunnel, - Src-ICC::Src-Tunnel_Num::Dst-ICC::Dst-Tunnel_Num::LSP_Num - for ICC operator, + 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 mplsNodeConfigTable and mplsNodeConfigLocalId is used to create an entry in mplsTunnelTable." REFERENCE - "MPLS-TP Identifiers [TPIDS]." + "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 { - mplsTunnelExtDestTnlIndex MplsTunnelIndex, - mplsTunnelExtDestTnlLspIndex MplsTunnelInstanceIndex + mplsTunnelOppositeDirPtr RowPointer } - mplsTunnelExtDestTnlIndex OBJECT-TYPE - SYNTAX MplsTunnelIndex + mplsTunnelOppositeDirPtr 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 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. + This object holds the opposite direction tunnel entry + if the bidirectional tunnel is setup by configuring two + tunnel entries in mplsTunnelTable. - 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 the reverse direction LSP and - vice versa. + The value of zeroDotZero indicates single tunnel entry + is used for bidirectional tunnel setup." + DEFVAL { zeroDotZero } + ::= { mplsTunnelExtEntry 1 } - 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. + -- End of MPLS Tunnel table extension - The value of zero for this object is invalid." - ::= { mplsTunnelExtEntry 1 } + mplsTunnelReversePerfTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsTunnelReversePerfEntry + 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. - mplsTunnelExtDestTnlLspIndex OBJECT-TYPE - SYNTAX MplsTunnelInstanceIndex - MAX-ACCESS read-create + 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 + MAX-ACCESS not-accessible 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. + "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 } - This object should contain different value if both the - forward and reverse LSPs present in the same tunnel. + MplsTunnelReversePerfEntry ::= SEQUENCE { + mplsTunnelReversePerfPackets Counter32, + mplsTunnelReversePerfHCPackets Counter64, + mplsTunnelReversePerfErrors Counter32, + mplsTunnelReversePerfBytes Counter32, + mplsTunnelReversePerfHCBytes Counter64 + } - This object can contain same value or different values if - the forward and reverse LSPs present in the different - tunnels. + mplsTunnelReversePerfPackets 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. - The value of zero for this object is valid for the - configured tunnel." - ::= { mplsTunnelExtEntry 2 } + This object represents the 32-bit value of the least + significant part of the 64-bit value if both + mplsTunnelReversePerfHCPackets and this object + are returned. - -- End of MPLS Tunnel table extension + 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 + 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 + 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 } + + mplsTunnelReversePerfBytes 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. + + For links that do not transport packets, this packet + counter cannot be maintained. For such links, this value + will return noSuchInstance." + ::= { mplsTunnelReversePerfEntry 4 } + + mplsTunnelReversePerfHCBytes 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 } -- Notifications. -- Notifications objects need to be added here. -- End of notifications. -- Module compliance. mplsTeExtGroups OBJECT IDENTIFIER ::= { mplsTeExtConformance 1 } @@ -1648,23 +1937,28 @@ DESCRIPTION "This group is mandatory for devices which support configuration of ICC based tunnels." ::= { mplsTeExtCompliances 2 } -- Units of conformance. mplsTunnelExtGroup OBJECT-GROUP OBJECTS { - mplsTunnelExtDestTnlIndex, - mplsTunnelExtDestTnlLspIndex + mplsTunnelOppositeDirPtr, + mplsTunnelReversePerfPackets, + mplsTunnelReversePerfHCPackets, + mplsTunnelReversePerfErrors, + mplsTunnelReversePerfBytes, + mplsTunnelReversePerfHCBytes } + 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, @@ -1708,35 +2002,36 @@ 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 + 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 + 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. 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, @@ -1768,44 +2063,49 @@ 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 + 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. - [TPIDS] M. Bocci, et al, "MPLS-TP Identifiers", - draft-ietf-mpls-tp-identifiers-03, October 25, 2010 + [RFC6370] Bocci, M., Swallow, G., and E. Gray, "MPLS Transport + Profile (MPLS-TP) Identifiers", RFC 6370, September + 2011. 17. Acknowledgments - To be added in a later version of this document. + The authors would like to thank Francesco Fondelli, Josh Littlefield, + Agrahara Kiran Koushik and Metrri Jain 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 CA Technologies 273 Corporate Drive, Portsmouth, NH, USA Email: thomas.nadeau@ca.com Venkatesan Mahalingam - Aricent - India + Dell Inc. + 350 Holger way, San Jose, CA, USA Email: venkat.mahalingams@gmail.com - Kannan KV Sampath Aricent India Email: Kannan.Sampath@aricent.com