One document matched: draft-ietf-mpls-lsp-ping-mpls-tp-oam-conf-16.xml
<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
There has to be one entity for each item to be referenced.
An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
(Here they are set differently than their defaults in xml2rfc v1.32) -->
<!--<?rfc strict="yes" ?> -->
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
(using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="std" docName="draft-ietf-mpls-lsp-ping-mpls-tp-oam-conf-16"
ipr="trust200902">
<!-- category values: std, bcp, info, exp, and historic
ipr values: full3667, noModification3667, noDerivatives3667
you can add the attributes updates="NNNN" and obsoletes="NNNN"
they will automatically be output with "(if approved)" -->
<!-- ***** FRONT MATTER ***** -->
<front>
<!-- The abbreviated title is used in the page header - it is only necessary if the
full title is longer than 39 characters -->
<title abbrev="Extensions for MPLS-TP OAM Conf">Configuration of Proactive
Operations, Administration, and Maintenance (OAM) Functions for MPLS-based Transport Networks using
LSP Ping</title>
<!-- add 'role="editor"' below for the editors if appropriate -->
<!-- Another author who claims to be an editor -->
<author fullname="Elisa Bellagamba" initials="E.B."
surname="Bellagamba">
<organization></organization>
<address>
<email>elisa.bellagamba@gmail.com</email>
<!-- uri and facsimile elements may also be added -->
</address>
</author>
<author fullname="Gregory Mirsky" initials="G."
surname="Mirsky">
<organization>Ericsson</organization>
<address>
<email>Gregory.Mirsky@ericsson.com</email>
<!-- uri and facsimile elements may also be added -->
</address>
</author>
<author fullname="Loa Andersson" initials="L."
surname="Andersson">
<organization>Huawei Technologies</organization>
<address>
<email>loa@mail01.huawei.com</email>
<!-- uri and facsimile elements may also be added -->
</address>
</author>
<author fullname="Pontus Skoldstrom" initials="P.S."
surname="Skoldstrom">
<organization>Acreo AB</organization>
<address>
<postal>
<street>Electrum 236</street>
<!-- Reorder these if your country does things differently -->
<city>Kista</city>
<region></region>
<code>164 40</code>
<country>Sweden</country>
</postal>
<phone>+46 8 6327731</phone>
<email>pontus.skoldstrom@acreo.se</email>
<!-- uri and facsimile elements may also be added -->
</address>
</author>
<author fullname="Dave Ward" initials="D.W." surname="Ward">
<organization>Cisco</organization>
<address>
<postal>
<street></street>
<!-- Reorder these if your country does things differently -->
<city></city>
<region></region>
<code></code>
<country></country>
</postal>
<phone></phone>
<email>dward@cisco.com</email>
<!-- uri and facsimile elements may also be added -->
</address>
</author>
<author fullname="John Drake" initials="J.D." surname="Drake">
<organization>Juniper</organization>
<address>
<postal>
<street></street>
<!-- Reorder these if your country does things differently -->
<city></city>
<region></region>
<code></code>
<country></country>
</postal>
<phone></phone>
<email>jdrake@juniper.net</email>
<!-- uri and facsimile elements may also be added -->
</address>
</author>
<!-- If the month and year are both specified and are the current ones, xml2rfc will fill
in the current day for you. If only the current year is specified, xml2rfc will fill
in the current day and month for you. If the year is not the current one, it is
necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the
purpose of calculating the expiry date). With drafts it is normally sufficient to
specify just the year. -->
<!-- Meta-data Declarations -->
<date day="23" month="November" year="2015" />
<area>Signaling</area>
<workgroup>MPLS Working Group</workgroup>
<keyword>LSP-PING</keyword>
<keyword>MPLS</keyword>
<keyword>MPLS-TP</keyword>
<keyword>OAM</keyword>
<abstract>
<t>
This specification describes the configuration of proactive MPLS-TP
Operations, Administration, and Maintenance (OAM) Functions for a given
Label Switched Path (LSP) using a set of TLVs that are carried by the LSP-Ping protocol.
</t>
</abstract>
</front>
<middle>
<section title="Introduction">
<t>The MPLS Transport Profile (MPLS-TP) describes a profile of MPLS that
enables operational models typical in transport networks, while providing
additional Operations, Administration, and Maintenance (OAM),
survivability and other maintenance functions not
currently supported by MPLS. <xref target="RFC5860"/> defines the requirements for the
OAM functionality of MPLS-TP.</t>
<t>This document describes the configuration of proactive MPLS-TP
OAM Functions for a given
Label Switched Path (LSP) using TLVs carried in LSP Ping <xref target="RFC4379"/>.
In particular it specifies the mechanisms necessary to establish MPLS-TP OAM
entities at the maintenance points for monitoring and performing measurements on an LSP, as well
as defining information elements and procedures to configure proactive
MPLS-TP OAM functions running between LERs. Initialization and control of on-demand MPLS-TP OAM
functions are expected to be carried out by directly accessing network
nodes via a management interface; hence configuration and control of
on-demand OAM functions are out-of-scope for this document.</t>
<t>The Transport Profile of MPLS must, by definition <xref target="RFC5654"/>, be
capable of operating without a control plane. Therefore there are
several options for configuring MPLS-TP OAM, without a control plane
by either using an NMS or LSP Ping, or with a control plane using signaling
protocols RSVP Traffic engineering (RSVP-TE) <xref target="RFC3209"/>
and/or Targeted LDP <xref target="RFC5036"/>.
</t>
<t>Proactive MPLS-TP OAM is performed by set of protocols,
Bi-directional Forwarding Detection (BFD) <xref target="RFC6428"/> for Continuity
Check/Connectivity Verification, the delay measurement protocol (DM)
<xref target="RFC6374"/>, <xref target="RFC6375"/> for delay and delay variation (jitter) measurements, and the
loss measurement (LM) protocol <xref target="RFC6374"/>, <xref target="RFC6375"/> for packet loss and throughput
measurements. Additionally, there is a number of Fault Management Signals
that can be configured <xref target="RFC6427"/>.
</t>
<t>BFD is a protocol that provides low-overhead, fast detection of
failures in the path between two forwarding engines, including the
interfaces, data link(s), and, to the extent possible, the forwarding
engines themselves. BFD can be used to detect the continuity and mis-connection
defects of MPLS-TP point-to-point and might also be
extended to support point-to-multipoint label switched paths (LSPs).
</t>
<t>The delay and loss measurements protocols <xref target="RFC6374"/>
and <xref target="RFC6375"/> use a simple
query/response model for performing both uni- and bi-directional measurements that allow
the originating node to measure packet loss and delay in forward or forward and reverse
directions. By timestamping and/or writing current packet counters to the
measurement packets (four times, Transmit and Receive in both directions), current
delays and packet losses can be calculated. By performing successive delay
measurements, the delay and/or inter-packet delay variation (jitter) can be calculated. Current
throughput can be calculated from the packet loss measurements by dividing
the number of packets sent/received with the time it took to perform the
measurement, given by the timestamp in LM header. Combined with a packet
generator the throughput measurement can be used to measure the maximum
capacity of a particular LSP. It should be noted that this document does not
specify how to configure on-demand throughput estimates based on saturating the
connection as defined in <xref target="RFC6371"/>. Rather, only how to enable the estimation
of the current throughput based on loss measurements.
</t>
<section title="Conventions used in this document">
<section title="Terminology">
<t>BFD - Bidirectional Forwarding Detection</t>
<t>DM - Delay Measurement</t>
<t>FMS - Fault Management Signal</t>
<t>G-ACh - Generic Associated Channel</t>
<t>LSP - Label Switched Path</t>
<t>LM - Loss Measurement</t>
<t>MEP - Maintenance Entity Group End Point</t>
<t>MPLS - Multi-Protocol Label Switching</t>
<t>MPLS-TP - MPLS Transport Profile</t>
<t>NMS - Network management System</t>
<t>PM - Performance Measurement</t>
<t>RSVP-TE - RSVP Traffic Engineering</t>
<t>TC - Traffic Class</t>
</section>
<section title ="Requirements Language">
<t>
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 <xref target="RFC2119">RFC 2119</xref>.
</t>
</section>
</section>
</section>
<!--
<section title="Overview of MPLS OAM for Transport Applications">
<t>[RFC6371] describes how MPLS-TP OAM mechanisms are operated to
meet transport requirements outlined in [RFC5860].</t>
<t><xref target="RFC6428"/> specifies two BFD operation modes: 1) "CC mode", which uses
periodic BFD message exchanges with symmetric timer settings, supporting
Continuity Check, 2) "CV/CC mode" which sends unique maintenance entity
identifiers in the periodic BFD messages supporting Connectivity
Verification as well as Continuity Check.</t>
<t>[RFC6374] specifies mechanisms for performance monitoring of LSPs, in
particular it specifies loss and delay measurement OAM functions.</t>
<t><xref target="RFC6427"/> specifies fault management signals with which a server LSP
can notify client LSPs about various fault conditions to suppress alarms
or to be used as triggers for actions in the client LSPs. The following
signals are defined: Alarm Indication Signal (AIS), Link Down Indication
(LDI) and Lock Report (LKR). </t>
<t>[RFC6371] describes the mapping of fault conditions to
consequent actions. Some of these mappings may be configured by the
operator, depending on the application of the LSP. The following defects
are identified: Loss Of Continuity (LOC), Misconnectivity, MEP
Misconfiguration and Period Misconfiguration. Out of these defect
conditions, the following consequent actions may be configurable: 1)
whether or not the LOC defect should result in blocking the outgoing data
traffic; 2) whether or not the "Period Misconfiguration defect" should
result in a signal fail condition.</t>
</section>
-->
<section anchor="theory-operation" title="Theory of Operations">
<section anchor="operation-overview" title="MPLS OAM Configuration Operation Overview">
<t>The MPLS-TP OAM tool set is described in the <xref target="RFC6669"/>. </t>
<t>LSP Ping, or alternatively RSVP-TE <xref target="RFC7487"/>, can be used to
simply enable the different OAM functions, by setting the corresponding
flags in the MPLS OAM Functions TLV (refer to <xref target="mpls-oam-tlv"/>).
For a more detailed configuration, one
may include sub-TLVs for the different OAM functions in order to specify
various parameters in detail.</t>
<t>Typically intermediate nodes simply forward OAM configuration TLVs to the end-node
without any processing or modification.
At least one exception to this is if the FMS sub-TLV (refer to <xref target="fms-sub-tlv"/>
)
is present. This sub-TLV MUST be examined even by intermediate nodes that support this extension.
The sub-TLV MAY be present if a flag is set in the MPLS OAM Functions TLV.</t>
<section anchor="config-bfd" title="Configuration of BFD Sessions">
<t> For this specification, BFD MUST run in either one of the two modes:</t>
<t>
<list>
<t>- Asynchronous mode, where both sides are in active mode</t>
<t>- Unidirectional mode</t>
</list>
</t>
<t>In the simplest scenario, LSP Ping <xref target="RFC5884"/>, or alternatively RSVP-TE <xref target="RFC7487"/>,
is used only to bootstrap a BFD session for an LSP, without any timer negotiation.</t>
<t>Timer negotiation can be performed either in subsequent BFD control
messages (in this case the operation is similar to LSP Ping based bootstrapping
described in <xref target="RFC5884"/>) or directly in the LSP-Ping configuration messages.</t>
<t>When BFD Control packets are transported in the ACH encapsulation, they are not
protected by any end-to-end checksum, only lower-layers are providing
error detection/correction. A single bit error, e.g. a flipped bit in
the BFD State field could cause the receiving end to wrongly conclude
that the link is down and in turn trigger protection switching. To
prevent this from happening, the BFD Configuration sub-TLV
(refer to <xref target="bfd-config-sub-tlv"/>) has an
Integrity flag that when set enables BFD Authentication using Keyed SHA1
with an empty key (all 0s) <xref target="RFC5880"/>. This would make every BFD Control
packet carry an SHA1 hash of itself that can be used to detect
errors.</t>
<t>If BFD Authentication using a pre-shared key/password is desired
(i.e. authentication and not only error detection), the BFD
Authentication sub-TLV (refer to <xref target="bfd-authent-sub-tlv"/>) MUST be included in the BFD Configuration
sub-TLV. The BFD Authentication sub-TLV is used to specify which
authentication method that should be used and which pre-shared key/
password
that should be used for this particular session. How the key
exchange is performed is out of scope of this document.</t>
</section>
<section title="Configuration of Performance Monitoring">
<t>It is possible to configure Performance Monitoring functionalities such as
Loss,
Delay, Delay/Interpacket Delay variation (jitter), and Throughput as
described in <xref target="RFC6374"/>.</t>
<t>When configuring Performance Monitoring functionalities, it is
possible to choose either the default configuration, by only setting the
respective flags in the MPLS OAM functions TLV, or a customized
configuration. To customize the configuration, one would set the
respective flags in the MPLS OAM functions TLV and include the
respective Loss and/or Delay
sub-TLVs. </t>
<t>By setting the PM Loss flag in the MPLS OAM Functions TLV and including the
PM Loss sub-TLV (refer to <xref target="loss-sub-tlv"/>) one can configure the measurement interval
and loss threshold values for triggering protection.</t>
<t>Delay measurements are configured by setting the PM Delay flag in the MPLS OAM
Functions TLV and including the PM Delay sub-TLV (refer to <xref target="delay-sub-tlv"/>) one can
configure the measurement interval and the delay threshold values for
triggering protection.</t>
</section>
<section anchor="fms-config" title="Configuration of Fault Management Signals">
<t>To configure Fault Management Signals (FMS) and their refresh time, the
FMS flag in the MPLS OAM Functions TLV MUST be set and the FMS
sub-TLV MUST be included. When configuring FMS,
an implementation can enable the default configuration by setting the
FMS flag in the OAM Function Flags sub-TLV. In order to modify the
default configuration, the MPLS OAM FMS sub-TLV MUST be included. </t>
<t>If an intermediate point is meant to originate fault management
signal messages, this means that such an intermediate point is
associated with a Server MEP through a co-located MPLS-TP client/server
adaptation function, and the Fault Management subscription flag in the
MPLS OAM FMS sub-TLV has been set as indication of the request to create
the association at each intermediate node of the client LSP.
The corresponding Server MEP needs to be configured by its
own LSP-ping session or, alternatively, via a Network Management system (NMS) or
RSVP-TE. </t>
</section>
</section>
<section anchor="mpls-oam-tlv" title="MPLS OAM Functions TLV">
<t>
The MPLS OAM Functions TLV presented in <xref target="mpls-oam-tlv-figure"/>
is carried as a TLV of the MPLS
Echo Request/Reply messages <xref target="RFC4379"/>.
</t>
<t>
<figure align="left" anchor="mpls-oam-tlv-figure"
title="MPLS OAM Functions TLV format">
<artwork><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MPLS OAM Func. Type (TBA1) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MPLS OAM Function Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ sub-TLVs ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>The MPLS OAM Functions TLV contains MPLS OAM Function Flags field.
The MPLS OAM Function Flags indicates which
OAM functions should be activated as well as OAM function specific sub-TLVs
with configuration parameters for the particular function.</t>
<t>Type: indicates the MPLS OAM Functions TLV <xref target="IANA"/>.</t>
<t>Length: the length of the MPLS OAM Function Flags field including the
total length of the sub-TLVs in octets.</t>
<t>MPLS OAM Function Flags: a bitmap numbered from left to right as shown in
the <xref target="mpls-oam-flags-figure"/>. These
flags are managed by IANA (refer to <xref target="IANA-Flags"/>). Flags defined in this document are
presented in <xref target="mpls-oam-tlv-flags-table"/>.
Undefined flags MUST be set to
zero and unknown flags MUST be ignored. The flags indicate what
OAM is being configured and direct the presence of optional sub-TLVs as set
out below.
</t>
<t>
<figure align="left" anchor="mpls-oam-flags-figure"
title="MPLS OAM Function Flags format">
<artwork><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|C|V|F|L|D|T| Unassigned (MBZ) |R|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>
Sub-TLVs corresponding to the different flags are as follows.
No meaning should be attached to the order of sub-TLVs.
</t>
<t><list>
<t>- If a flag in the MPLS OAM Function Flags is set and
the corresponding sub-TLVs listed below is absent,
then this MPLS OAM function MUST be initialized according to its default
settings. Default settings of MPLS OAM functions are outside the scope
of this document.
</t>
<t>- If any sub-TLV is present without the corresponding flag being set,
the sub-TLV SHOULD be ignored.
</t>
<t>- BFD Configuration sub-TLV, which MUST be included if either the CC, the CV
or both MPLS OAM Function flags being set in the MPLS OAM Functions TLV
.
<!-- This sub-TLV MUST carry a "BFD Local
Discriminator sub-TLV" and a "Timer Negotiation Parameters sub-TLV"
if the N flag is cleared. The "Source MEP-ID sub-TLV" MUST also be
included. If the I flag is set, the "BFD Authentication sub-TLV" MAY be included. -->
</t>
<t>- Performance Monitoring sub-TLV MUST be used to carry PM Loss sub-TLV and/or
PM Delay sub-TLV. If neither one of these sub-TLVs is present then Performance Monitoring
sub-TLV SHOULD NOT be included. Empty, i.e. no enclosed sub-TLVs, Performance
Monitoring sub-TLV SHOULD be ignored.
</t>
<t>- PM Loss sub-TLV MAY be included if the
PM/Loss OAM Function flag is set. If the "PM Loss sub-TLV"
is not included, default configuration values are used. Such sub-TLV MAY also be
included in case the Throughput function flag is set and there is the need
to specify a measurement interval different from
the default ones. In fact, the throughput measurement makes use of the same
tool as the loss measurement,
hence the same TLV is used.</t>
<t>- PM Delay sub-TLV MAY be included if the
PM/Delay OAM Function flag is set. If the "PM Delay
sub-TLV" is not included, default configuration values are used.</t>
<t>- FMS sub-TLV, which MAY be included if the FMS OAM
Function flag is set. If the "FMS sub-TLV" is not included,
default configuration values are used.</t>
</list></t>
<t>
If all flags in the MPLS OAM Function Flags field have the same value of zero, that MUST be interpreted as
the MPLS OAM Functions TLV not present in the MPLS Echo Request. If more than one MPLS OAM
Functions TLV is present in the MPLS Echo request packet, then the first TLV SHOULD be processed and
the rest be ignored. Any parsing error within nested sub-TLVs that is not specified
in <xref target="ErrorSummary"/> SHOULD be treated as described in
<xref target="RFC4379"/>.
</t>
<section anchor="bfd-config-sub-tlv" title="BFD Configuration Sub-TLV">
<t>The BFD Configuration sub-TLV, depicted in <xref target="bfd-sub-tlv-figure"/>, is defined for BFD
OAM specific configuration parameters. The "BFD Configuration
sub-TLV" is carried as a sub-TLV of the "OAM Functions TLV".</t>
<t>This TLV accommodates generic BFD OAM information and carries
sub-TLVs.</t>
<t>
<figure align="left" anchor="bfd-sub-tlv-figure"
title="BFD Configuration sub-TLV format">
<artwork><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BFD Conf. sub-Type (100) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Vers.|N|S|I|G|U|B| Reserved (set to all 0s) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ sub-TLVs ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>Sub-type: indicates a new sub-type, the BFD Configuration sub-TLV (value 100).</t>
<t>Length: indicates the length of the Value field in octets.</t>
<t>Version: identifies the BFD protocol version. If a node does not
support a specific BFD version an error must be generated: "OAM
Problem/Unsupported OAM Version".</t>
<t>BFD Negotiation (N): If set timer negotiation/re-negotiation via
BFD Control Messages is enabled, when cleared it is disabled
and timer configuration is achieved using Negotiation Timer Parameters
sub-TLV as described in <xref target="time-param-sub-tlv"/>.</t>
<t>Symmetric session (S): If set the BFD session MUST use symmetric
timing values. If cleared the BFD session MAY use any timing values
either negotiated or explicitly configured.</t>
<t>Integrity (I): If set BFD Authentication MUST be enabled. If the BFD
Configuration sub-TLV does not include a BFD Authentication sub-TLV the
authentication MUST use Keyed SHA1 with an empty pre-shared key (all 0s).
If the egress LSR does not support BFD Authentication an error MUST be
generated: "OAM Problem/BFD Authentication unsupported".
If the Integrity
flag is clear, then Authentication MUST NOT be used.
</t>
<t>Encapsulation Capability (G): if set,
it shows the capability of encapsulating BFD messages into G-ACh channel.
If both the G bit and U bit are set, configuration gives precedence to the G bit.</t>
<t>Encapsulation Capability (U): if set,
it shows the capability of encapsulating BFD messages into IP/UDP packets.
If both the G bit and U bit are set, configuration gives precedence to the G bit.</t>
<t>
If the egress LSR does not support any of the ingress LSR Encapsulation
Capabilities an error MUST be generated: "OAM Problem/Unsupported BFD
Encapsulation format".
</t>
<t>Bidirectional (B): if set, it configures BFD in the Bidirectional mode.
If it is not set it configures BFD in unidirectional mode. In the second case,
the source node does not expect any Discriminator values back from the destination node.</t>
<t>Reserved: Reserved for future specification and set to 0 on transmission and ignored when received.</t>
<t>The BFD Configuration sub-TLV MUST include the following sub-TLVs
in the MPLS Echo Request message:</t>
<t><list>
<t>- Local Discriminator sub-TLV, if B flag is set in the MPLS Echo Request;</t>
<t>- Negotiation Timer Parameters sub-TLV if the N flag is
cleared.</t>
</list></t>
<t>The BFD Configuration sub-TLV MUST include the following sub-TLVs
in the MPLS Echo Reply message:</t>
<t><list>
<t>- Local Discriminator sub-TLV;</t>
<t>- Negotiation Timer Parameters sub-TLV if:
<list>
<t>- the N and S flags are cleared, or if: </t>
<t>- the N flag is cleared and the S flag is set, and the Negotiation Timer Parameters
sub-TLV received by the egress contains unsupported values.
In this case an updated Negotiation Timer Parameters sub-TLV, containing
values supported by the egress node <xref target="RFC7419"/>, is returned to the ingress.</t>
</list>
</t>
</list></t>
</section>
<section anchor="discriminator-sub-tlv" title="Local Discriminator Sub-TLV">
<t>The Local Discriminator sub-TLV is carried as a sub-TLV of the
"BFD Configuration sub-TLV" and is depicted in <xref target="local-discr-sub-tlv-figure"/>.</t>
<t>
<figure align="left" anchor="local-discr-sub-tlv-figure"
title="Local Discriminator sub-TLV format">
<artwork><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Locl. Discr. sub-Type (101) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Discriminator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>Type: indicates a new type, the "Local Discriminator sub-TLV"
(value 101).</t>
<t>Length: indicates the length of the Value field in octets . (4)</t>
<t>Local Discriminator: A nonzero discriminator value
that is unique in the
context of the transmitting system that generates it. It is used
to demultiplex multiple BFD sessions between the same pair of
systems.</t>
</section>
<section anchor ="time-param-sub-tlv" title="Negotiation Timer Parameters Sub-TLV">
<t>The Negotiation Timer Parameters sub-TLV is carried as a
sub-TLV of the BFD Configuration sub-TLV and is depicted
in
<xref target="timer-param-sub-tlv-figure"/>.</t>
<t>
<figure align="left" anchor="timer-param-sub-tlv-figure"
title="Negotiation Timer Parameters sub-TLV format">
<artwork><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nego. Timer sub-type (102) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acceptable Min. Asynchronous TX interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acceptable Min. Asynchronous RX interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Required Echo TX Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>Sub-type: indicates a new sub-type, the Negotiation Timer Parameters sub-TLV (value 102).</t>
<t>Length: indicates the length of the Value field in octets (12).</t>
<t>Acceptable Min. Asynchronous TX interval: in case of S (symmetric)
flag set in the BFD Configuration sub-TLV, defined in <xref target="bfd-config-sub-tlv"/>,
it expresses the desired time
interval (in microseconds) at which the ingress LER
intends to both transmit and receive BFD periodic control packets. If
the receiving edge LSR cannot support such value, it SHOULD
reply with an interval greater than the one proposed.</t>
<t>In case of S (symmetric) flag cleared in the BFD Configuration
sub-TLV, this field expresses the desired time interval (in
microseconds) at which a edge LSR intends to transmit BFD periodic
control packets in its transmitting direction.</t>
<t>Acceptable Min. Asynchronous RX interval: in case of S (symmetric)
flag set in the BFD Configuration sub-TLV, <xref target="bfd-sub-tlv-figure"/>, this field MUST be equal to
Acceptable Min. Asynchronous TX interval and has no additional
meaning respect to the one described for "Acceptable Min. Asynchronous
TX interval".</t>
<t>In case of S (symmetric) flag cleared in the BFD Configuration
sub-TLV, it expresses the minimum time interval (in microseconds) at
which edge LSRs can receive BFD periodic control packets. In case this
value is greater than the value of Acceptable Min. Asynchronous TX interval
received from the other edge LSR, such edge LSR MUST adopt the
interval expressed in this Acceptable Min. Asynchronous RX
interval.</t>
<t>Required Echo TX Interval: the minimum interval (in microseconds)
between received BFD Echo packets that this system is capable of
supporting, less any jitter applied by the sender as described in
<xref target="RFC5880"/> sect. 6.8.9. This value is also an indication for the
receiving system of the minimum interval between transmitted BFD
Echo packets. If this value is zero, the transmitting system does
not support the receipt of BFD Echo packets. If the receiving
system cannot support this value the "Unsupported BFD TX Echo rate interval"
error MUST be generated.
By default the value is set to 0.</t>
</section>
<section anchor="bfd-authent-sub-tlv" title="BFD Authentication Sub-TLV">
<t>The "BFD Authentication sub-TLV" is carried as a sub-TLV of the
"BFD Configuration sub-TLV" and is depicted in <xref target="bfd-authent-sub-tlv-figure"/>.</t>
<t>
<figure align="left" anchor="bfd-authent-sub-tlv-figure"
title="BFD Authentication sub-TLV format">
<artwork><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BFD Auth. sub-type (103) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Type | Auth Key ID | Reserved (0s) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>Sub-type: indicates a new type, the BFD Authentication sub-TLV (value 103).</t>
<t>Length: indicates the length of the Value field in octets (4).</t>
<t>Auth Type: indicates which type of authentication to use. The
same values as are defined in section 4.1 of <xref target="RFC5880"/> are
used. Simple Password SHOULD NOT be used if other authentication types are available.</t>
<t>Auth Key ID: indicates which authentication key or password
(depending on Auth Type) should be used. How the key exchange is
performed is out of scope of this document. If the egress LSR does not
support this Auth Key ID an "OAM Problem/Mismatch of BFD
Authentication Key ID" error MUST be generated.</t>
<t>Reserved: Reserved for future specification and set to 0 on transmission and ignored when received.</t>
<t>
An implementation MAY change mode of authentication if an operator re-evaluates
the security situation in and around the administrative domain.
If BFD Authentication sub-TLV used for a BFD session in Up state, then the Sender of the MPLS LSP Echo Request SHOULD
ensure that old and new modes of authentication, i.e. combination of Auth.Type and Auth. Key ID, are used to send and receive BFD
control packets, until the Sender can confirm that its peer has switched to the new authentication.
</t>
</section>
<section anchor="traffic-class-sub-tlv" title="Traffic Class Sub-TLV">
<t>The Traffic Class sub-TLV is carried as a sub-TLV of the
"BFD Configuration sub-TLV" and "Fault Management Signal sub-TLV" <xref target="fms-sub-tlv"/>
and is depicted in <xref target="traffic-class-sub-tlv-figure"/>.</t>
<t>
<figure align="left" anchor="traffic-class-sub-tlv-figure"
title="Traffic Class sub-TLV format">
<artwork><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Traffic Class sub-Type (104) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TC | Reserved (set to all 0s) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>Type: indicates a new type, the "Traffic Class sub-TLV" (value 104).</t>
<t>Length: indicates the length of the Value field in octets . (4)</t>
<t>TC: Identifies the Traffic Class (TC) <xref target="RFC5462"/> for periodic
continuity monitoring messages or packets with fault
management information.</t>
<t>If the TC sub-TLV is present, then the sender of any periodic continuity
monitoring messages or packets with fault management information on the
LSP, with a FEC that corresponds to the FEC for which fault detection is being
performed, MUST use the value contained in the TC field of the sub-TLV as the value
of the TC field in the top label stack entry of the MPLS label stack. If the TC sub-TLV is absent
from either "BFD Configuration sub-TLV" or "Fault Management Signal
sub-TLV", then selection of
the TC value is local decision.
</t>
</section>
<section anchor="pm-sub-tlv" title="Performance Measurement Sub-TLV">
<t>If the MPLS OAM Functions TLV has any of the L (Loss), D (Delay) and T (Throughput)
flag set, the Performance Measurement sub-TLV MUST be present. Failure to
include the correct sub-TLVs MUST result in an "OAM Problem/
Configuration Error" error being generated.</t>
<t>The Performance Measurement sub-TLV provides the configuration information mentioned in Section 7 of
<xref target="RFC6374"/>. It includes support for the configuration of quality thresholds
and, as described in <xref target="RFC6374"/>, "the
crossing of which will trigger warnings or alarms, and result in reporting and exception notification will be
integrated into the system-wide network management and reporting framework."</t>
<t>In case the values need to be different than the default ones, the Performance Measurement sub-TLV
MAY include the following sub-TLVs:
<list>
<t>- PM Loss sub-TLV if the L flag is set in the MPLS OAM Functions TLV;</t>
<t>- PM Delay sub-TLV if the D flag is set in the MPLS OAM Functions TLV.</t>
</list>
</t>
<t> The Performance Measurement sub-TLV depicted in <xref target="pm-sub-tlv-figure"/>
is carried as a
sub-TLV of the MPLS OAM Functions TLV.
</t>
<t>
<figure align="left" anchor="pm-sub-tlv-figure"
title="Performance Measurement sub-TLV format">
<artwork><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Perf Monitoring Type (200) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PM Configuration Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ sub-TLVs ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>Sub-type: indicates a new sub-type, the Performance Management sub-TLV" (value 200).</t>
<t> Length: indicates the length of the Value field in octets, including
PM Configuration Flags and optional sub-TLVs.</t>
<t>
<figure align="left" anchor="pm-config-flags"
title="Performance Measurement sub-TLV format">
<artwork><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|D|L|J|Y|K|C| Reserved (set to all 0s) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>PM Configuration Flags, format is presented in <xref target="pm-config-flags"/>, for the specific
function description please refer to <xref target="RFC6374"/>:
<list>
<t>- D: Delay inferred/direct (0=INFERRED, 1=DIRECT). If the egress
LSR does not support specified mode an "OAM Problem/Unsupported
Delay Mode" error MUST be generated.</t>
<t>- L: Loss inferred/direct (0=INFERRED, 1=DIRECT). If the egress
LSR does not support specified mode an "OAM Problem/Unsupported
Loss Mode" error MUST be generated.</t>
<t>- J: Delay variation/jitter (1=ACTIVE, 0=NOT ACTIVE). If the
egress LSR does not support Delay variation measurements and the J
flag is set, an "OAM Problem/Delay variation unsupported" error MUST be generated.</t>
<t>- Y: Dyadic (1=ACTIVE, 0=NOT ACTIVE). If the egress LSR does not
support Dyadic mode and the Y flag is set, an "OAM Problem/Dyadic
mode unsupported" error MUST be generated.</t>
<t>- K: Loopback (1=ACTIVE, 0=NOT ACTIVE). If the egress LSR does
not support Loopback mode and the K flag is set, an "OAM Problem/
Loopback mode unsupported" error MUST be generated.</t>
<t>- C: Combined (1=ACTIVE, 0=NOT ACTIVE). If the egress LSR does
not support Combined mode and the C flag is set, an "OAM Problem/
Combined mode unsupported" error MUST be generated.</t>
</list>
</t>
<t>Reserved: Reserved for future specification and set to 0 on transmission and ignored when received.</t>
</section>
<section anchor="loss-sub-tlv" title="PM Loss Measurement Sub-TLV">
<t>The PM Loss Measurement sub-TLV depicted in <xref target="pm-loss-sub-tlv-figure"/>
is carried as a
sub-TLV of the Performance Measurement sub-TLV.</t>
<t>
<figure align="left" anchor="pm-loss-sub-tlv-figure"
title="PM Loss Measurement sub-TLV format">
<artwork><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PM Loss sub-type (201) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OTF |T|B| Reserved (set to all 0s) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Measurement Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Test Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Loss Threshold |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>Sub-type: indicates a new sub-type, the PM Loss Measurement sub-TLV (value 201).</t>
<t>Length: indicates the length of the Value field in octets (16).</t>
<t>OTF: Origin Timestamp Format of the Origin Timestamp field described in <xref target="RFC6374"/>.
By default it is set to IEEE 1588 version 1. If the egress LSR cannot support this value an
"OAM Problem/Unsupported Timestamp Format" error MUST be generated.</t>
<t>Configuration Flags, please refer to <xref target="RFC6374"/> for further details:
<list>
<t>- T: Traffic-class-specific measurement indicator. Set to 1 when
the measurement operation is scoped to packets of a particular
traffic class (DSCP value), and 0 otherwise. When set to 1, the
DS field of the message indicates the measured traffic class.
By default it is set to 1.</t>
<t>- B: Octet (byte) count. When set to 1, indicates that the Counter
1-4 fields represent octet counts. When set to 0, indicates that
the Counter 1-4 fields represent packet counts.
By default it is set to 0.</t>
</list>
</t>
<t>Reserved: Reserved for future specification and set to 0 on transmission and ignored when received.</t>
<t>Measurement Interval: the time interval (in milliseconds) at which
Loss Measurement query messages MUST be sent on both directions. If
the edge LSR receiving the Path message cannot support such value, it
SHOULD reply with a higher interval. By default it is set to (100) as per <xref target="RFC6375"/>.</t>
<t>Test Interval: test messages interval in milliseconds as described in <xref target="RFC6374"/>.
By default it is set to (10) as per <xref target="RFC6375"/>.</t>
<t>Loss Threshold: the threshold value of measured lost packets per measurement over which action(s)
SHOULD be triggered. </t>
</section>
<section anchor="delay-sub-tlv" title="PM Delay Measurement Sub-TLV">
<t>The "PM Delay Measurement sub-TLV" depicted in <xref target="pm-delay-sub-tlv-figure"/>
is carried as a
sub-TLV of the Performance Monitoring sub-TLV.</t>
<t>
<figure align="left" anchor="pm-delay-sub-tlv-figure"
title="PM Delay Measurement sub-TLV format">
<artwork><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PM Delay Type (202) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OTF |T|B| Reserved (set to all 0s) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Measurement Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Test Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Delay Threshold |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>Sub-type: indicates a new sub-type, the "PM Delay Measurement sub-TLV" (value 202).</t>
<t>Length: indicates the length of the Value field in octets (16).</t>
<t>OTF: Origin Timestamp Format of the Origin Timestamp field described in <xref target="RFC6374"/>.
By default it is set to IEEE 1588 version 1. If the egress LSR cannot support this value, an "OAM Problem/Unsupported
Timestamp Format" error MUST be generated.</t>
<t>Configuration Flags, please refer to <xref target="RFC6374"/> for further details:
<list>
<t>- T: Traffic-class-specific measurement indicator. Set to 1 when
the measurement operation is scoped to packets of a particular
traffic class (DSCP value), and 0 otherwise. When set to 1, the
DS field of the message indicates the measured traffic class.
By default it is set to 1.</t>
<t>- B: Octet (byte) count. When set to 1, indicates that the Counter
1-4 fields represent octet counts. When set to 0, indicates that
the Counter 1-4 fields represent packet counts.
By default it is set to 0.</t>
</list>
</t>
<t>Reserved: Reserved for future specification and set to 0 on transmission and ignored when received.</t>
<t>Measurement Interval: the time interval (in milliseconds) at which
Delay Measurement query messages MUST be sent on both directions. If
the edge LSR receiving the Path message cannot support such value, it
can reply with a higher interval. By default it is set to (1000) as per <xref target="RFC6375"/>.</t>
<t>Test Interval: test messages interval (in milliseconds) as described in <xref target="RFC6374"/>.
By default it is set to (10) as per <xref target="RFC6375"/>.</t>
<t>Delay Threshold: the threshold value of measured two-way delay (in milliseconds) over which action(s)
SHOULD be triggered. </t>
</section>
<section anchor="fms-sub-tlv" title="Fault Management Signal Sub-TLV">
<t>The FMS sub-TLV depicted in <xref target="fms-sub-tlv-figure"/> is carried as a sub-TLV of
the MPLS OAM Configuration sub-TLV. When both working and protection paths
are configured, both LSPs SHOULD be configured with identical settings of
the E flag, T flag, and the refresh timer. An implementation MAY configure the
working and protection LSPs with different settings of these fields in case of 1:N protection.</t>
<t>
<figure align="left" anchor="fms-sub-tlv-figure"
title="Fault Management Signal sub-TLV format">
<artwork><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FMS sub-type (300) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|E|S|T| Reserved | Refresh Timer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ sub-TLVs ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>Sub-type: indicates a new sub-type, the FMS sub-TLV (value 300).</t>
<t>Length: indicates the length of the Value field in octets.</t>
<t>FMS Signal Flags are used to enable the FMS signals at end point MEPs and
the Server MEPs of the links over which the LSP is forwarded. In this
document only the S flag pertains to Server MEPs. </t>
<t>The following flags are defined:
<list>
<t>- E: Enable Alarm Indication Signal (AIS) and Lock Report (LKR) signaling
as described in <xref target="RFC6427"/>. Default value is 1 (enabled). If the egress MEP does not support FMS signal
generation, an "OAM Problem/Fault management signaling unsupported"
error MUST be generated.</t>
<t>- S: Indicate to a server MEP that it should transmit AIS and LKR signals on
the client LSP. Default value is 0 (disabled). If a Server MEP which is capable of generating FMS
messages is for some reason unable to do so for the LSP being signaled, an "OAM
Problem/Unable to create fault management association" error MUST be generated.</t>
<t>- T: Set timer value, enabled the configuration of a specific timer value.
Default value is 0 (disabled).</t>
<t>- Remaining bits: Reserved for future specification and set to 0.</t>
</list>
</t>
<t>Refresh Timer: indicates the refresh timer of fault indication messages, in seconds. The value MUST be
between 1 to 20 seconds as specified for the Refresh Timer field in <xref target="RFC6427"/>. If the edge LSR receiving the
Path message cannot support the value it SHOULD reply with a higher timer value. </t>
<t>FMS sub-TLV MAY include Traffic Class sub-TLV <xref target="traffic-class-sub-tlv"/>. If TC sub-TLV is present,
the value of the TC field MUST be used as the value of the TC field of an MPLS label stack entry
for FMS messages. If the TC sub-TLV is absent, then selection of the TC value is local decision.</t>
</section>
<section anchor="source-mep-id-sub-tlv" title="Source MEP-ID Sub-TLV">
<t>The Source MEP-ID sub-TLV depicted in <xref target="source-mep-id-sub-tlv-figure"/>
is carried as a sub-TLV of the MPLS OAM Functions TLV.</t>
<t>Note that support of ITU IDs is out-of-scope.</t>
<t>
<figure align="left" anchor="source-mep-id-sub-tlv-figure"
title="Source MEP-ID sub-TLV format">
<artwork><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source MEP-ID sub-type (400) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Node ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Tunnel ID | LSP ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>Sub-type: indicates a new sub-type, the Source MEP-ID sub-TLV
(value 400).</t>
<t>Length: indicates the length of the Value field in octets (8).</t>
<t>Source Node ID: 32-bit node identifier as defined in
<xref target="RFC6370"/>.</t>
<t>Tunnel ID: a 16-bit unsigned integer unique to the node as
defined in <xref target="RFC6370"/>.</t>
<t>LSP ID: a 16-bit unsigned integer unique within the Tunnel_ID as
defined in <xref target="RFC6370"/>.</t>
</section>
</section>
</section>
<section anchor="ErrorSummary" title="Summary of MPLS OAM Configuration Errors">
<t>This is the summary of Return Codes <xref target="RFC4379"/> defined in this document: </t>
<t><list>
<t>- If an egress LSR does not support the specified BFD version, an error MUST be generated: "OAM Problem/Unsupported BFD Version".</t>
<t>- If an egress LSR does not support the specified BFD Encapsulation format, an error MUST be generated: "OAM Problem/Unsupported BFD Encapsulation format".</t>
<t>- If an egress LSR does not support BFD Authentication, and it is requested,
an error MUST be generated: "OAM Problem/BFD Authentication unsupported".</t>
<t>- If an egress LSR does not support the specified BFD Authentication Type,
an error MUST be generated: "OAM Problem/Unsupported BFD Authentication Type".</t>
<t>- If an egress LSR is not able to use the specified Authentication Key ID, an
error MUST be generated: "OAM Problem/Mismatch of BFD Authentication
Key ID".</t>
<t>- If an egress LSR does not support the specified Timestamp Format, an error MUST be generated: "OAM Problem/Unsupported Timestamp
Format".</t>
<t>- If an egress LSR does not support specified Delay mode, an "OAM
Problem/Unsupported Delay Mode" error MUST be generated.</t>
<t>- If an egress LSR does not support specified Loss mode, an "OAM
Problem/Unsupported Loss Mode" error MUST be generated.</t>
<t>- If an egress LSR does not support Delay variation measurements, and it
is requested, an "OAM Problem/Delay variation unsupported" error MUST
be generated.</t>
<t>- If an egress LSR does not support Dyadic mode, and it is requested, an
"OAM Problem/Dyadic mode unsupported" error MUST be generated.</t>
<t>- If an egress LSR does not support Loopback mode, and it is requested, an
"OAM Problem/Loopback mode unsupported" error MUST be generated.</t>
<t>- If an egress LSR does not support Combined mode, and it is requested, an
"OAM Problem/Combined mode unsupported" error MUST be generated.</t>
<t>- If an egress LSR does not support Fault Monitoring Signals, and it is requested, an
"OAM Problem/Fault management signaling unsupported" error MUST be generated.</t>
<t>- If an intermediate server MEP supports Fault Monitoring Signals but is unable to create an association,
when requested to do so, an "OAM Problem/Unable to create fault management association" error MUST be generated.</t>
</list>
</t>
<t>
Ingress LSR MAY combine multiple MPLS OAM configuration TLVs and sub-TLVs into single MPLS echo request.
In case an egress LSR doesn't support any of the requested modes it MUST set the return code to report the first
unsupported mode in the list of TLVs and sub-TLVs. And if any of the requested OAM configuration is not supported the egress LSR
SHOULD NOT process OAM Configuration TLVs and sub-TLVs listed in the MPLS echo request.
</t>
</section>
<section anchor="IANA" title="IANA Considerations">
<section anchor="IANA-TLV" title="TLV and Sub-TLV Allocation">
<!--
<t>Note: The IANA considerations in this document is written according
to the allocation policies specified
in RFC4379. However there is a draft that suggest changes to
these allocation policies,
draft-pac-mpls-lsp-ping-tlvs-and-sub-tlvs-registry if the working group
accept the new allocation specified in that draft the allocations made
this draft, this IANA Considerations section in this document will be
re-written. </t>
-->
<t>IANA maintains the Multi-Protocol Label Switching (MPLS) Label
Switched Paths (LSPs) Ping Parameters registry, and within that registry
a sub-registry for TLVs and sub-TLVs.</t>
<t>IANA is requested to allocate a new MPLS OAM Functions TLV
from the standards action range (0-16383)
and sub-TLVs as follows from sub-registry presented in <xref target="iana-allocation-table"/>,
called "Sub-TLVs for TLV [TBA1]". </t>
<t>
Registration procedures for Sub-TLVs from ranges 0-16383 and
32768-49161 are by Standards Action, and from ranges 16384-31743
and 49162-64511 are through Specification Required (Experimental
RFC Needed).
</t>
<texttable anchor="iana-allocation-table" title="IANA TLV Type Allocation">
<ttcol align='left'>Type</ttcol>
<ttcol align='left'>Sub-type</ttcol>
<ttcol align='left'>Value Field</ttcol>
<ttcol align='left'>Reference</ttcol>
<c>TBA1</c><c></c><c>MPLS OAM Functions</c><c>This document</c>
<c></c><c>100</c><c>BFD Configuration</c><c>This document</c>
<c></c><c>101</c><c>BFD Local Discriminator</c><c>This document</c>
<c></c><c>102</c><c>BFD Negotiation Timer Parameters</c><c>This document</c>
<c></c><c>103</c><c>BFD Authentication</c><c>This document</c>
<c></c><c>104</c><c>Traffic Class</c><c>This document</c>
<c></c><c>200</c><c>Performance Measurement</c><c>This document</c>
<c></c><c>201</c><c>PM Loss Measurement</c><c>This document</c>
<c></c><c>202</c><c>PM Delay Measurement</c><c>This document</c>
<c></c><c>300</c><c>Fault Management Signal</c><c>This document</c>
<c></c><c>400</c><c>Source MEP-ID</c><c>This document</c>
</texttable>
</section>
<section anchor="IANA-Flags" title="MPLS OAM Function Flags Allocation">
<t>
IANA is requested to create a new registry called the "MPLS OAM Function Flags" registry
.
Assignments of bit positions 0 through 31 are via Standards Action.
The new registry to be populated as follows.
</t>
<texttable anchor="mpls-oam-tlv-flags-table" title="MPLS OAM Function Flags">
<ttcol align='center'>Bit Position</ttcol>
<ttcol align='center'>MPLS OAM Function Flag</ttcol>
<ttcol align='left'>Description</ttcol>
<c>0 </c> <c>C </c> <c>Continuity Check (CC) </c>
<c>1 </c> <c>V </c> <c>Connectivity Verification (CV) </c>
<c>2 </c> <c>F </c> <c>Fault Management Signal (FMS) </c>
<c>3 </c> <c>L </c> <c>Performance Measurement/Loss (PM/Loss) </c>
<c>4 </c> <c>D </c> <c>Performance Measurement/Delay (PM/Delay) </c>
<c>5 </c> <c>T </c> <c>Throughput Measurement </c>
<c>6-30 </c> <c> </c> <c>Unassigned (Must be zero) </c>
<c>31 </c> <c> </c> <c>Reserved </c>
</texttable>
</section>
<section anchor="oam-config-err" title="OAM Configuration Errors">
<t>IANA maintains a registry "Multi-Protocol Label Switching (MPLS) Label
Switched Paths (LSPs) Ping Parameters" registry, and within that registry
a sub-registry "Return Codes".</t>
<t>IANA is requested to assign new Return Codes from the Standards Action
range (0-191) as follows:</t>
<texttable anchor="iana-ret-sub-codes-allocation-table" title="IANA Return Codes Allocation">
<ttcol align='left'>Error Value Sub-codes</ttcol>
<ttcol align='left'>Description</ttcol>
<ttcol align='left'>Reference</ttcol>
<c>TBA3</c>
<c>OAM Problem/Unsupported BFD Version</c>
<c>This document</c>
<c>TBA4</c>
<c>OAM Problem/Unsupported BFD Encapsulation format</c>
<c>This document</c>
<c>TBA5</c>
<c>OAM Problem/Unsupported BFD Authentication Type</c>
<c>This document</c>
<c>TBA6</c>
<c>OAM Problem/Mismatch of BFD Authentication Key ID</c>
<c>This document</c>
<c>TBA7</c>
<c>OAM Problem/Unsupported Timestamp Format</c>
<c>This document</c>
<c>TBA8</c>
<c>OAM Problem/Unsupported Delay Mode</c>
<c>This document</c>
<c>TBA9</c>
<c>OAM Problem/Unsupported Loss Mode</c>
<c>This document</c>
<c>TBA10</c>
<c>OAM Problem/Delay variation unsupported</c>
<c>This document</c>
<c>TBA11</c>
<c>OAM Problem/Dyadic mode unsupported</c>
<c>This document</c>
<c>TBA12</c>
<c>OAM Problem/Loopback mode unsupported</c>
<c>This document</c>
<c>TBA13</c>
<c>OAM Problem/Combined mode unsupported</c>
<c>This document</c>
<c>TBA14</c>
<c>OAM Problem/Fault management signaling unsupported</c>
<c>This document</c>
<c>TBA15</c>
<c>OAM Problem/Unable to create fault management association</c>
<c>This document</c>
</texttable>
</section>
</section>
<section anchor="Security" title="Security Considerations">
<t>The signaling of OAM related parameters and the automatic establishment
of OAM entities introduces additional security considerations to those
discussed in <xref target="RFC4379"/>. In particular, a network element could be
overloaded if an attacker were to request high frequency liveliness
monitoring of a large number of LSPs, targeting a single network element. Implementations must
be made cognizant of available OAM resources and MAY refuse new OAM configurations
that would overload a node. Additionally, policies to manage OAM resources may be used
to provide some fairness in OAM resource distribution among monitored LSPs.</t>
<t>
Security of OAM protocols configured with extensions to LSP Ping described in this
document are discussed in <xref target="RFC5880"/>, <xref target="RFC5884"/>,
<xref target="RFC6374"/>, <xref target="RFC6427"/>, and <xref target="RFC6428"/>.
</t>
<t>
In order that the configuration of OAM functionality can be achieved securely through the techniques described
in this document, security mechanisms must already be in place and operational for LSP Ping. Thus the
exchange of security parameters (such as keys) for use in securing OAM is outside the scope of this
document and is assumed to use an off-line mechanism or an established secure key-exchange protocol.
</t>
<t>Additional discussion of security for MPLS protocols can be found in <xref target="RFC5920"/>.</t>
<!--
<t>Security aspects will be covered in more detailed in subsequent
versions of this document.</t>
-->
</section>
<section title="Acknowledgements">
<t>The authors would like to thank Nobo Akiya, David Allan and Adrian Farrel for
their thorough reviews and insightful comments.</t>
</section>
</middle>
<back>
<references title="Normative References">
<?rfc include="reference.RFC.2119"?>
<!-- <?rfc include="reference.RFC.3473"?>
-->
<?rfc include="reference.RFC.4379"?>
<?rfc include="reference.RFC.5654"?>
<?rfc include="reference.RFC.5880"?>
<?rfc include="reference.RFC.5884"?>
<?rfc include="reference.RFC.6370"?>
<?rfc include="reference.RFC.6374"?>
<?rfc include="reference.RFC.6427"?>
<?rfc include="reference.RFC.6428"?>
<!-- <?rfc include="reference.RFC.7260"?>
-->
</references>
<references title="Informative References">
<?rfc include="reference.RFC.6371"?>
<?rfc include="reference.RFC.7419"?>
<?rfc include="reference.RFC.3209"?>
<?rfc include="reference.RFC.6669"?>
<?rfc include="reference.RFC.5036"?>
<?rfc include="reference.RFC.6375"?>
<?rfc include="reference.RFC.5462"?>
<?rfc include="reference.RFC.5860"?>
<?rfc include="reference.RFC.5920"?>
<?rfc include="reference.RFC.7487"?>
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-23 06:45:32 |