Internet Engineering Task Force (IETF) A. Takacs Request for Comments: 7260 Ericsson Category: Standards Track D. Fedyk ISSN: 2070-1721 Hewlett-Packard Company J. He Huawei June 2014 GMPLS RSVP-TE Extensions for Operations, Administration, and Maintenance (OAM) Configuration Abstract Operations, Administration, and Maintenance (OAM) is an integral part of transport connections; hence, it is required that OAM functions be activated/deactivated in sync with connection commissioning/ decommissioning, in order to avoid spurious alarms and ensure consistent operation. In certain technologies, OAM entities are inherently established once the connection is set up, while other technologies require extra configuration to establish and configure OAM entities. This document specifies extensions to Resource Reservation Protocol - Traffic Engineering (RSVP-TE) to support the establishment and configuration of OAM entities along with Label Switched Path signaling. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7260. Copyright Notice Copyright (c) 2014 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 . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 2. Technology-Specific OAM Requirements . . . . . . . . . . . . 4 3. RSVP-TE-Based OAM Configuration . . . . . . . . . . . . . . . 6 3.1. Establishment of OAM Entities and Functions . . . . . . . 8 3.2. Adjustment of OAM Parameters . . . . . . . . . . . . . . 9 3.3. Deleting OAM Entities . . . . . . . . . . . . . . . . . . 10 4. RSVP-TE Extensions . . . . . . . . . . . . . . . . . . . . . 11 4.1. LSP Attribute Flags . . . . . . . . . . . . . . . . . . . 11 4.2. OAM Configuration TLV . . . . . . . . . . . . . . . . . . 12 4.2.1. OAM Function Flags Sub-TLV . . . . . . . . . . . . . 14 4.2.2. Technology-Specific Sub-TLVs . . . . . . . . . . . . 14 4.3. Administrative Status Information . . . . . . . . . . . . 15 4.4. Handling OAM Configuration Errors . . . . . . . . . . . . 15 4.5. Considerations on Point-to-Multipoint OAM Configuration . 16 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 5.1. Admin_Status Object Bit Flags . . . . . . . . . . . . . . 17 5.2. LSP Attribute Flags . . . . . . . . . . . . . . . . . . . 17 5.3. New LSP Attributes . . . . . . . . . . . . . . . . . . . 18 5.4. RSVP Error Code . . . . . . . . . . . . . . . . . . . . . 18 5.5. RSVP-TE OAM Configuration Registry . . . . . . . . . . . 19 5.5.1. OAM Types Sub-Registry . . . . . . . . . . . . . . . 19 5.5.2. OAM Sub-TLVs Sub-Registry . . . . . . . . . . . . . . 19 5.5.3. OAM Function Flags Sub-Registry . . . . . . . . . . . 20 6. Security Considerations . . . . . . . . . . . . . . . . . . . 20 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1. Normative References . . . . . . . . . . . . . . . . . . 21 8.2. Informative References . . . . . . . . . . . . . . . . . 21 1. Introduction GMPLS is designed as an out-of-band control plane supporting dynamic connection provisioning for any suitable data-plane technology, including spatial switching (e.g., incoming port or fiber to outgoing port or fiber); wavelength-division multiplexing (e.g., Dense Wavelength Division Multiplexing (DWDM)); time-division multiplexing (e.g., Synchronous Optical Networking and Synchronous Digital Hierarchy (SONET/SDH), G.709); and Ethernet Provider Backbone Bridging - Traffic Engineering (PBB-TE) and MPLS. In most of these technologies, there are Operations, Administration, and Maintenance (OAM) functions employed to monitor the health and performance of the connections and to trigger data plane (DP) recovery mechanisms. Similar to connection provisioning, OAM functions follow general principles but also have some technology-specific characteristics. OAM is an integral part of transport connections. Therefore, it is required that OAM functions be activated/deactivated in sync with connection commissioning/decommissioning, in order to avoid spurious alarms and ensure consistent operation. In certain technologies, OAM entities are inherently established once the connection is set up, while other technologies require extra configuration to establish and configure OAM entities. In some situations, the use of OAM functions, such as Fault Management (FM) and Performance Management (PM), may be optional (based on network management policies). Hence, the network operator must be able to choose which set of OAM functions to apply to specific connections and which parameters should be configured and activated. To achieve this objective, OAM entities and specific functions must be selectively configurable. In general, it is required that the management-plane and control- plane connection establishment mechanisms be synchronized with OAM establishment and activation. In particular, if the GMPLS control plane is employed, it is desirable to bind OAM setup and configuration to connection establishment signaling to avoid two separate management/configuration steps (connection setup followed by OAM configuration), as these separate steps increase delay and processing time; more importantly, they may be prone to misconfiguration errors. Once OAM entities are set up and configured, proactive as well as on-demand OAM functions can be activated via the management plane. On the other hand, it should be possible to activate/deactivate proactive OAM functions via the GMPLS control plane as well. In some situations, it may be possible to use the GMPLS control plane to control on-demand OAM functions too. This document describes requirements for OAM configuration and control via Resource Reservation Protocol - Traffic Engineering (RSVP-TE). Extensions to the RSVP-TE protocol are specified, providing a framework to configure and control OAM entities along with the capability to carry technology-specific information. Extensions can be grouped into generic elements that are applicable to any OAM solution and technology-specific elements that provide additional configuration parameters that may only be needed for a specific OAM technology. This document specifies the technology- agnostic elements and specifies the way that additional technology- specific OAM parameters are provided. This document addresses end-to-end OAM configuration, that is, the setup of OAM entities bound to an end-to-end Label Switched Path (LSP), and configuration and control of OAM functions running end-to- end in the LSP. Configuration of OAM entities for LSP segments and tandem connections is outside the scope of this document. The mechanisms described in this document provide an additional option for bootstrapping OAM that is not intended to replace or deprecate the use of other technology-specific OAM bootstrapping techniques, e.g., LSP ping [RFC4379] for MPLS networks. The procedures specified in this document are intended only for use in environments where RSVP-TE signaling is used to set up the LSPs that are to be monitored using OAM. 1.1. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 2. Technology-Specific OAM Requirements This section summarizes various technology-specific OAM requirements that can be used as a basis for an OAM configuration framework. MPLS OAM requirements are described in [RFC4377], which provides requirements to create consistent OAM functionality for MPLS networks. The following list is an excerpt of MPLS OAM requirements documented in [RFC4377] that bear direct relevance to the discussion set forth in this document: o It is desired that the automation of LSP defect detection be supported. It is especially important in cases where large numbers of LSPs might be tested. o In particular, some LSPs may require automated testing functionality from the ingress LSR (Label Switching Router) to the egress LSR, while others may not. o Mechanisms are required to coordinate network responses to defects. Such mechanisms may include alarm suppression, translating defect signals at technology boundaries, and synchronizing defect detection times by setting appropriately bounded detection time frames. The MPLS Transport Profile (MPLS-TP) defines a profile of MPLS targeted at transport applications [RFC5921]. This profile specifies the specific MPLS characteristics and extensions required to meet transport requirements, including providing additional OAM, survivability, and other maintenance functions not currently supported by MPLS. Specific OAM requirements for MPLS-TP are specified in [RFC5654] and [RFC5860]. MPLS-TP poses the following requirements on the control plane to configure and control OAM entities: o From [RFC5860]: OAM functions MUST operate and be configurable even in the absence of a control plane. Conversely, it SHOULD be possible to configure as well as enable/disable the capability to operate OAM functions as part of connectivity management, and it SHOULD also be possible to configure as well as enable/disable the capability to operate OAM functions after connectivity has been established. o From [RFC5654]: The MPLS-TP control plane MUST support the configuration and modification of OAM maintenance points as well as the activation/deactivation of OAM when the transport path or transport service is established or modified. Ethernet Connectivity Fault Management (CFM) defines an adjunct OAM flow that monitors connectivity in order to check the liveliness of Ethernet networks [IEEE.802.1Q-2011]. With PBB-TE [IEEE.802.1Q-2011], Ethernet networks support explicitly routed Ethernet connections. CFM can be used to track the liveliness of PBB-TE connections and detect data-plane failures. In the IETF, the GMPLS Ethernet Label Switching (GELS) (see [RFC5828] and [RFC6060]) work extended the GMPLS control plane to support the establishment of PBB-TE data-plane connections. Without control-plane support, separate management commands would be needed to configure and start CFM. GMPLS-based OAM configuration and control need to provide a general framework to be applicable to a wide range of data-plane technologies and OAM solutions. There are three typical data-plane technologies used for transport applications: wavelength based, such as Wavelength Switched Optical Networks (WSON); Time-Division Multiplexing (TDM) based, such as Synchronous Digital Hierarchy (SDH) and Synchronous Optical Networking (SONET); and packet based, such as MPLS-TP [RFC5921] and Ethernet PBB-TE [IEEE.802.1Q-2011]. For all these data planes, the operator MUST be able to configure and control the following OAM functions: o It MUST be possible to explicitly request the setup of OAM entities for the signaled LSP and provide specific information for the setup if this is required by the technology. o Control of alarms is important to avoid false alarm indications and reporting to the management system. It MUST be possible to enable/disable alarms generated by OAM functions. In some cases, selective alarm control may be desirable when, for instance, the operator is only concerned about critical alarms. Therefore, alarms that do not affect service should be inhibited. o When periodic messages are used for liveliness checks (Continuity Checks (CCs)) of LSPs, it MUST be possible to set the frequency of messages. This allows proper configuration for fulfilling the requirements of the service and/or meeting the detection time boundaries posed by possible congruent connectivity-check operations of higher-layer applications. For a network operator to be able to balance the trade-off between fast failure detection and data overhead, it is beneficial to configure the frequency of CC messages on a per-LSP basis. o Proactive Performance Monitoring (PM) functions are used to continuously collect information about specific characteristics of the connection. For consistent measurement of Service Level Agreements (SLAs), it MUST be possible to set common configuration parameters for the LSP. o The extensions MUST allow the operator to use only a minimal set of OAM configuration and control features if supported by the OAM solution or network management policy. Generic OAM parameters, as well as parameters specific to data-plane technology or OAM technology, MUST be supported. 3. RSVP-TE-Based OAM Configuration In general, two types of maintenance points can be distinguished: Maintenance Entity Group End Points (MEPs) and Maintenance Entity Group Intermediate Points (MIPs). MEPs reside at the ends of an LSP and are capable of initiating and terminating OAM messages for Fault Management (FM) and Performance Monitoring (PM). MIPs, on the other hand, are located at transit nodes of an LSP and are capable of reacting to some OAM messages but otherwise do not initiate messages. "Maintenance Entity" (ME) refers to an association of MEPs and MIPs that are provisioned to monitor an LSP. When an LSP is signaled, a forwarding association is established between endpoints and transit nodes via label bindings. This association creates a context for the OAM entities monitoring the LSP. On top of this association, OAM entities may be configured to unambiguously identify MEs. In addition to ME identification parameters, proactive OAM functions (e.g., CC and PM) may have additional parameters that require configuration as well. In particular, the frequency of periodic CC packets, and the measurement interval for loss and delay measurements, may need to be configured. The above parameters may be derived from information related to LSP provisioning; alternatively, pre-configured default values can be used. In the simplest case, the control plane MAY provide information on whether or not OAM entities need to be set up for the signaled LSP. If OAM entities are created, control-plane signaling MUST also provide a means to activate/deactivate OAM message flows and associated alarms. OAM identifiers, as well as the configuration of OAM functions, are technology specific (i.e., they vary, depending on the data-plane technology and the chosen OAM solution). In addition, for any given data-plane technology, a set of OAM solutions may be applicable. Therefore, the OAM configuration framework allows selecting a specific OAM solution to be used for the signaled LSP and provides means to carry detailed OAM configuration information in technology- specific TLVs. Administrative Status Information is carried in the Admin_Status object. Administrative Status Information is described in [RFC3471], and the Admin_Status object is specified for RSVP-TE in [RFC3473]. Two bits are allocated for the administrative control of OAM monitoring: the "OAM Flows Enabled" (M) and "OAM Alarms Enabled" (O) bits. When the "OAM Flows Enabled" bit is set, OAM mechanisms MUST be enabled; if it is cleared, OAM mechanisms MUST be disabled. When the "OAM Alarms Enabled" bit is set, OAM-triggered alarms are enabled and associated consequent actions MUST be executed, including the notification to the management system. When this bit is cleared, alarms are suppressed and no action SHOULD be executed, and the management system SHOULD NOT be notified. The LSP_ATTRIBUTES and LSP_REQUIRED_ATTRIBUTES objects are defined in [RFC5420] to provide means to signal LSP attributes and options in the form of TLVs. Options and attributes signaled in the LSP_ATTRIBUTES object can be passed transparently through LSRs not supporting a particular option or attribute, while the contents of the LSP_REQUIRED_ATTRIBUTES object MUST be examined and processed by each LSR. The "OAM MEP entities desired" bit is allocated in the Attribute Flags TLV [RFC5420] to be used in the LSP_ATTRIBUTES object. If the "OAM MEP entities desired" bit is set, it indicates that the establishment of OAM MEP entities is required at the endpoints of the signaled LSP. The "OAM MIP entities desired" bit is allocated in the Attribute Flags TLV to be used in the LSP_ATTRIBUTES or LSP_REQUIRED_ATTRIBUTES objects. If the "OAM MIP entities desired" bit is set in the Attribute Flags TLV in the LSP_REQUIRED_ATTRIBUTES object, it indicates that the establishment of OAM MIP entities is required at every transit node of the signaled LSP. 3.1. Establishment of OAM Entities and Functions In order to avoid spurious alarms, OAM functions should be set up and enabled in the appropriate order. When using the GMPLS control plane for both LSP establishment and enabling OAM functions on the LSPs, the control of both processes is bound to RSVP-TE message exchanges. An LSP may be signaled and established without OAM configuration first, and OAM entities may be added later with a subsequent re- signaling of the LSP. Alternatively, the LSP may be set up with OAM entities with the first signaling of the LSP. The procedures below apply to both cases. Before initiating a Path message with OAM configuration information, an initiating node MUST establish and configure the corresponding OAM entities locally. But until the LSP is established, OAM source functions MUST NOT start sending any OAM messages. In the case of bidirectional connections, in addition to the OAM source function, the initiator node MUST set up the OAM sink function and prepare it to receive OAM messages. During this time the OAM alarms MUST be suppressed (e.g., due to missing or unidentified OAM messages). To achieve OAM alarm suppression, Path messages MUST be sent with the "OAM Alarms Enabled" Admin_Status flag cleared. When the Path message arrives at the receiver, the remote end MUST establish and configure OAM entities according to the OAM information provided in the Path message. If this is not possible, a PathErr message SHOULD be sent, and neither the OAM entities nor the LSP SHOULD be established. If OAM entities are established successfully, the OAM sink function MUST be prepared to receive OAM messages but MUST NOT generate any OAM alarms (e.g., due to missing or unidentified OAM messages). In the case of bidirectional connections, in addition to the OAM sink function, an OAM source function MUST be set up and, according to the requested configuration, the OAM source function MUST start sending OAM messages. A Resv message MUST then be sent back, including the Attribute Flags TLV, with the appropriate setting of the "OAM MEP entities desired" and "OAM MIP entities desired" flags, and the OAM Configuration TLV that corresponds to the established and configured OAM entities and functions. Depending on the OAM technology, some elements of the OAM Configuration TLV MAY be updated/changed, i.e., if the remote end does not support a certain OAM configuration it may suggest an alternative setting, which may or may not be accepted by the initiator of the Path message. If it is accepted, the initiator will reconfigure its OAM functions according to the information received in the Resv message. If the alternate setting is not acceptable, a ResvErr message MAY be sent, tearing down the LSP. Details of this operation are technology specific and should be described in accompanying technology-specific documents. When the initiating side receives the Resv message, it completes any pending OAM configuration and enables the OAM source function to send OAM messages. After this exchange, OAM entities are established and configured for the LSP, and OAM messages are exchanged. OAM alarms can now be enabled. During the period when OAM alarms are disabled, the initiator sends a Path message with the "OAM Alarms Enabled" Admin_Status flag set. The receiving node enables OAM alarms after processing the Path message. The initiator enables OAM alarms after it receives the Resv message. Data-plane OAM is now fully functional. If an egress LSR does not support the extensions defined in this document, according to [RFC5420], it will silently ignore the new LSP attribute flags as well as the TLVs carrying additional OAM configuration information, and therefore no error will be raised that would notify the ingress LSR about the missing OAM configuration actions on the egress side. However, as described above, an egress LSR conformant to the specification of this document will set the LSP attribute flags and include the OAM Configuration TLV in the Resv message indicating the configuration of the OAM mechanisms; therefore, by detecting the missing information in the Resv message, an ingress LSR will be able to recognize that the remote end does not support the OAM configuration functionality, and therefore it SHOULD tear down the LSP and, if appropriate, signal the LSP without any OAM configuration information. 3.2. Adjustment of OAM Parameters There may be a need to change the parameters of an already- established and configured OAM function during the lifetime of the LSP. To do so, the LSP needs to be re-signaled with the updated parameters. OAM parameters influence the content and timing of OAM messages and also identify the way that OAM defects and alarms are derived and generated. Hence, to avoid spurious alarms, it is important that both sides -- OAM sink and source -- are updated in a synchronized way. First, the alarms of the OAM sink function should be suppressed and only then should expected OAM parameters be adjusted. Subsequently, the parameters of the OAM source function can be updated. Finally, the alarms of the OAM sink side can be enabled again. In accordance with the above operation, the LSP MUST first be re- signaled with the "OAM Alarms Enabled" Admin_Status flag cleared, including the updated OAM Configuration TLV corresponding to the new parameter settings. The initiator MUST keep its OAM sink and source functions running unmodified, but it MUST suppress OAM alarms after the updated Path message is sent. The receiver MUST first disable all OAM alarms and then update the OAM parameters according to the information in the Path message and reply with a Resv message acknowledging the changes by including the OAM Configuration TLV. Note that the receiving side can adjust the requested OAM configuration parameters and reply with an updated OAM Configuration TLV in the Resv message, reflecting the values that are actually configured. However, in order to avoid an extensive negotiation phase, in the case of adjusting already-configured OAM functions, the receiving side SHOULD NOT update the parameters requested in the Path message to an extent that would provide lower performance (e.g., lower frequency of monitoring packets) than what had previously been in place. The initiator MUST only update its OAM sink and source functions after it receives the Resv message. After this Path/Resv message exchange (in both unidirectional and bidirectional LSP cases), the OAM parameters are updated, and OAM is running according to the new parameter settings. However, OAM alarms are still disabled. A subsequent Path/Resv message exchange with the "OAM Alarms Enabled" Admin_Status flag set is needed to enable OAM alarms again. 3.3. Deleting OAM Entities In some cases, it may be useful to remove some or all OAM entities and functions from an LSP without actually tearing down the connection. To avoid any spurious alarms, first the LSP MUST be re-signaled with the "OAM Alarms Enabled" Admin_Status flag cleared but with OAM configuration unchanged. Subsequently, the LSP is re-signaled with "OAM MEP entities desired" and "OAM MIP entities desired" LSP attribute flags cleared, and without the OAM Configuration TLV, this MUST result in the deletion of all OAM entities associated with the LSP. All control-plane and data-plane resources in use by the OAM entities and functions SHOULD be freed up. Alternatively, if only some OAM functions need to be removed, the LSP is re-signaled with the updated OAM Configuration TLV. Changes between the contents of the previously signaled OAM Configuration TLV and the currently received TLV represent which functions MUST be removed/added. OAM source functions MUST be deleted first, and only after the "OAM Alarms Disabled" can the associated OAM sink functions be removed; this will ensure that OAM messages do not leak outside the LSP. To this end, the initiator, before sending the Path message, MUST remove the OAM source, hence terminating the OAM message flow associated to the downstream direction. In the case of a bidirectional connection, it MUST leave in place the OAM sink functions associated to the upstream direction. The remote end, after receiving the Path message, MUST remove all associated OAM entities and functions and reply with a Resv message without an OAM Configuration TLV. The initiator completely removes OAM entities and functions after the Resv message arrives. 4. RSVP-TE Extensions 4.1. LSP Attribute Flags In RSVP-TE, the Flags field of the SESSION_ATTRIBUTE object is used to indicate options and attributes of the LSP. The Flags field has 8 bits and hence is limited to differentiate only 8 options. [RFC5420] defines new objects for RSVP-TE messages to allow the signaling of arbitrary attribute parameters, making RSVP-TE easily extensible to support new applications. Furthermore, [RFC5420] allows options and attributes that do not need to be acted on by all Label Switching Routers (LSRs) along the path of the LSP. In particular, these options and attributes may apply only to key LSRs on the path, such as the ingress LSR and egress LSR. Options and attributes can be signaled transparently and only examined at those points that need to act on them. The LSP_ATTRIBUTES and LSP_REQUIRED_ATTRIBUTES objects are defined in [RFC5420] to provide means to signal LSP attributes and options in the form of TLVs. Options and attributes signaled in the LSP_ATTRIBUTES object can be passed transparently through LSRs not supporting a particular option or attribute, while the contents of the LSP_REQUIRED_ATTRIBUTES object MUST be examined and processed by each LSR. One TLV is defined in [RFC5420]: the Attribute Flags TLV. One bit (bit number 10): "OAM MEP entities desired" is allocated in the Attribute Flags TLV to be used in the LSP_ATTRIBUTES object. If the "OAM MEP entities desired" bit is set, it indicates that the establishment of OAM MEP entities is required at the endpoints of the signaled LSP. If the establishment of MEPs is not supported, an error MUST be generated: "OAM Problem/MEP establishment not supported". If the "OAM MEP entities desired" bit is set and additional parameters need to be configured, an OAM Configuration TLV MAY be included in the LSP_ATTRIBUTES or LSP_REQUIRED_ATTRIBUTES object. One bit (bit number 11): "OAM MIP entities desired" is allocated in the Attribute Flags TLV to be used in the LSP_ATTRIBUTES or LSP_REQUIRED_ATTRIBUTES objects. If the "OAM MEP entities desired" bit is not set, then this bit MUST NOT be set. If the "OAM MIP entities desired" bit is set in the Attribute Flags TLV in the LSP_REQUIRED_ATTRIBUTES object, it indicates that the establishment of OAM MIP entities is required at every transit node of the signaled LSP. If the establishment of a MIP is not supported, an error MUST be generated: "OAM Problem/MIP establishment not supported". If an intermediate LSR does not support the extensions defined in this document, it will not recognize the "OAM MIP entities desired" flag and, although the LSP_REQUIRED_ATTRIBUTES object was used, it will not configure MIP entities and will not raise any errors. If LSRs that do not support the extensions defined in this document are to be assumed as present in the network, the ingress LSR SHOULD collect per-hop information about the LSP attributes utilizing the LSP Attributes sub-object of the Record Route object (RRO) as defined in [RFC5420]. When the Record Route object is received, the ingress SHOULD check whether all intermediate LSRs set the "OAM MIP entities desired" flag indicating support of the function; if not, depending on operator policy, the LSP MAY need to be torn down. 4.2. OAM Configuration TLV This TLV provides information about which OAM technology/method should be used and carries sub-TLVs for any additional OAM configuration information. One OAM Configuration TLV MAY be carried in the LSP_ATTRIBUTES or LSP_REQUIRED_ATTRIBUTES object in Path and Resv messages. When carried in the LSP_REQUIRED_ATTRIBUTES object, it indicates that intermediate nodes MUST recognize and react on the OAM configuration information. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type (3) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OAM Type | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ sub-TLVs ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: indicates a new type: the OAM Configuration TLV (3). OAM Type: specifies the technology-specific OAM method. When carried in the LSP_REQUIRED_ATTRIBUTES object, if the requested OAM method is not supported at any given node an error MUST be generated: "OAM Problem/Unsupported OAM Type". When carried in the LSP_ATTRIBUTES object, intermediate nodes not supporting the OAM Type pass the object forward unchanged as specified in [RFC5420]. Ingress and egress nodes that support the OAM Configuration TLV but that do not support a specific OAM Type MUST respond with an error indicating "OAM Problem/Unsupported OAM Type". OAM Type Description ------------ -------------------- 0-255 Reserved This document defines no types. IANA maintains the values in a new "RSVP-TE OAM Configuration Registry". Length: indicates the total length of the TLV in octets. The TLV MUST be zero-padded so that the TLV is 4-octet aligned. Two groups of TLVs are defined: generic sub-TLVs and technology- specific sub-TLVs. Generic sub-TLVs carry information that is applicable independent of the actual OAM technology, while technology-specific sub-TLVs are providing configuration parameters for specific OAM technologies. This document defines one generic sub-TLV (see Section 4.2.1), while it is foreseen that technology- specific sub-TLVs will be defined by separate documents. The receiving node, based on the OAM Type, will check to see if a corresponding technology-specific OAM configuration sub-TLV is included in the OAM Configuration TLV. If the included technology- specific OAM configuration sub-TLV is different from what is specified in the OAM Type, an error MUST be generated: "OAM Problem/ OAM Type Mismatch". IANA maintains the sub-TLV space in the new "RSVP-TE OAM Configuration Registry". Note that there is a hierarchical dependency between the OAM configuration elements. First, the "OAM MEP entities desired" flag needs to be set. Only when that flag is set MAY an OAM Configuration TLV be included in the LSP_ATTRIBUTES or LSP_REQUIRED_ATTRIBUTES object. When this TLV is present, based on the "OAM Type" field, it MAY carry a technology-specific OAM configuration sub-TLV. If this hierarchy is broken (e.g., "OAM MEP entities desired" flag is not set but an OAM Configuration TLV is present), an error MUST be generated: "OAM Problem/Configuration Error". 4.2.1. OAM Function Flags Sub-TLV The OAM Configuration TLV MUST always include a single instance of the OAM Function Flags Sub-TLV, and it MUST always be the first sub- TLV. "OAM Function Flags" specifies which proactive OAM functions (e.g., connectivity monitoring, loss and delay measurement) and which fault management signals MUST be established and configured. If the selected OAM Function or Functions are not supported, an error MUST be generated: "OAM Problem/Unsupported OAM Function". 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type (1) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ OAM Function Flags ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ OAM Function Flags is a bitmap with extensible length based on the Length field of the TLV. Bits are numbered from left to right. The TLV is padded to 4-octet alignment. The Length field indicates the size of the padded TLV in octets. IANA maintains the OAM Function Flags in the new "RSVP-TE OAM Configuration Registry". This document defines the following flags: OAM Function Flag bit # Description ----------------------- --------------------------- 0 Continuity Check (CC) 1 Connectivity Verification (CV) 2 Fault Management Signal (FMS) 3 Performance Monitoring/Loss (PM/Loss) 4 Performance Monitoring/Delay (PM/Delay) 5 Performance Monitoring/Throughput Measurement (PM/Throughput) 4.2.2. Technology-Specific Sub-TLVs If technology-specific configuration information is needed for a specific "OAM Type", then this information is carried in a technology-specific sub-TLV. Such sub-TLVs are OPTIONAL, and an OAM Configuration TLV MUST NOT contain more than one technology-specific sub-TLV. IANA maintains the OAM technology-specific sub-TLV space in the new "RSVP-TE OAM Configuration Registry". 4.3. Administrative Status Information Administrative Status Information is carried in the Admin_Status object, which is specified for RSVP-TE in [RFC3473]. Administrative Status Information is described in [RFC3471]. Two bits (bit numbers 23 and 24) are allocated by this document for the administrative control of OAM monitoring: the "OAM Flows Enabled" (M) and "OAM Alarms Enabled" (O) bits. When the "OAM Flows Enabled" bit is set, OAM mechanisms MUST be enabled; if it is cleared, OAM mechanisms MUST be disabled. When the "OAM Alarms Enabled" bit is set, OAM-triggered alarms are enabled and associated consequent actions MUST be executed, including the notification to the management system. When this bit is cleared, alarms are suppressed, and no action SHOULD be executed; additionally, the management system SHOULD NOT be notified. For a detailed description of the use of these flags, see Section 3. 4.4. Handling OAM Configuration Errors To handle OAM configuration errors, a new Error Code "OAM Problem" (40) is introduced. To refer to specific problems, a set of Error Values are defined under the "OAM Problem" error code. If a node does not support the establishment of OAM MEP or MIP entities it MUST use the error value "MEP establishment not supported" or "MIP establishment not supported", respectively, in the PathErr message. If a node does not support a specific OAM technology/solution, it MUST use the error value "Unsupported OAM Type" in the PathErr message. If a different technology-specific OAM Configuration TLV is included than what was specified in the OAM Type, an error MUST be generated with error value "OAM Type Mismatch" in the PathErr message. There is a hierarchy between the OAM configuration elements. If this hierarchy is broken, the error value "Configuration Error" MUST be used in the PathErr message. If a node does not support a specific OAM Function, it MUST use the error value "Unsupported OAM Function" in the PathErr message. 4.5. Considerations on Point-to-Multipoint OAM Configuration RSVP-TE extensions for the establishment of point-to-multipoint (P2MP) LSPs are specified in [RFC4875]. A P2MP LSP is comprised of multiple source-to-leaf (S2L) sub-LSPs. These S2L sub-LSPs are set up between the ingress and egress LSRs and are appropriately combined by the branch LSRs using RSVP semantics to result in a P2MP TE LSP. One Path message may signal one or multiple S2L sub-LSPs for a single P2MP LSP. Hence, the S2L sub-LSPs belonging to a P2MP LSP can be signaled using one Path message or split across multiple Path messages. P2MP OAM mechanisms are very specific to the data-plane technology; therefore, in this document we only highlight the basic principles of P2MP OAM configuration. We consider only the root-to-leaf OAM flows, and as such, aspects of the configuration of return paths are outside the scope of our discussions. We also limit our consideration to the case where all leaves must successfully establish OAM entities with identical configuration in order for the P2MP OAM to be successfully established. In any case, the discussion set forth below provides only guidelines for P2MP OAM configuration. However, at a minimum, the procedures below SHOULD be specified for P2MP OAM configuration in a technology-specific document. The root node may use a single Path message or multiple Path messages to set up the whole P2MP tree. In the case when multiple Path messages are used, the root node is responsible for keeping the OAM configuration information consistent in each of the sent Path messages, i.e., the same information MUST be included in all Path messages used to construct the multicast tree. Each branching node will propagate the Path message downstream on each of the branches; when constructing a Path message, the OAM configuration information MUST be copied unchanged from the received Path message, including the related Admin_Status bits, LSPAttribute Flags,attribute flags, andtheOAM Configuration TLV. The latter two also imply that the LSP_ATTRIBUTES and LSP_REQUIRED_ATTRIBUTES objects MUST be copied for the upstream Path message to the subsequent downstream Path messages. Leaves MUST create and configure OAM sink functions according to the parameters received in the Path message; for P2MP OAM configuration, there is no possibility for parameter negotiation on a per-leaf basis. This is due to the fact that the OAM source function, residing in the root of the tree, will operate with a single configuration, which then must be obeyed by all leaves. If a leaf cannot accept the OAM parameters, it MUST use the RRO Attributes sub- object [RFC5420] to notify the root about the problem. In particular, if the OAM configuration was successful, the leaf would set the "OAM MEP entities desired" flag in the RRO Attributes sub- object in the Resv message. On the other hand, if OAM entities could not be established, the Resv message should be sent with the "OAM MEP entities desired" bit cleared in the RRO Attributes sub-object. Branching nodes should collect and merge the received RROs according to the procedures described in [RFC4875]. This way, the root, when receiving the Resv message (or messages if multiple Path messages were used to set up the tree), will have clear information about which of the leaves could establish the OAM functions. If all leaves established OAM entities successfully, the root can enable the OAM message flow. On the other hand, if at some leaves the establishment was unsuccessful, additional actions will be needed before the OAM message flow can be enabled. Such action could be to set up two independent P2MP LSPs: o One LSP with OAM configuration information towards leaves that can support the OAM function. This can be done by pruning from the previously signaled P2MP LSP the leaves that failed to set up OAM. o The other P2MP LSP could be constructed for leaves without OAM entities. The exact procedures will be described in technology-specific documents. 5. IANA Considerations 5.1. Admin_Status Object Bit Flags IANA maintains a registry called "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Parameters" with a sub-registry called "Administrative Status Information Flags". IANA has allocated two new flags as follows: Bit Number | Hex Value | Name | Reference -----------+------------+--------------------------+----------- 23 | 0x00000100 | OAM Flows Enabled (M) | [RFC7260] 24 | 0x00000080 | OAM Alarms Enabled (O) | [RFC7260] 5.2. LSP Attribute Flags IANA maintains a registry called "Resource Reservation Protocol- Traffic Engineering (RSVP-TE) Parameters" with a sub-registry called "Attribute Flags". IANA has allocated two new flags as follows: Bit | | Attribute | Attribute | | No. | Name | Flags Path | Flags Resv | RRO | Reference ----+------------------+------------+------------+-----+---------- 10 | OAM MEP | | | | | entities desired | Yes | Yes | Yes | [RFC7260] | | | | | 11 | OAM MIP | | | | | entities desired | Yes | Yes | Yes | [RFC7260] 5.3. New LSP Attributes IANA maintains a registry called "Resource Reservation Protocol- Traffic Engineering (RSVP-TE) Parameters" with a sub-registry called "Attributes TLV Space". IANA has allocated one new TLV type as follows: | | |Allowed on | | |Allowed on |LSP_REQUIRED_| Type| Name |LSP_ATTRIBUTES|ATTRIBUTES |Reference ----+----------------------+--------------+-------------+--------- 3 | OAM Configuration TLV| Yes | Yes |[RFC7260] 5.4. RSVP Error Code IANA maintains a registry called "Resource Reservation Protocol (RSVP) Parameters" with a sub-registry called "Error Codes and Globally-Defined Error Value Sub-Codes". IANA has allocated one new Error Code as follows: Error Code | Meaning | Reference -----------+-------------+------------- 40 | OAM Problem | [RFC7260] The following Error Value sub-codes are defined for this new Error Code: Value | Description | Reference -----------+---------------------------------+-------------- 0 | Reserved | [RFC7260] 1 | MEP establishment not supported | [RFC7260] 2 | MIP establishment not supported | [RFC7260] 3 | Unsupported OAM Type | [RFC7260] 4 | Configuration Error | [RFC7260] 5 | OAM Type Mismatch | [RFC7260] 6 | Unsupported OAM Function | [RFC7260] 7-32767 | Unassigned | 32768-65535| Reserved for Private Use | [RFC7260] 5.5. RSVP-TE OAM Configuration Registry IANA has created a new registry called "RSVP-TE OAM Configuration Registry". IANA has created sub-registries as defined in the following subsections. The registration procedures specified are as defined in [RFC5226]. 5.5.1. OAM Types Sub-Registry IANA has created the "OAM Types" sub-registry of the "RSVP-TE OAM Configuration Registry" as follows: Range | Registration Procedures -------+------------------------- 0-255 | IETF Review There are no initial values in this registry. IANA shows the registry as follows: OAM Type Number | OAM Type Description | Reference ----------------+----------------------+-------------- 0-255 | Unassigned | 5.5.2. OAM Sub-TLVs Sub-Registry IANA has created the "OAM Sub-TLVs" sub-registry of the "RSVP-TE OAM Configuration Registry" as follows: Range | Note | Registration Procedures ------------+------------------------------|------------------------ 0-31 | Generic Sub-TLVs | IETF Review 32-65534 | Technology-specific Sub-TLVs | IETF Review 65535-65536 | Experimental Sub-TLVs | Reserved for | Experimental Use IANA has populated the registry as follows: Sub-TLV Type | Description | Reference -------------+-------------------------------+---------- 0 | Reserved | [RFC7260] 1 | OAM Function Flags Sub-TLV | [RFC7260] 2-65534 | Unassigned | 65535-65536 | Reserved for Experimental Use | [RFC7260] 5.5.3. OAM Function Flags Sub-Registry IANA has created the "OAM Function Flags Sub-Registry" sub-registry of the "RSVP-TE OAM Configuration Registry". New values in the registry are allocated by IETF Review [RFC5226]. There is no top value to the range. Bits are counted from bit 0 as the first bit transmitted. IANA has populated the registry as follows: OAM Function Flag | Description Bit Number | ------------------+---------------------------------------------- 0 | Continuity Check (CC) 1 | Connectivity Verification (CV) 2 | Fault Management Signal (FMS) 3 | Performance Monitoring/Loss (PM/Loss) 4 | Performance Monitoring/Delay (PM/Delay) 5 | Performance Monitoring/Throughput Measurement | (PM/Throughput) >=6 | Unassigned 6. Security Considerations The signaling of OAM-related parameters and the automatic establishment of OAM entities based on RSVP-TE messages add a new aspect to the security considerations discussed in [RFC3473]. In particular, a network element could be overloaded if a remote attacker targeted that element by sending frequent periodic messages requesting liveliness monitoring of a high number of LSPs. Such an attack can efficiently be prevented when mechanisms for message integrity and node authentication are deployed. Since the OAM configuration extensions rely on the hop-by-hop exchange of exiting RSVP-TE messages, procedures specified for RSVP message security in [RFC2747] can be used to mitigate possible attacks. For a more comprehensive discussion of GMPLS security and attack mitigation techniques, please see the Security Framework for MPLS and GMPLS Networks [RFC5920]. 7. Acknowledgements The authors would like to thank Francesco Fondelli, Adrian Farrel, Loa Andersson, Eric Gray, and Dimitri Papadimitriou for their useful comments. 8. References 8.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3471] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Functional Description", RFC 3471, January 2003. [RFC3473] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC 3473, January 2003. [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008. [RFC5420] Farrel, A., Papadimitriou, D., Vasseur, JP., and A. Ayyangarps, "Encoding of Attributes for MPLS LSP Establishment Using Resource Reservation Protocol Traffic Engineering (RSVP-TE)", RFC 5420, February 2009. 8.2. Informative References [IEEE.802.1Q-2011] IEEE, "IEEE Standard for Local and metropolitan area networks -- Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks", IEEE Std 802.1Q, 2011. [RFC2747] Baker, F., Lindell, B., and M. Talwar, "RSVP Cryptographic Authentication", RFC 2747, January 2000. [RFC4377] Nadeau, T., Morrow, M., Swallow, G., Allan, D., and S. Matsushima, "Operations and Management (OAM) Requirements for Multi-Protocol Label Switched (MPLS) Networks", RFC 4377, February 2006. [RFC4379] Kompella, K. and G. Swallow, "Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures", RFC 4379, February 2006. [RFC4875] Aggarwal, R., Papadimitriou, D., and S. Yasukawa, "Extensions to Resource Reservation Protocol - Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE Label Switched Paths (LSPs)", RFC 4875, May 2007. [RFC5654] Niven-Jenkins, B., Brungard, D., Betts, M., Sprecher, N., and S. Ueno, "Requirements of an MPLS Transport Profile", RFC 5654, September 2009. [RFC5828] Fedyk, D., Berger, L., and L. Andersson, "Generalized Multiprotocol Label Switching (GMPLS) Ethernet Label Switching Architecture and Framework", RFC 5828, March 2010. [RFC5860] Vigoureux, M., Ward, D., and M. Betts, "Requirements for Operations, Administration, and Maintenance (OAM) in MPLS Transport Networks", RFC 5860, May 2010. [RFC5920] Fang, L., "Security Framework for MPLS and GMPLS Networks", RFC 5920, July 2010. [RFC5921] Bocci, M., Bryant, S., Frost, D., Levrau, L., and L. Berger, "A Framework for MPLS in Transport Networks", RFC 5921, July 2010. [RFC6060] Fedyk, D., Shah, H., Bitar, N., and A. Takacs, "Generalized Multiprotocol Label Switching (GMPLS) Control of Ethernet Provider Backbone Traffic Engineering (PBB- TE)", RFC 6060, March 2011. Authors' Addresses Attila Takacs Ericsson Konyves Kalman krt. 11. Budapest 1097 Hungary EMail: attila.takacs@ericsson.com Don Fedyk Hewlett-Packard Company 153 Taylor Street Littleton, MA 01460 USA EMail: don.fedyk@hp.com Jia He Huawei PR China EMail: hejia@huawei.com