Network Working Group INTERNET-DRAFT Sam Aldrin Intended Status: Standards Track Huawei Technologies Expires: August 06, 2015 M.Venkatesan Dell Inc. Kannan KV Sampath Redeem Thomas D. Nadeau Brocade February 02, 2015 MPLS-TP Operations, Administration, and Management (OAM) Identifiers Management Information Base (MIB) draft-ietf-mpls-tp-oam-id-mib-07 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) and 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 August 06, 2015. Aldrin, et al. Expires August 06, 2015 [Page 1] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 Copyright and License Notice Copyright (c) 2015 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 . . . . . . . . . . . . . . . . . . . . . . . . . . 4 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 LSP example . . . . 5 7. MPLS OAM Identifiers MIB definitions . . . . . . . . . . . . . 6 8. Security Consideration . . . . . . . . . . . . . . . . . . . . 24 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 25 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25 10.1 Normative References . . . . . . . . . . . . . . . . . . . 25 10.2 Informative References . . . . . . . . . . . . . . . . . . 26 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 27 12. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 27 Aldrin, et al. Expires August 06, 2015 [Page 2] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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, Administration, and Maintenance) operations for MPLS LSP(Label Switched Path), Pseudowires and Sections. At the time of writing, SNMP SET is no longer recommended as a way to configure MPLS networks as was described in [RFC3812]. However, since the MIB modules specified in this document are intended to work in parallel with the MIB modules for MPLS specified in [RFC3812], certain objects defined here are specified with MAX-ACCESS of read- write or read-create so that specifications of the base tables in [RFC3812] and the new MIB modules in this document are consistent. Although the examples described in Section 6 specify means to configure OAM identifiers for MPLS-TP tunnels, this should be seen as indicating how the MIB values would be returned in the specified circumstances having been configured by alternative means. 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 Aldrin, et al. Expires August 06, 2015 [Page 3] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 This document uses terminology from the Multiprotocol Label Switching Architecture [RFC3031], MPLS Traffic Engineering (TE) MIB [RFC3812], MPLS Label Switching Router (LSR) MIB [RFC3813], OAM 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 ICC: ITU Carrier Code IP: Internet Protocol LSP: Label Switched 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 MPLS point-to-point Tunnels, point-to-multipoint LSPs, co- routed bidirectional LSPs, associated bidirectional LSPs and 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, LSPs and Pseudowires. 5.1. mplsOamIdMegTable The mplsOamIdMegTable is used to manage one or more Maintenance Entities (MEs) that belongs to the same transport path. Aldrin, et al. Expires August 06, 2015 [Page 4] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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, LSPs and pseudowires. 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 LSP example In this section, we provide an example of the OAM identifier configuration for an MPLS co-routed bidirectional LSP. This example provides usage of a MEG and ME tables for management and monitoring operations of an MPLS LSP. This example considers the OAM identifiers configuration on a head-end LSR to manage and monitor a MPLS LSP. Only relevant objects which are applicable for IP based OAM identifiers of MPLS co-routed bidirectional LSP 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 Aldrin, et al. Expires August 06, 2015 [Page 5] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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. 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 LSP mplsOamIdMeSourceMepIndex = 0, -- Source MEP id is derived from the IP compatible MPLS LSP mplsOamIdMeSinkMepIndex = 0, mplsOamIdMeMpType = mep (1), mplsOamIdMeMepDirection = down (2), -- RowPointer MUST point to the first accessible column of an -- MPLS LSP 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 FROM SNMPv2-SMI -- [RFC2578] MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- [RFC2580] RowStatus, RowPointer, StorageType FROM SNMPv2-TC -- [RFC2579] SnmpAdminString FROM SNMP-FRAMEWORK-MIB -- [RFC3411] Aldrin, et al. Expires August 06, 2015 [Page 6] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 IndexIntegerNextFree FROM DIFFSERV-MIB -- [RFC3289] mplsStdMIB FROM MPLS-TC-STD-MIB -- [RFC3811] InterfaceIndexOrZero, ifGeneralInformationGroup, ifCounterDiscontinuityGroup FROM IF-MIB; -- [RFC2863] mplsOamIdStdMIB MODULE-IDENTITY LAST-UPDATED "201412250000Z" -- December 25, 2014 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 Email: tnadeau@lucidvision.com Venkatesan Mahalingam Dell Inc. 5450 Great America Parkway, Santa Clara, CA 95054, 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 Aldrin, et al. Expires August 06, 2015 [Page 7] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 " DESCRIPTION "Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. This MIB module contains generic object definitions for MPLS OAM maintenance identifiers." -- Revision history. REVISION "201412250000Z" -- December 25, 2014 DESCRIPTION "MPLS OAM Identifiers MIB objects for Tunnels, LSPs, Pseudowires and Sections" ::= { mplsStdMIB xxx } -- xxx to be replaced with the correct -- OID value assigned by -- IANA (see section 9). -- 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 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 Aldrin, et al. Expires August 06, 2015 [Page 8] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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, 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 Aldrin, et al. Expires August 06, 2015 [Page 9] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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 "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 Aldrin, et al. Expires August 06, 2015 [Page 10] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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). 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 Aldrin, et al. Expires August 06, 2015 [Page 11] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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 } mplsOamIdMegServicePointerType OBJECT-TYPE SYNTAX INTEGER { tunnel (1), lsp (2), pseudowire (3), section (4) } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the service type for the MEG. Aldrin, et al. Expires August 06, 2015 [Page 12] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 If the service type indicates tunnel, the service pointer in mplsOamIdMeTable points to an entry in the point-to-point mplsTunnelTable [RFC3812]. If the service type indicates lsp, the service pointer in mplsOamIdMeTable points to an entry in the co-routed or associated bidirectional mplsTunnelTable. 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." REFERENCE "RFC 6371, Operations, Administration, and Maintenance Framework for MPLS-Based Transport Networks, September 2011." DEFVAL { perNode } ::= { mplsOamIdMegEntry 8 } Aldrin, et al. Expires August 06, 2015 [Page 13] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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 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 Aldrin, et al. Expires August 06, 2015 [Page 14] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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 by the agent except mplsOamIdMegRowStatus." ::= { mplsOamIdMegEntry 12 } mplsOamIdMegStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current Aldrin, et al. Expires August 06, 2015 [Page 15] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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 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 Aldrin, et al. Expires August 06, 2015 [Page 16] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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 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. Aldrin, et al. Expires August 06, 2015 [Page 17] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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, 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 "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)) Aldrin, et al. Expires August 06, 2015 [Page 18] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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). 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 Aldrin, et al. Expires August 06, 2015 [Page 19] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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) } 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 } Aldrin, et al. Expires August 06, 2015 [Page 20] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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 tunnel (1) or lsp (2) or section (4) or at an entry in the pwEntry if mplsOamIdMegServicePointerType is configured as pseudowire (3). 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." ::= { mplsOamIdMeEntry 9 } 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 10 } 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 11 } -- End of MPLS Transport Profile ME table -- End of MPLS-TP OAM Tables Aldrin, et al. Expires August 06, 2015 [Page 21] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 -- 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. -- 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 Aldrin, et al. Expires August 06, 2015 [Page 22] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 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, 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, mplsOamIdMeServicePointer, mplsOamIdMeRowStatus, mplsOamIdMeStorageType Aldrin, et al. Expires August 06, 2015 [Page 23] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 } STATUS current DESCRIPTION "Collection of objects needed for MPLS ME information." ::= { mplsOamIdGroups 2 } mplsOamIdNotificationObjectsGroup OBJECT-GROUP OBJECTS { mplsOamIdMegOperStatus, mplsOamIdMegSubOperStatus } STATUS current DESCRIPTION "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: - mplsOamIdMegTable and mplsOamIdMeTable collectively show the MPLS OAM characteristics. If an Administrator does not want to Aldrin, et al. Expires August 06, 2015 [Page 24] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 reveal this information, then these tables should be considered sensitive/vulnerable. SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), 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. Implementations SHOULD provide the security features described by the SNMPv3 framework (see [RFC3410]), and implementations claiming compliance to the SNMPv3 standard MUST include full support for authentication and privacy via the User-based Security Model (USM) [RFC3414] with the AES cipher algorithm [RFC3826]. Implementations MAY also provide support for the Transport Security Model (TSM) [RFC5591] in combination with a secure transport such as SSH [RFC5592] or TLS/DTLS [RFC6353]. 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 principals (users) that have legitimate 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. Aldrin, et al. Expires August 06, 2015 [Page 25] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 [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 [RFC3410] J. Case, R. Mundy, D. pertain, B.Stewart, "Introduction and Applicability Statement for Internet Standard Management Framework", RFC 3410, December 2002. [RFC3414] Blumenthal, U. and B. Wijnen, "User-based Security Model(USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", STD 62, RFC 3414, 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. Aldrin, et al. Expires August 06, 2015 [Page 26] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 [RFC3826] Blumenthal, U., F. Maino and K. McCloghrie, "The Advanced Encryption Standard (AES) Cipher Algorithm in the SNMP User-based Security Model", RFC 3826, June 2004. [RFC5591] Harrington, D. and W. Hardaker, "Transport Security Model for the Simple Network Management Protocol (SNMP)",RFC 5591, June 2009. [RFC5592] Harrington, D., Salowey, J., and W. Hardaker, "Secure Shell Transport Model for the Simple Network Management Protocol (SNMP)", RFC 5592, June 2009. [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. [RFC6353] Hardaker, W., "Transport Layer Security (TLS) Transport Model for the Simple Network Management Protocol (SNMP)", STD 78, RFC 6353, July 2011. [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, Weiying Cheng and Mach Chen for their valuable comments on this document. 12. Authors' Addresses Venkatesan Mahalingam Dell Inc. 5450 Great America Parkway, Santa Clara, CA 95054, USA Email: venkat.mahalingams@gmail.com Aldrin, et al. Expires August 06, 2015 [Page 27] INTERNET DRAFT MPLS-TP OAM ID MIB February 02, 2015 Sam Aldrin Huawei Technologies, co. 2330 Central Express Way, Santa Clara, CA 95051, USA Email: aldrin.ietf@gmail.com Thomas D. Nadeau Brocade Email: tnadeau@lucidvision.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 Aldrin, et al. Expires August 06, 2015 [Page 28]