Network Working Group INTERNET-DRAFT Sam Aldrin Intended Status: Standards Track Huawei Technologies Expires: June 17, 2014 M.Venkatesan Dell Inc. Kannan KV Sampath Redeem Thomas D. Nadeau Juniper Networks December 14, 2013 MPLS-TP Operations, Administration, and Management (OAM) Identifiers Management Information Base (MIB) draft-ietf-mpls-tp-oam-id-mib-04 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 Operations, Administration, and Management (OAM) identifiers related managed objects for Multiprotocol Label Switching (MPLS) based Transport Profile (TP). Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on June 17, 2014. Aldrin, et al. Expires June 17, 2014 [Page 1] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 Copyright and License Notice Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 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. Feature List . . . . . . . . . . . . . . . . . . . . . . . . . 4 5. Brief description of MIB Objects . . . . . . . . . . . . . . . 4 5.1. mplsOamIdMegTable . . . . . . . . . . . . . . . . . . . . 4 5.2. mplsOamIdMeTable . . . . . . . . . . . . . . . . . . . . . 5 6. MPLS OAM identifier configuration for MPLS tunnel example . . . 5 7. MPLS OAM Identifiers MIB definitions . . . . . . . . . . . . . 6 8. Security Consideration . . . . . . . . . . . . . . . . . . . . 25 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 26 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 26 10.1 Normative References . . . . . . . . . . . . . . . . . . . 26 10.2 Informative References . . . . . . . . . . . . . . . . . . 26 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 27 12. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 27 Aldrin, et al. Expires June 17, 2014 [Page 2] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 1 Introduction This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for modeling a Multiprotocol Label Switching (MPLS) [RFC3031] based transport profile. This MIB module should be used for performing the OAM operations for MPLS LSPs, Pseudowires and Sections. 2. The Internet-Standard Management Framework For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC3410 [RFC3410]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC2578, STD 58, RFC2579 and STD58, RFC2580. 3. Overview 3.1 Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [RFC2119]. 3.2 Terminology This document uses terminology from the Multiprotocol Label Switching Architecture [RFC3031], Multiprotocol Label Switching (MPLS) Traffic Engineering (TE)Management Information Base (MIB)[RFC3812], Multiprotocol Label Switching (MPLS) Label Switching Router (LSR) Management Information Base (MIB)[RFC3813], Operations, Administration, and Maintenance Framework for MPLS-Based Transport Networks [RFC6371], MPLS Transport Profile (MPLS-TP) Identifiers [RFC6370], MPLS-TP Identifiers Following ITU-T Conventions [RFC6923], and OAM in MPLS Transport Networks [RFC5860]. 3.3 Acronyms Aldrin, et al. Expires June 17, 2014 [Page 3] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 ICC: ITU Carrier Code IP: Internet Protocol LSP: Label Switching Path LSR: Label Switching Router MIB: Management Information Base ME: Maintenance Entity MEG: Maintenance Entity Group MEP: Maintenance Entity Group End Point MIP: Maintenance Entity Group Intermediate Point MPLS: Multi-Protocol Label Switching MPLS-TP: MPLS Transport Profile PW: Pseudowire TE: Traffic Engineering TP: Transport Profile 4. Feature List The MPLS transport profile OAM identifiers MIB module is designed to satisfy the following requirements and constraints: - The MIB module supports configuration of OAM identifiers for point-to-point, co-routed bidirectional, associated bidirectional MPLS tunnels and MPLS Pseudowires. 5. 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 OAM identifiers configurations for MPLS Tunnels and Pseudowires. 5.1. mplsOamIdMegTable The mplsOamIdMegTable is used to manage one or more Maintenance Entities (MEs) that belongs to the same transport path. When a new entry is created with mplsOamIdMegOperatorType set to ipCompatible (1), then as per [RFC6370] (MEG_ID for LSP is LSP_ID and MEG_ID for PW is PW_Path_ID), MEP_ID can be automatically formed. For ICC based transport path, the user is expected to configure the ICC identifier explicitly in this table for MPLS tunnels and pseudowires. Aldrin, et al. Expires June 17, 2014 [Page 4] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 5.2. mplsOamIdMeTable The mplsOamIdMeTable defines a relationship between two points (source and sink) of a transport path to which maintenance and monitoring operations apply. The two points that define a maintenance entity are called Maintenance Entity Group End Points (MEPs). In between MEPs, there are zero or more intermediate points, called Maintenance Entity Group Intermediate Points (MIPs). MEPs and MIPs are associated with the MEG and can be shared by more than one ME in a MEG. 6. MPLS OAM identifier configuration for MPLS tunnel example In this section, we provide an example of the OAM identifier configuration for an MPLS co-routed bidirectional tunnel. This example provides usage of a MEG and ME tables for management and monitoring operations of an MPLS tunnel. This example considers the OAM identifiers configuration on a head-end LSR to manage and monitor a MPLS tunnel. Only relevant objects which are applicable for IP based OAM identifiers of co-routed MPLS tunnel are illustrated here. In mplsOamIdMegTable: { -- MEG index (Index to the table) mplsOamIdMegIndex = 1, mplsOamIdMegName = "MEG1", mplsOamIdMegOperatorType = ipCompatible (1), mplsOamIdMegServicePointerType = lsp (1), mplsOamIdMegMpLocation = perNode(1), -- Mandatory parameters needed to activate the row go here mplsOamIdMegRowStatus = createAndGo (4), mplsOamIdMegPathFlow = coRoutedBidirectionalPointToPoint (2) } This will create an entry in the mplsOamIdMegTable to manage and monitor the MPLS tunnel. The following ME table is used to associate the path information to a MEG. Aldrin, et al. Expires June 17, 2014 [Page 5] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 In mplsOamIdMeTable: { -- ME index (Index to the table) mplsOamIdMeIndex = 1, -- MP index (Index to the table) mplsOamIdMeMpIndex = 1, mplsOamIdMeName = "ME1", mplsOamIdMeMpIfIndex = 0, -- Source MEP id is derived from the IP compatible MPLS tunnel mplsOamIdMeSourceMepIndex = 0, -- Source MEP id is derived from the IP compatible MPLS tunnel mplsOamIdMeSinkMepIndex = 0, mplsOamIdMeMpType = mep (1), mplsOamIdMeMepDirection = down (2), mplsOamIdMeProactiveOamPhbTCValue = 0, mplsOamIdMeOnDemandOamPhbTCValue = 0, -- RowPointer MUST point to the first accessible column of an -- MPLS tunnel mplsOamIdMeServicePointer = mplsTunnelName.1.1.10.20, -- Mandatory parameters needed to activate the row go here mplsOamIdMeRowStatus = createAndGo (4) } 7. MPLS OAM Identifiers MIB definitions MPLS-OAM-ID-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Unsigned32, zeroDotZero FROM SNMPv2-SMI -- [RFC2578] MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- [RFC2580] RowStatus, RowPointer, StorageType, TEXTUAL-CONVENTION FROM SNMPv2-TC -- [RFC2579] SnmpAdminString FROM SNMP-FRAMEWORK-MIB -- [RFC3411] IndexIntegerNextFree FROM DIFFSERV-MIB -- [RFC3289] mplsStdMIB FROM MPLS-TC-STD-MIB -- [RFC3811] InterfaceIndexOrZero, ifGeneralInformationGroup, ifCounterDiscontinuityGroup FROM IF-MIB; -- [RFC2863] Aldrin, et al. Expires June 17, 2014 [Page 6] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 mplsOamIdStdMIB MODULE-IDENTITY LAST-UPDATED "201306180000Z" -- June 18, 2013 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Sam Aldrin Huawei Technologies, co. 2330 Central Express Way, Santa Clara, CA 95051, USA Email: aldrin.ietf@gmail.com Thomas D. Nadeau Juniper Networks 10 Technology Park Drive, Westford, MA 01886 Email: tnadeau@juniper.net Venkatesan Mahalingam Dell Inc. 350 Holger way, San Jose, CA, USA Email: venkat.mahalingams@gmail.com Kannan KV Sampath Redeem, India Email: kannankvs@gmail.com Ping Pan Infinera Email: ppan@infinera.com Sami Boutros Cisco Systems, Inc. 3750 Cisco Way San Jose, California 95134 USA Email: sboutros@cisco.com " DESCRIPTION "Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This MIB module contains generic object definitions for Aldrin, et al. Expires June 17, 2014 [Page 7] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 MPLS OAM maintenance identifiers." -- Revision history. REVISION "201306180000Z" -- June 18, 2013 DESCRIPTION "MPLS OAM Identifiers MIB objects for LSPs and Pseudowires" ::= { mplsStdMIB xxx } -- xxx to be replaced with the correct -- OID value assigned by -- IANA (see section 9). -- TEXTUAL-CONVENTIONs MplsOamPhbTCValue ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This is the Per-hop Behavior (PHB) traffic class values for the MPLS OAM operations." SYNTAX INTEGER { be (1), af1 (2), af2 (3), af3 (4), af4 (5), ef (6), cs6 (7), cs7 (8) } -- Top level components of this MIB module. -- notifications mplsOamIdNotifications OBJECT IDENTIFIER ::= { mplsOamIdStdMIB 0 } -- tables, scalars mplsOamIdObjects OBJECT IDENTIFIER ::= { mplsOamIdStdMIB 1 } -- conformance mplsOamIdConformance OBJECT IDENTIFIER ::= { mplsOamIdStdMIB 2 } -- Start of MPLS Transport Profile MEG table mplsOamIdMegIndexNext OBJECT-TYPE SYNTAX IndexIntegerNextFree (0..4294967295) MAX-ACCESS read-only Aldrin, et al. Expires June 17, 2014 [Page 8] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 STATUS current DESCRIPTION "This object contains an unused value for mplsOamIdMegIndex, or a zero to indicate that none exist. Negative values are not allowed, as they do not correspond to valid values of mplsOamIdMegIndex." ::= { mplsOamIdObjects 1 } mplsOamIdMegTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsOamIdMegEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about the Maintenance Entity Groups (MEG). MEG as mentioned in MPLS-TP OAM framework defines a set of one or more maintenance entities (ME). Maintenance Entities define a relationship between any two points of a transport path in an OAM domain to which maintenance and monitoring operations apply." ::= { mplsOamIdObjects 2 } mplsOamIdMegEntry OBJECT-TYPE SYNTAX MplsOamIdMegEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents MPLS-TP MEG. An entry can be created by a network administrator or by an SNMP agent as instructed by an MPLS-TP OAM Framework. When a new entry is created with mplsOamIdMegOperatorType set to ipCompatible (1), then as per [RFC6370] (MEG_ID for LSP is LSP_ID and MEG_ID for PW is PW_Path_ID), MEP_ID can be automatically formed. For co-routed bidirectional LSP, MEG_ID is A1-{Global_ID::Node_ID::Tunnel_Num}::Z9-{Global_ID:: Node_ID::Tunnel_Num}::LSP_Num. For associated bidirectional LSP, MEG_ID is A1- {Global_ID::Node_ID::Tunnel_Num::LSP_Num}:: Z9- {Global_ID::Node_ID::Tunnel_Num::LSP_Num} For LSP, MEP_ID is formed using, Aldrin, et al. Expires June 17, 2014 [Page 9] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 Global_ID::Node_ID::Tunnel_Num::LSP_Num For PW, MEG_ID is formed using AGI::A1- {Global_ID::Node_ID::AC_ID}:: Z9- {Global_ID::Node_ID::AC_ID}. For PW, MEP_ID is formed using AGI::Global_ID::Node_ID::AC_ID MEP_ID is retrieved from the mplsOamIdMegServicePointer object based on the mplsOamIdMegServicePointerType value. ICC MEG_ID for LSP and PW is formed using the objects mplsOamIdMegIdIcc and mplsOamIdMegIdUmc. MEP_ID can be formed using MEG_ID::MEP_Index." REFERENCE "1. RFC5860, Requirements for OAM in MPLS Transport Networks, May 2010. 2. RFC6371, Operations, Administration, and Maintenance Framework for MPLS-Based Transport Networks, September 2011 Section 3. 3. RFC6370, MPLS Transport Profile (MPLS-TP) Identifiers. 4. RFC6923, MPLS Transport Profile (MPLS-TP) Identifiers Following ITU-T Conventions." INDEX { mplsOamIdMegIndex } ::= { mplsOamIdMegTable 1 } MplsOamIdMegEntry ::= SEQUENCE { mplsOamIdMegIndex Unsigned32, mplsOamIdMegName SnmpAdminString, mplsOamIdMegOperatorType INTEGER, mplsOamIdMegIdCc SnmpAdminString, mplsOamIdMegIdIcc SnmpAdminString, mplsOamIdMegIdUmc SnmpAdminString, mplsOamIdMegServicePointerType INTEGER, mplsOamIdMegMpLocation INTEGER, mplsOamIdMegPathFlow INTEGER, mplsOamIdMegOperStatus INTEGER, mplsOamIdMegSubOperStatus BITS, mplsOamIdMegRowStatus RowStatus, mplsOamIdMegStorageType StorageType } mplsOamIdMegIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION Aldrin, et al. Expires June 17, 2014 [Page 10] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 "Index for the conceptual row identifying a MEG within this MEG table. Managers should obtain new values for row creation in this table by reading mplsOamIdMegIndexNext." ::= { mplsOamIdMegEntry 1 } mplsOamIdMegName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..48)) MAX-ACCESS read-create STATUS current DESCRIPTION "Each Maintenance Entity Group has unique name amongst all those used or available to a service provider or operator. It facilitates easy identification of administrative responsibility for each MEG." ::= { mplsOamIdMegEntry 2 } mplsOamIdMegOperatorType OBJECT-TYPE SYNTAX INTEGER { ipCompatible (1), iccBased (2) } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the operator type for MEG. Conceptual rows having 'iccBased' as operator type, MUST have valid values for the objects mplsOamIdMegIdIcc and mplsOamIdMegIdUmc when the row status is active." REFERENCE "1. RFC6370, MPLS Transport Profile (MPLS-TP) Identifiers. 2. RFC6923, MPLS Transport Profile (MPLS-TP) Identifiers Following ITU-T Conventions. Section 3.1" DEFVAL { ipCompatible } ::= { mplsOamIdMegEntry 3 } mplsOamIdMegIdCc OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..2)) MAX-ACCESS read-create STATUS current DESCRIPTION "Global uniqueness is assured by concatenating the ICC with a Country Code (CC). The Country Code (alpha-2) is a string of two alphabetic characters represented with upper case letters (i.e., A-Z). Aldrin, et al. Expires June 17, 2014 [Page 11] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 This object MUST contain a non-null ICC value if the MplsOamIdMegOperatorType value is iccBased(2), otherwise a null ICC value with octet size 0 should be assigned." REFERENCE "RFC6923, MPLS Transport Profile (MPLS-TP) Identifiers Following ITU-T Conventions. Section 3." DEFVAL {""} ::= { mplsOamIdMegEntry 4 } mplsOamIdMegIdIcc OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..6)) MAX-ACCESS read-create STATUS current DESCRIPTION "Unique code assigned to Network Operator or Service Provider maintained by ITU-T. The ITU Carrier Code used to form MEGID. This object MUST contain a non-null ICC value if the MplsOamIdMegOperatorType value is iccBased(2), otherwise a null ICC value with octet size 0 should be assigned." REFERENCE "RFC6923, MPLS Transport Profile (MPLS-TP) Identifiers Following ITU-T Conventions. Section 3.1." DEFVAL {""} ::= { mplsOamIdMegEntry 5 } mplsOamIdMegIdUmc OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..7)) MAX-ACCESS read-create STATUS current DESCRIPTION "Unique code assigned by Network Operator or Service Provider and is appended to mplsOamIdMegIdIcc to form the MEGID. This object MUST contain a non-null ICC value if the MplsOamIdMegOperatorType value is iccBased(2), otherwise a null ICC value with octet size 0 should be assigned." REFERENCE "RFC6923, MPLS Transport Profile (MPLS-TP) Identifiers Following ITU-T Conventions. Section 7.1." DEFVAL {""} ::= { mplsOamIdMegEntry 6 } Aldrin, et al. Expires June 17, 2014 [Page 12] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 mplsOamIdMegServicePointerType OBJECT-TYPE SYNTAX INTEGER { lsp (1), pseudowire (2), section (3) } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the service type for the MEG. If the service type indicates lsp, the service pointer in mplsOamIdMeTable points to an entry in the mplsTunnelTable [RFC3812]. If the value is pseudowire service type, the service pointer in mplsOamIdMeTable points to an entry in the pwTable [RFC5601]. If the value is section service type, the service pointer in mplsOamIdMeTable points to an entry in the mplsTunnelTable [RFC3812]." REFERENCE "1. Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management Information Base (MIB), Srinivasan, et al, RFC 3812, June 2004 2. Pseudowire (PW) Management Information Base (MIB), Nadeau & Zelig, RFC 5601, July 2009." DEFVAL { lsp } ::= { mplsOamIdMegEntry 7 } mplsOamIdMegMpLocation OBJECT-TYPE SYNTAX INTEGER { perNode (1), perInterface (2) } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the MP location type for this MEG. If the value is perNode, then the MEG in the LSR supports only perNode MEP/MIP, i.e., only one MEP/MIP in an LSR. If the value is perInterface, then the MEG in the LSR supports perInterface MEPs/MIPs, i.e., two MEPs/MIPs in an LSR." Aldrin, et al. Expires June 17, 2014 [Page 13] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 REFERENCE "RFC 6371, Operations, Administration, and Maintenance Framework for MPLS-Based Transport Networks, September 2011." DEFVAL { perNode } ::= { mplsOamIdMegEntry 8 } mplsOamIdMegPathFlow OBJECT-TYPE SYNTAX INTEGER { unidirectionalPointToPoint (1), coRoutedBidirectionalPointToPoint (2), associatedBidirectionalPointToPoint (3), unidirectionalPointToMultiPoint (4) } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the transport path flow for this MEG. In case of a unidirectional point-to-point transport path, a single unidirectional Maintenance Entity is defined to monitor it. In case of associated bidirectional point-to-point transport paths, two independent unidirectional Maintenance Entities are defined to independently monitor each direction. In case of co-routed bidirectional point-to-point transport paths, a single bidirectional Maintenance Entity is defined to monitor both directions congruently. In case of unidirectional point-to-multipoint transport paths, a single unidirectional Maintenance Entity for each leaf is defined to monitor the transport path from the root to that leaf." REFERENCE "RFC 6371, Operations, Administration, and Maintenance Framework for MPLS-Based Transport Networks, September 2011." DEFVAL { coRoutedBidirectionalPointToPoint } ::= { mplsOamIdMegEntry 9 } mplsOamIdMegOperStatus OBJECT-TYPE SYNTAX INTEGER { up (1), down (2) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the operational status of the Maintenance Entity Group (MEG). This object is used to Aldrin, et al. Expires June 17, 2014 [Page 14] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 send the notification to the SNMP manager about the MEG. The value up (1) indicates that the MEG and its monitored path are operationally up. The value down (2) indicates that the MEG is operationally down. When the value of mplsOamIdMegOperStatus is up(1), all the bits of mplsOamIdMegSubOperStatus must be cleared. When the value of mplsOamIdMegOperStatus is down(2), at least one bit of mplsOamIdMegSubOperStatus must be set." ::= { mplsOamIdMegEntry 10 } mplsOamIdMegSubOperStatus OBJECT-TYPE SYNTAX BITS { megDown (0), meDown (1), oamAppDown (2), pathDown (3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the reason why the MEG operational status as mentioned by the object mplsOamIdMegOperStatus is down. This object is used to send the notification to the SNMP manager about the MEG. The bit 0 (megDown) indicates the MEG is down. The bit 1 (meDown) indicates the ME table is down. The bit 2 (oamAppDown) indicates that the OAM application has notified that the entity (LSP or PW) monitored by this MEG is down. Currently, BFD is the only supported OAM application. The bit 3 (pathDown) indicates that the underlying LSP or PW is down." ::= { mplsOamIdMegEntry 11 } mplsOamIdMegRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This variable is used to create, modify, and/or delete a row in this table. When a row in this table is in active(1) state, no objects in that row can be modified Aldrin, et al. Expires June 17, 2014 [Page 15] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 by the agent except mplsOamIdMegRowStatus." ::= { mplsOamIdMegEntry 12 } mplsOamIdMegStorageType 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 } ::= { mplsOamIdMegEntry 13 } -- End of MPLS Transport Profile MEG table -- Start of MPLS Transport Profile ME table mplsOamIdMeIndexNext OBJECT-TYPE SYNTAX IndexIntegerNextFree (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an unused value for mplsOamIdMeIndex, or a zero to indicate that none exist. Negative values are not allowed, as they do not correspond to valid values of mplsOamIdMeIndex." ::= { mplsOamIdObjects 3 } mplsOamIdMeMpIndexNext OBJECT-TYPE SYNTAX IndexIntegerNextFree (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an unused value for mplsOamIdMeMpIndex, or a zero to indicate that none exist. Negative values are not allowed, as they do not correspond to valid values of mplsOamIdMeMpIndex." ::= { mplsOamIdObjects 4 } mplsOamIdMeTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsOamIdMeEntry MAX-ACCESS not-accessible Aldrin, et al. Expires June 17, 2014 [Page 16] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 STATUS current DESCRIPTION "This table contains MPLS-TP maintenance entity information. ME is some portion of a transport path that requires management bounded by two points (called MEPs), and the relationship between those points to which maintenance and monitoring operations apply. This table is generic enough to handle MEPs and MIPs information within a MEG." ::= { mplsOamIdObjects 5 } mplsOamIdMeEntry OBJECT-TYPE SYNTAX MplsOamIdMeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents MPLS-TP maintenance entity. This entry represents the ME if the source and sink MEPs are defined. A ME is a p2p entity. One ME has two such MEPs. A MEG is a group of one or more MEs. One MEG can have two or more MEPs. For P2P LSP, one MEG has one ME and this ME is associated two MEPs (source and sink MEPs) within a MEG. Each mplsOamIdMeIndex value denotes the ME within a MEG. In case of unidirectional point-to-point transport paths, a single unidirectional Maintenance Entity is defined to monitor it and mplsOamIdMeServicePointer points to unidirectional point-to-point path. In case of associated bidirectional point-to-point transport paths, two independent unidirectional Maintenance Entities are defined to independently monitor each direction and each mplsOamIdMeServicePointer MIB object points to unique unidirectional transport path. This has implications for transactions that terminate at or query a MIP, as a return path from MIP to source MEP does not necessarily exist within the MEG. In case of co-routed bidirectional point-to-point transport paths, a single bidirectional Maintenance Entity is defined to monitor both directions congruently and mplsOamIdMeServicePointer MIB object points to co-routed Aldrin, et al. Expires June 17, 2014 [Page 17] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 bidirectional point-to-point transport path. In case of unidirectional point-to-multipoint transport paths, a single unidirectional Maintenance entity for each leaf is defined to monitor the transport path from the root to that leaf and each leaf has different transport path information in mplsOamIdMeServicePointer MIB object. Note that the MplsOamIdMeEntry should be created manually once the MEG is configured for OAM operations." INDEX { mplsOamIdMegIndex, mplsOamIdMeIndex, mplsOamIdMeMpIndex } ::= { mplsOamIdMeTable 1 } MplsOamIdMeEntry ::= SEQUENCE { mplsOamIdMeIndex Unsigned32, mplsOamIdMeMpIndex Unsigned32, mplsOamIdMeName SnmpAdminString, mplsOamIdMeMpIfIndex InterfaceIndexOrZero, mplsOamIdMeSourceMepIndex Unsigned32, mplsOamIdMeSinkMepIndex Unsigned32, mplsOamIdMeMpType INTEGER, mplsOamIdMeMepDirection INTEGER, mplsOamIdMeProactiveOamPhbTCValue MplsOamPhbTCValue, mplsOamIdMeOnDemandOamPhbTCValue MplsOamPhbTCValue, mplsOamIdMeServicePointer RowPointer, mplsOamIdMeRowStatus RowStatus, mplsOamIdMeStorageType StorageType } mplsOamIdMeIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Uniquely identifies a maintenance entity index within a MEG. Managers should obtain new values for row creation in this table by reading mplsOamIdMeIndexNext." ::= { mplsOamIdMeEntry 1 } mplsOamIdMeMpIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION Aldrin, et al. Expires June 17, 2014 [Page 18] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 "Indicates the maintenance point index, used to create multiple MEPs in a node of single ME. The value of this object can be MEP index or MIP index. Managers should obtain new values for row creation in this table by reading mplsOamIdMeMpIndexNext." ::= { mplsOamIdMeEntry 2 } mplsOamIdMeName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(1..48)) MAX-ACCESS read-create STATUS current DESCRIPTION "This object denotes the ME name, each Maintenance Entity has unique name within MEG." ::= { mplsOamIdMeEntry 3 } mplsOamIdMeMpIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the maintenance point interface. If the mplsOamIdMegMpLocation object value is perNode (1), the MP interface index should point to incoming interface or outgoing interface or zero (indicates the MP OAM packets are initiated from forwarding engine). If the mplsOamIdMegMpLocation object value is perInterface (2), the MP interface index should point to incoming interface or outgoing interface." REFERENCE "RFC 6371, Operations, Administration, and Maintenance Framework for MPLS-Based Transport Networks, September 2011. RFC 2863 - The Interfaces Group MIB, McCloghrie, K., and F. Kastenholtz, June 2000." DEFVAL { 0 } ::= { mplsOamIdMeEntry 4 } mplsOamIdMeSourceMepIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the source MEP Index of the ME. This object should be configured if mplsOamIdMegOperatorType object in the mplsOamIdMegEntry is configured as iccBased (2). Aldrin, et al. Expires June 17, 2014 [Page 19] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 If the MEG is configured for IP based operator, the value of this object should be set zero and the MEP ID will be automatically derived from the service Identifiers(MPLS-TP LSP/PW Identifier)." DEFVAL { 0 } ::= { mplsOamIdMeEntry 5 } mplsOamIdMeSinkMepIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the sink MEP Index of the ME. This object should be configured if mplsOamIdMegOperatorType object in the mplsOamIdMegEntry is configured as iccBased (2). If the MEG is configured for IP based operator, the value of this object should be set zero and the MEP ID will be automatically derived from the service Identifiers(MPLS-TP LSP/PW Identifier)." DEFVAL { 0 } ::= { mplsOamIdMeEntry 6 } mplsOamIdMeMpType OBJECT-TYPE SYNTAX INTEGER { mep (1), mip (2) } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the maintenance point type within the MEG. The object should have the value mep (1), only in the Ingress or Egress nodes of the transport path. The object can have the value mip (2), in the intermediate nodes and possibly in the end nodes of the transport path." DEFVAL { mep } ::= { mplsOamIdMeEntry 7 } mplsOamIdMeMepDirection OBJECT-TYPE SYNTAX INTEGER { up (1), down (2), notApplicable (3) } Aldrin, et al. Expires June 17, 2014 [Page 20] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the direction of the MEP. This object should be configured if mplsOamIdMeMpType is configured as mep (1) else notApplicable (3) is set." DEFVAL { down } ::= { mplsOamIdMeEntry 8 } mplsOamIdMeProactiveOamPhbTCValue OBJECT-TYPE SYNTAX MplsOamPhbTCValue MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the Per-hop Behavior (PHB) value for this source MEP generated proactive traffic." DEFVAL { ef } ::= { mplsOamIdMeEntry 9 } mplsOamIdMeOnDemandOamPhbTCValue OBJECT-TYPE SYNTAX MplsOamPhbTCValue MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the Per-hop Behavior (PHB) value for this source MEP generated on-demand traffic." DEFVAL { ef } ::= { mplsOamIdMeEntry 10 } mplsOamIdMeServicePointer OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This variable represents a pointer to the MPLS-TP transport path. This value MUST point at an entry in the mplsTunnelEntry if mplsOamIdMegServicePointerType is configured as lsp (1) or at an entry in the pwEntry if mplsOamIdMegServicePointerType is configured as pseudowire (2). Note: This service pointer object, is placed in ME table instead of MEG table, since it will be useful in case of point-to-multipoint, where each ME will point to different branches of a P2MP tree." Aldrin, et al. Expires June 17, 2014 [Page 21] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 ::= { mplsOamIdMeEntry 11 } mplsOamIdMeRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This variable is used to create, modify, and/or delete a row in this table. When a row in this table is in active(1) state, no objects in that row can be modified by the agent except mplsOamIdMeRowStatus." ::= { mplsOamIdMeEntry 12 } mplsOamIdMeStorageType 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 } ::= { mplsOamIdMeEntry 13 } -- End of MPLS Transport Profile ME table -- End of MPLS-TP OAM Tables -- Notification Definitions of MPLS-TP identifiers mplsOamIdDefectCondition NOTIFICATION-TYPE OBJECTS { mplsOamIdMegName, mplsOamIdMeName, mplsOamIdMegOperStatus, mplsOamIdMegSubOperStatus } STATUS current DESCRIPTION "This notification is sent whenever the operational status of MEG is changed." ::= { mplsOamIdNotifications 1 } -- End of Notifications. Aldrin, et al. Expires June 17, 2014 [Page 22] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 -- Module Compliance. mplsOamIdCompliances OBJECT IDENTIFIER ::= { mplsOamIdConformance 1 } mplsOamIdGroups OBJECT IDENTIFIER ::= { mplsOamIdConformance 2 } -- Compliance requirement for fully compliant implementations. mplsOamIdModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that provide full support for MPLS-TP-OAM-STD-MIB. Such devices can then be monitored and also be configured using this MIB module." MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863. MANDATORY-GROUPS { ifGeneralInformationGroup, ifCounterDiscontinuityGroup } MODULE -- This module. MANDATORY-GROUPS { mplsOamIdMegGroup, mplsOamIdMeGroup } GROUP mplsOamIdNotificationObjectsGroup DESCRIPTION "This group is only mandatory for those implementations which can efficiently implement the notifications contained in this group." GROUP mplsOamIdNotificationGroup DESCRIPTION "This group is only mandatory for those implementations which can efficiently implement the notifications contained in this group." ::= { mplsOamIdCompliances 1 } -- Units of conformance. mplsOamIdMegGroup OBJECT-GROUP OBJECTS { mplsOamIdMegIndexNext, mplsOamIdMegName, Aldrin, et al. Expires June 17, 2014 [Page 23] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 mplsOamIdMegOperatorType, mplsOamIdMegIdCc, mplsOamIdMegIdIcc, mplsOamIdMegIdUmc, mplsOamIdMegServicePointerType, mplsOamIdMegMpLocation, mplsOamIdMegOperStatus, mplsOamIdMegSubOperStatus, mplsOamIdMegPathFlow, mplsOamIdMegRowStatus, mplsOamIdMegStorageType } STATUS current DESCRIPTION "Collection of objects needed for MPLS MEG information." ::= { mplsOamIdGroups 1 } mplsOamIdMeGroup OBJECT-GROUP OBJECTS { mplsOamIdMeIndexNext, mplsOamIdMeMpIndexNext, mplsOamIdMeName, mplsOamIdMeMpIfIndex, mplsOamIdMeSourceMepIndex, mplsOamIdMeSinkMepIndex, mplsOamIdMeMpType, mplsOamIdMeMepDirection, mplsOamIdMeProactiveOamPhbTCValue, mplsOamIdMeOnDemandOamPhbTCValue, mplsOamIdMeServicePointer, mplsOamIdMeRowStatus, mplsOamIdMeStorageType } STATUS current DESCRIPTION "Collection of objects needed for MPLS ME information." ::= { mplsOamIdGroups 2 } mplsOamIdNotificationObjectsGroup OBJECT-GROUP OBJECTS { mplsOamIdMegOperStatus, mplsOamIdMegSubOperStatus } STATUS current DESCRIPTION Aldrin, et al. Expires June 17, 2014 [Page 24] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 "Collection of objects needed to implement notifications." ::= { mplsOamIdGroups 3 } mplsOamIdNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { mplsOamIdDefectCondition } STATUS current DESCRIPTION "Set of notifications implemented in this module." ::= { mplsOamIdGroups 4 } END 8. Security Consideration There is a number of management objects defined in this MIB module that has a MAX-ACCESS clause of read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. Some of the readable objects in this MIB module (i.e., objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. These are the tables and objects and their sensitivity/vulnerability: SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module. It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full supports for the SNMPv3 cryptographic mechanisms (for authentication and privacy). Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principles (users) that have legitimate Aldrin, et al. Expires June 17, 2014 [Page 25] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 rights to indeed GET or SET (change/create/delete) them. 9. IANA Considerations IANA is requested to assign an OID for the MIB module from the "MIB Transmission Group - MPLS STD" sub-registry of the "Internet-standard MIB - Transmission Group" registry for the MPLS-TP OAM ID MIB module specified in this document. 10. References 10.1 Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC2863] McCloghrie, K. and F. Kastenholtz, "The Interfaces Group MIB ", RFC 2863, June 2000 [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, January 2001. [RFC3289] Baker, F., Chan, K., and A. Smith, "Management Information Base for the Differentiated Services Architecture", RFC 3289, May 2002. [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, December 2002. [RFC5601] Zelig, D., Ed., and T. Nadeau, Ed., "Pseudowire (PW) Management Information Base (MIB)", RFC 5601, July 2009. 10.2 Informative References Aldrin, et al. Expires June 17, 2014 [Page 26] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 [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. [RFC3812] Srinivasan, C., Viswanathan, A., and T. Nadeau, "Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management Information Base (MIB)", RFC 3812, June 2004. [RFC3813] Srinivasan, C., Viswanathan, A., and T. Nadeau, "Multiprotocol Label Switching (MPLS) Label Switching (LSR) Router Management Information Base (MIB)", RFC 3813, June 2004. [RFC5654] Niven-Jenkins, B., Ed., Brungard, D., Ed., Betts, M., Ed., Sprecher, N., and S. Ueno, "Requirements of an MPLS Transport Profile", RFC 5654, September 2009. [RFC6370] Bocci, M., Swallow, G., and E. Gray, "MPLS-TP Identifiers", RFC 6370, September 2011. [RFC6371] Busi, I., Niven-Jenkins, B., and D. Allan, "MPLS-TP OAM Framework and Overview", RFC 6371, September 2011. [RFC6923] R. Winter, Ed, E. Gray, Ed., H. van Helvoort, and M. Betts, "MPLS-TP Identifiers Following ITU-T Conventions", RFC 6923, May 2013. [RFC5860] M. Vigoureux, Ed, D. Ward, Ed, M. Betts, Ed, "OAM in MPLS Transport Networks", RFC 5860, May 2010. 11. Acknowledgments We wish to thank Muly Ilan, Adrian Farrel, Joan Cucchiara and Weiying Cheng for their valuable comments on this document. 12. Authors' Addresses Venkatesan Mahalingam Dell Inc. 350 Holger way, San Jose, CA, USA Email: venkat.mahalingams@gmail.com Sam Aldrin Aldrin, et al. Expires June 17, 2014 [Page 27] INTERNET DRAFT MPLS-TP OAM ID MIB December 14, 2013 Huawei Technologies, co. 2330 Central Express Way, Santa Clara, CA 95051, USA Email: aldrin.ietf@gmail.com Thomas D. Nadeau Juniper Networks 10 Technology Park Drive, Westford, MA 01886 Email: tnadeau@juniper.net Kannan KV Sampath Redeem, India Email: kannankvs@gmail.com Ping Pan Infinera Email: ppan@infinera.com Sami Boutros Cisco Systems, Inc. 3750 Cisco Way San Jose, California 95134 USA Email: sboutros@cisco.com Aldrin, et al. Expires June 17, 2014 [Page 28]