One document matched: draft-ietf-mpls-residence-time-05.xml
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"[
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC5905 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5905.xml">
<!ENTITY RFC6374 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6374.xml">
<!ENTITY RFC5586 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5586.xml">
<!ENTITY RFC6423 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6423.xml">
<!ENTITY RFC5085 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5085.xml">
<!ENTITY RFC3209 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3209.xml">
<!ENTITY RFC4385 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4385.xml">
<!ENTITY RFC5226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml">
<!ENTITY RFC6823 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6823.xml">
<!ENTITY RFC3477 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3477.xml">
<!ENTITY RFC4202 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4202.xml">
<!ENTITY RFC7384 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7384.xml">
<!ENTITY RFC7684 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7684.xml">
<!ENTITY RFC5420 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5420.xml">
<!ENTITY RFC4655 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4655.xml">
<!ENTITY I-D.ietf-ospf-ospfv3-lsa-extend SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-ospf-ospfv3-lsa-extend-09.xml">
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" ipr="trust200902" docName="draft-ietf-mpls-residence-time-05">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<front>
<title abbrev='Residence Time Measurement'>Residence Time Measurement in MPLS network</title>
<author initials='G.' surname="Mirsky" fullname='Greg Mirsky'>
<organization>Ericsson</organization>
<address>
<email>gregory.mirsky@ericsson.com</email>
</address>
</author>
<author initials='S.' surname="Ruffini" fullname='Stefano Ruffini'>
<organization>Ericsson</organization>
<address>
<email>stefano.ruffini@ericsson.com</email>
</address>
</author>
<author initials='E.' surname="Gray" fullname='Eric Gray'>
<organization>Ericsson</organization>
<address>
<email>eric.gray@ericsson.com</email>
</address>
</author>
<author initials='J.' surname="Drake" fullname='John Drake'>
<organization>Juniper Networks</organization>
<address>
<email>jdrake@juniper.net</email>
</address>
</author>
<author initials='S.' surname="Bryant" fullname='Stewart Bryant'>
<organization>Cisco Systems</organization>
<address>
<email>stbryant@cisco.com</email>
</address>
</author>
<author initials='A.' surname="Vainshtein" fullname='Alexander Vainshtein'>
<organization>ECI Telecom</organization>
<address>
<email>Alexander.Vainshtein@ecitele.com</email>
</address>
</author>
<date day="15" month="March" year="2016" />
<area>Routing</area>
<workgroup>MPLS Working Group</workgroup>
<keyword>Internet-Draft</keyword>
<keyword>G-ACh</keyword>
<keyword>Resident Time</keyword>
<keyword>MPLS</keyword>
<abstract>
<t>
This document specifies G-ACh based Residence Time Measurement and how it can be used
by time synchronization protocols being transported over MPLS domain.
</t>
<t>
Residence time is the variable part of propagation delay of timing and synchronization messages
and knowing what this delay is for each message allows for a more accurate determination of the
delay to be taken into account in applying the value included in a PTP event message.
</t>
</abstract>
</front>
<middle>
<section anchor="intro" title="Introduction">
<t>
Time synchronization protocols, e.g., Network Time Protocol version 4 (NTPv4) <xref target="RFC5905"/> and
Precision Time Protocol (PTP) Version 2 <xref target="IEEE.1588.2008"/> define timing messages that
can be used to synchronize
clocks across a network domain.
Measurement of the cumulative
time one of these timing messages spends transiting the nodes
on the path from ingress node to egress node is termed
Residence Time and it is used to improve the accuracy of clock synchronization.
(I.e., it is the sum of the difference between the time of receipt at an ingress interface
and the time of transmission from an egress interface for each node along the path
from ingress node to egress node.)
This document defines
a new Generalized Associated Channel (G-ACh)
value and an associated residence time measurement (RTM) packet that can be
used in a Multi-Protocol Label Switching (MPLS) network to measure residence time over a Label Switched Path (LSP).
<!-- Mechanisms for transport of time synchronization protocol packets over MPLS are out of scope in this document.
-->
</t>
<t>
Although it is possible to use RTM over an LSP instantiated using LDP, that is outside the scope of this document.
Rather, this document describes RTM over an LSP signaled using RSVP-TE <xref target="RFC3209"/>
because the LSP's path
can be either explicitly specified or determined during signaling.
</t>
<t>
<!-- <xref target="I-D.ietf-tictoc-1588overmpls"/> describes alternative method of on-path support for timing distribution protocols.
-->
Comparison with alternative proposed solutions such as <xref target="I-D.ietf-tictoc-1588overmpls"/>
is outside the scope of this document.
</t>
<section title="Conventions used in this document">
<section title="Terminology">
<t>MPLS: Multi-Protocol Label Switching</t>
<t>ACH: Associated Channel</t>
<t>TTL: Time-to-Live</t>
<t>G-ACh: Generic Associated Channel</t>
<t>GAL: Generic Associated Channel Label</t>
<t>NTP: Network Time Protocol</t>
<t>ppm: parts per million
</t>
<t>PTP: Precision Time Protocol</t>
<t>LSP: Label Switched Path</t>
<!-- <t>node: Label Switching Router</t>
-->
<t>OAM: Operations, Administration, and Maintenance</t>
<t>RRO: Record Route Object </t>
<t>RTM: Residence Time Measurement</t>
<t>IGP: Internal Gateway Protocol</t>
</section>
<section title="Requirements Language">
<t>
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
<xref target="RFC2119"></xref>.
</t>
</section>
</section>
</section>
<section anchor="residence-time" title="Residence Time Measurement">
<t>
Packet Loss and Delay Measurement for MPLS Networks <xref target="RFC6374"/> can be used to
measure one-way or two-way end-to-end propagation delay over LSP or PW. But these measurements
are insufficient for use in some applications, for example, time synchronization across a network
as defined in the Precision Time Protocol (PTP). In PTPv2 <xref target="IEEE.1588.2008"/> residence times
is accumulated in the correctionField of the PTP event message, as defined in <xref target="IEEE.1588.2008"/>,
or in the associated follow-up message (or Delay_Resp message associated with
the Delay_Req message) in case of two-step clocks (see the detailed discussion in <xref target="one-two-step-modes"/>).
<!-- The residence time values are specific to each output PTP
port and message.
-->
</t>
<!--
<t>
Note the delay of propagation over a link connected to a port receiving the PTP event message is handled by
IEEE 1588 <xref target="IEEE.1588.2008"/> by means of specific messages, Pdelay_Req and Pdelay_Resp,or
Delay_Req and Delay_Resp depending on the applicable delay mechanism, peer-to-peer or delay request-response
mechanism respectively.
</t>
-->
<t>
IEEE 1588 uses this residence time to correct the transit time from ingress node to egress node,
effectively making the transit nodes transparent.
</t>
<t>
This document proposes a mechanism that can be used as one of types of on-path support
for a clock synchronization protocol or to perform one-way measurement of residence time.
The proposed mechanism accumulates residence time from all nodes that support
this extension along the path of a particular LSP in Scratch Pad
field of an RTM packet
<xref target="residence-time-format"/>.
This value can then be used by the egress node to update, for example, the correctionField of the PTP
event packet carried within the RTM packet prior to performing its PTP processing.
</t>
</section>
<section anchor="associated-channel" title="G-ACh for Residence Time Measurement">
<t>
RFC 5586 <xref target="RFC5586"/> and RFC 6423 <xref target="RFC6423"/>
define the G-ACh to extend the applicability of the PW Associated
Channel (ACH) <xref target="RFC5085"/> to LSPs. G-ACh provides a mechanism to transport OAM
and other control messages over an LSP. Processing of these messages by select transit nodes
is controlled by the use of
the Time-to-Live (TTL) value in the MPLS header of these messages.
<!--
In a way that is analogous to PTP operations, the packet residence time can be
handled by the RTM capable node either as "one-step clock" or as a "two-step clock".
-->
</t>
<t>
The packet format for Residence Time Measurement (RTM) is presented in <xref target="residence-time-format"/>
<figure align="left" anchor="residence-time-format"
title="RTM G-ACh packet format for Residence Time Measurement">
<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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 1|Version| Reserved | RTM G-ACh |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Scratch Pad |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value |
~ ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>
<list style="symbols">
<t>First four octets are defined as G-ACh Header in <xref target="RFC5586"/></t>
<t>The Version field is set to 0, as defined in RFC 4385 <xref target="RFC4385"/>. </t>
<t>The Reserved field MUST be
set to 0 on transmit and ignored on receipt. </t>
<t>The RTM G-ACh field, value (TBA1) to be allocated by IANA, identifies the packet
as such. </t>
<t>The Scratch Pad field is 8 octets in length. It is used to accumulate the residence
time spent in each RTM capable node transited by the packet on its path from ingress node to egress node.
The first RTM-capable node MUST initialize the Scratch
Pad field with its residence time measurement.
<!--The Scratch Pad is used to accumulate the residence
time spent in each RTM capable node
transited by the packet on its path from ingress node to egress node. -->
Its format is IEEE double precision and its
units are nanoseconds. Note that depending on whether the timing procedure is
one-step or two-step operation (<xref target="one-two-step-modes"/>),
the residence time is either for the timing packet carried in the Value field of this RTM
packet or for an associated timing packet carried in the Value field of another RTM packet.
</t>
<t>
The Type field identifies the type and encapsulation of a timing packet carried in the Value field,
e.g., NTP <xref target="RFC5905"/> or PTP <xref target="IEEE.1588.2008"/>.
IANA will be asked to create a
sub-registry in Generic
Associated Channel (G-ACh) Parameters Registry called "MPLS RTM TLV Registry".</t>
<t>The Length field contains the length, in octets
, of the
of the timing packet carried in the Value field.</t>
<t>The optional Value field MAY carry a packet of the time
synchronization protocol identified by Type field.
It is important to note that the
packet may be authenticated or encrypted
and carried over LSP edge to edge unchanged while
the residence time is accumulated in the Scratch Pad field.
</t>
<t>The TLV MUST be included in the RTM message, even if the length of the Value field is zero.
</t>
</list>
</t>
<section anchor="ptp-sub-tlv" title="PTP Packet Sub-TLV">
<t>
<xref target="ptp-sub-tlv-fig"/> presents format of a PTP sub-TLV that MUST be
included in the Value field of an RTM packet preceding the carried timing
packet when the timing packet is PTP.
<figure align="left" anchor="ptp-sub-tlv-fig" title="PTP 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |PTPType|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Port ID |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Sequence ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>
where Flags field has format
<figure align="left" anchor="flags-filed-format"
title="Flags field format of PTP Packet Sub-TLV">
<artwork><![CDATA[
0 1 2
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>
<list style="symbols">
<t>The Type field identifies PTP sub-TLV defined in the Table 19 Values of messageType field
in <xref target="IEEE.1588.2008"/>.</t>
<t>The Length field of the PTP sub-TLV contains the number of octets of the Value field and MUST be 20.</t>
<!--
<t>The Flags field has one bit, S, which acts as a step flag, set to 0 if the boundary clocks are operating in
one-step mode, and set to 1 if they are operating in two-step mode.</t>
-->
<t>
The Flags field currently defines one bit, the S-bit, that defines whether the current message
has been processed by a 2-step node, where the flag is cleared if the message has been handled
exclusively by 1-step nodes and there is no follow-up message, and set if there has been at least
one 2-step node and a follow-up message is forthcoming.
</t>
<t>
The PTPType indicates the type of PTP packet carried in the TLV. PTPType is the messageType
field of the PTPv2 packet whose values are defined in the Table 19 <xref target="IEEE.1588.2008"/>.
</t>
<t>The 10 octets long Port ID field contains the identity of the source port. </t>
<t>The Sequence ID is the sequence
ID of the PTP message carried in the Value field of the message. </t>
</list>
</t>
</section>
</section>
<section anchor="cp-operation-theory" title="Control Plane Theory of Operation">
<t>
The operation of RTM depends upon TTL expiry to deliver an RTM packet from one RTM capable interface to the next
along the path from ingress node to egress node. This means that a node with RTM capable interfaces MUST be able to
compute a TTL which will cause the expiry of an RTM packet at the next node with RTM capable interfaces.
</t>
<!--
<t>
However, because of Equal Cost Multipath, labels distributed by LDP do not necessarily
instantiate a single path between a given ingress/egress
node pair but rather MAY create a graph in which different flows will take different
paths through this network. This means one doesn't necessarily know
the path that RTM packets will take or even if they all take the same path.
In an environment in which not all interfaces in
an IGP domain support RTM, it is effectively impossible to use TTL
expiry to deliver RTM packets. Hence RTM cannot be
used for LSPs instantiated using LDP, if multi-pathing is in use and not all nodes are RTM-capable.
In the special but important case of environment in which all interfaces in an IGP
domain support RTM, setting the TTL to
1 will always cause the expiry of an RTM packet on the next RTM capable
downstream node and hence in such an environment,
RTM can be used for LSPs instantiated using LDP.
</t>
<t>Also, if it is possible and desirable, multi-path forwarding may be
disabled,at least for LSPs used for RTM.
</t>
-->
<section anchor="rtm-capability" title="RTM Capability">
<t>
Note that the RTM capability of a node is with respect to the pair of interfaces that will be used to
forward an RTM packet. In general, the ingress interface of this pair must be able to capture
the arrival time of the packet and encode it in some way such that this information will be
available to the egress interface.
</t>
<t>
The supported modes (1-step verses 2-step) of any pair of interfaces is then determined
by the capability of the egress interface. For both modes, the egress interface implementation
MUST be able to determine the precise departure time of the same packet and determine from
this, and the arrival time information from the corresponding ingress interface, the difference
representing the residence time for the packet.
</t>
<t>
An interface with the ability to do this and update the associated Scratch Pad in real-time
(i.e. while the packet is being forwarded) is said to be 1-step capable.
</t>
<t>
Hence while both ingress and egress interfaces are required to support RTM for the pair to
be RTM-capable, it is the egress interface that determines whether or not the node is 1-step
or 2-step capable with respect to the interface-pair.
</t>
<t>
The RTM capability used in the sub-TLV shown in <xref target="rtm-capab-sub-tlv"/> is thus associated with the egress
port of the node making the advertisement, while the ability of any pair of interfaces that includes
this egress interface to support any mode of RTM depends on the ability of that interface to record
packet arrival time in some way that can be conveyed to and used by that egress interface.
</t>
<t>
<!--
When an IGP is used to carry the above defined RTM capability sub-TLV, the implementation
MUST associate the advertisement with the interface that has the ability used to determine its
supported RTM capabilities, and MUST NOT propagate this sub-TLV via any interface that does
not have the associated ingress ability described in this section.
-->
When a node uses an IGP to carry the RTM capability sub-TLV, the sub-TLV MUST reflect the
RTM capability (1-step or 2-step) associated with egress interfaces.
</t>
</section>
<section anchor="rtm-capability-sub-tlv" title="RTM Capability Sub-TLV">
<t>
The format for the RTM Capabilities sub-TLV is presented in <xref target="rtm-capab-sub-tlv"/>
<figure align="left" anchor="rtm-capab-sub-tlv"
title="RTM Capability sub-TLV">
<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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RTM | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>
<list style="symbols">
<t>Type values TBA2 and TBA3 will be assigned by IANA from appropriate
registries for OSPFv2 and OSPFv3 respectively.</t>
<t>Length MUST be set to 4.</t>
<t>RTM (capability) - is a three-bit long bit-map field with values defined as follows:
<list style="symbols">
<t>0b001 - one-step RTM supported;</t>
<t>0b010 - two-step RTM supported;</t>
<t>0b100 - reserved.</t>
</list>
</t>
<t>Reserved field must be set to all zeroes on transmit and ignored on receipt.</t>
</list>
</t>
<t>
<xref target="RFC4202"/> explains that the Interface Switching Capability Descriptor
describes switching capability of an interface. For bi-directional links, the switching
capabilities of an interface are defined to be the same in either direction. I.e., for data
entering the node through that interface and for data leaving the node through that interface.
That principle SHOULD be applied when a node advertises RTM Capability.
</t>
<t>
A node that supports RTM MUST be able to act in two-step mode
and MAY also support one-step RTM mode.
Detailed discussion of one-step and two-step RTM modes in <xref target="one-two-step-modes"/>.
</t>
</section>
<section anchor="rtm-capability-ospfv2" title="RTM Capability Advertisement in OSPFv2">
<t>
The capability to support RTM on a particular link (interface) is
advertised in the OSPFv2 Extended Link Opaque LSA
described in Section 3 <xref target="RFC7684"/> via the
RTM Capability sub-TLV.
</t>
<t>
Its Type value will be assigned by IANA from the OSPF Extended
Link TLV Sub-TLVs registry that will be created per
<xref target="RFC7684"/> request.
</t>
</section>
<section anchor="rtm-capability-ospfv3" title="RTM Capability Advertisement in OSPFv3">
<t>
The capability to support RTM on a particular link (interface) is advertised
in the OSPFv3 be Intra-Area-Prefix TLV, IPv6 Link-Local Address TLV, or the
IPv4 Link-Local Address TLV described in <xref target="I-D.ietf-ospf-ospfv3-lsa-extend"/>
via the RTM Capability sub-TLV.
</t>
</section>
<section anchor="isis-rtm-ext" title="RTM Capability Advertisement in IS-IS">
<t>
The capability to support RTM on a particular link (interface) is advertised
in the GENINFO TLV described in <xref target="RFC6823"/> via the RTM Capability sub-TLV.
</t>
<t>
With respect to the Flags field of the GENINFO TLV:
<list style="symbols">
<t>The S bit MUST be cleared to prevent the RTM Capability sub-TLV from leaking between levels.</t>
<t>The D bit of the Flags field MUST be cleared as required by <xref target="RFC6823"/>.</t>
<t> The I bit and the V bit MUST be set accordingly depending on whether RTM capability being
advertised is for an IPv4 or an IPv6 interface.</t>
</list>
</t>
<t>
Application
ID (TBA4) will be assigned from the Application Identifiers for TLV 251
IANA registry. The RTM Capability
sub-TLV MUST be included in GENINFO TLV in Application
Specific Information.
</t>
</section>
<section anchor="rsvp-operation-RTM" title="RSVP-TE Control Plane Operation to Support RTM">
<t>
Throughout this document we refer to a node as RTM
capable node when at least one of its interfaces is RTM capable. <xref target="rtm-capability-figure"/>
provides an example of roles a node may have with respect to RTM capability:
</t>
<figure align="left" anchor="rtm-capability-figure"
title="RTM capable roles">
<artwork><![CDATA[
----- ----- ----- ----- ----- ----- -----
| A |-----| B |-----| C |-----| D |-----| E |-----| F |-----| G |
----- ----- ----- ----- ----- ----- -----
]]></artwork>
</figure>
<t>
<list style="symbols">
<t>A is a Boundary Clock with its egress port in Master state. Node A transmits
IP encapsulated timing packets whose destination IP address is G.</t>
<t>B is the ingress LER for the MPLS LSP and is the first RTM capable node.
It creates RTM packets and in each it places
a timing packet, possibly encrypted, in the Value field and initializes the
Scratch Pad field with its residence time measurement</t>
<t>C is a transit node that is not RTM capable. It forwards RTM packets without modification.</t>
<t>D is RTM capable transit node. It updates the Scratch Pad filed of the RTM packet without updating
of the timing packet.</t>
<t>E is a transit node that is not RTM capable. It forwards RTM packets without modification.</t>
<t>F is the egress LER and the last RTM capable node. It processes the timing packet carried in the Value field
using the value in the Scratch Pad field. It updates the Correction field of the PTP
message with the value in the Scratch Pad field of the RTM ACH, and
removes the RTM ACH encapsulation.</t>
<t>G is a Boundary Clock with its ingress port in Slave state. Node G receives PTP messages.
</t>
</list>
</t>
<t>
An ingress node that is configured to perform RTM along a path through an MPLS network
to an egress node verifies that
the selected egress node has an interface that supports RTM via the egress node's
advertisement of the RTM
Capability sub-TLV. In the Path
message that the ingress node uses to instantiate the LSP to that egress node
it places LSP_ATTRIBUTES Object <xref target="RFC5420"/> with RTM_SET
Attribute Flag set <xref target="iana-rtm-set-flag"/>
which indicates to the egress node that RTM is
requested for this LSP.
RTM_SET Attribute Flag SHOULD NOT be set in
the LSP_REQUIRED_ATTRIBUTES object <xref target="RFC5420"/>
,
unless it is known that all nodes support RTM,
because a node that does not recognize RTM_SET Attribute Flag would reject the Path message.
</t>
<t>
If egress node receives Path message with RTM_SET Attribute Flag in LSP_ATTRIBUTES object,
it MUST include initialized
RRO <xref target="RFC3209"/> and LSP_ATTRIBUTES object where RTM_SET Attribute Flag is set and
RTM_SET TLV <xref target="rtm-set-tlv"/> is initialized. When Resv message received by ingress node the RTM_SET TLV
will contain an ordered list, from egress
node to ingress node, of the RTM capable node along the LSP's path.
<!--It will also insert its ID at the beginning of the RTM_SET TLV before forwarding the Resv message upstream.
-->
</t>
<t>
After the ingress node receives the Resv, it MAY begin sending RTM packets on the
LSP's path. Each RTM packet has its Scratch Pad field initialized and its TTL set to expire on the
closest downstream RTM capable node.
</t>
<t>
It should be noted that RTM can also be used for LSPs instantiated using <xref target="RFC3209"/>
in an environment in which all interfaces in an IGP support RTM. In this case the RTM_SET TLV
and LSP_ATTRIBUTES Object
MAY be omitted.
</t>
</section>
<section anchor="rtm-set-tlv" title="RTM_SET TLV">
<t>
RTM capable interfaces can be recorded via RTM_SET TLV.
The RTM_SET sub-object format is of generic Type, Length, Value (TLV),
presented in <xref target="RTM_SET-figure"/>
.
<figure align="left" anchor="RTM_SET-figure"
title="RTM_SET 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Value ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>
Type value (TBA5) will be assigned by IANA from its Attributes TLV Space sub-registry.
</t>
<t>
The Length contains the total length of the sub-object in bytes, including the Type and Length fields.
</t>
<t>
Reserved field must be zeroed on initiation and ignored on receipt.
</t>
<t>
The content of an RTM_SET TLV is a series of
variable-length sub-TLVs.
Only a single RTM_SET can be present in the LSP_ATTRIBUTES object.
The sub-TLVs
are defined in <xref target="RTM_SET-sub-TLVs"/> below.
</t>
<t>
The following processing procedures apply to every RTM capable node along the LSP that in this paragraph
is referred as node for sake of brevity. Each
node MUST examine Resv message whether RTM_SET Attribute Flag in the LSP_ATTRIBUTES object is set.
If the RTM_SET flag set, the node MUST inspect the LSP_ATTRIBUTES object for presence of RTM_SET TLV.
If more than one found, then the LSP setup MUST fail with generation
of the PathErr message with Error Code Duplicate TLV <xref target="iana-error-code"/> and Error Value
that contains Type value in its 8 least significant bits.
If none RTM_SET TLV is found,
then the LSP setup MUST fail with generation
of the PathErr message with Error Code RTM_SET TLV Absent <xref target="iana-error-code"/>.
If one is found the node will use the ID of the first node in the RTM_SET in conjunction with the RRO
to compute the hop count to its downstream node with reachable RTM capable interface. If the node cannot find matching
ID in RRO, then it MUST try to use ID of the next node in the RTM_SET until it finds the match or reaches the end of RTM_SET TLV.
If match have been found, then the calculated value is used by the node as TTL value in outgoing label to reach the next RTM capable node
on the LSP. Otherwise, the TTL value MUST be set to 255.
The node MUST add RTM_SET sub-TLV with the same address it used in RRO sub-object
at the beginning of the RTM_SET TLV in associated outgoing Resv message before forwarding it upstream.
<!-- If an LSP_ATTRIBUTES
contains multiple RTM_SET TLVs, only the first RTM_SET is
meaningful. Subsequent RTM_SET TLVs SHOULD be ignored and SHOULD NOT be
propagated. Similarly, if in a Resv message multiple RTM_SET TLVs are
encountered following a FILTER_SPEC before another FILTER_SPEC is
encountered, only the first RTM_SET TLV is meaningful. Subsequent RTM_SET TLVs
SHOULD be ignored and SHOULD NOT be propagated.
-->
</t>
<section anchor="RTM_SET-sub-TLVs" title="RTM_SET Sub-TLVs">
<t>
The RTM Set sub-object contains an ordered list, from egress node to
ingress node, of the RTM capable nodes along the LSP's path.
</t>
<t>
The contents of a RTM_SET sub-object are a series of variable-length
sub-TLVs. Each sub-TLV has its own Length
field. The Length contains the total length of the sub-TLV in
bytes, including the Type and Length fields. The Length MUST always
be a multiple of 4, and at least 8 (smallest IPv4 sub-object).
</t>
<t>
Sub-TLVs are organized as a last-in-first-out stack. The first
-out
sub-TLV relative to the beginning of RTM_SET TLV is considered the top.
The last-out sub-TLV is considered the bottom. When a new sub-TLV is
added, it is always added to the top.
Only a single RTM_SET sub-TLV with the given
Value field MUST be present in the RTM_SET TLV. If more than one sub-TLV is found
the LSP setup MUST fail with the generation of a PathErr message with the Error Code
"Duplicate sub-TLV" <xref target="iana-error-code"/> and Error Value contains
16-bit value composed of (Type of TLV, Type of sub-TLV).
</t>
<t>
Three kinds of sub-TLVs for RTM_SET are currently defined.
</t>
<section anchor="ipv4-sub-object" title="IPv4 Sub-TLV">
<t>
<figure align="left" anchor="ipv4-sub-figure"
title="IPv4 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>
Type
</t>
<t><list><t>
0x01 IPv4 address
</t></list></t>
<t>
Length
</t>
<t><list><t>
The Length contains the total length of the sub-TLV in bytes,
including the Type and Length fields. The Length is always 8.
</t></list></t>
<t>
IPv4 address
</t>
<t><list><t>
A 32-bit unicast host address.
</t></list></t>
<t>
Reserved
</t>
<t><list><t>
Zeroed on initiation and ignored on receipt.
</t></list></t>
<t>
</t>
</section>
<section anchor="ipv6-sub-TLV" title="IPv6 Sub-TLV">
<t>
<figure align="left" anchor="ipv6-sub-figure"
title="IPv6 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| IPv6 address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>
Type
</t>
<t><list><t>
0x02 IPv6 address
</t></list></t>
<t>
Length
</t>
<t><list><t>
The Length contains the total length of the sub-TLV in bytes,
including the Type and Length fields. The Length is always 20.
</t></list></t>
<t>
IPv6 address
</t>
<t><list><t>
A 128-bit unicast host address.
</t></list></t>
<t>
Reserved
</t>
<t><list><t>
Zeroed on initiation and ignored on receipt.
</t></list></t>
</section>
<section anchor="unnum-sub-TLV" title="Unnumbered Interface Sub-TLV">
<t>
<figure align="left" anchor="unnum-sub-figure"
title="IPv4 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Node ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>
Type
</t>
<t><list><t>
0x03 Unnumbered interface
</t></list></t>
<t>
Length
</t>
<t><list><t>
The Length contains the total length of the sub-TLV in bytes,
including the Type and Length fields. The Length is always 12.
</t></list></t>
<t>
Node ID
</t>
<t><list><t>
The Node ID interpreted as Router ID as discussed in the Section 2 <xref target="RFC3477"/>.
</t></list></t>
<t>
Interface ID
</t>
<t><list><t>
The identifier assigned to the link by the node specified by the Node ID.
</t></list></t>
<t>
Reserved
</t>
<t><list><t>
Zeroed on initiation and ignored on receipt.
</t></list></t>
</section>
</section>
</section>
</section>
<section anchor="dp-operation-theory" title="Data Plane Theory of Operation">
<t>
After instantiating an LSP for a path using RSVP-TE <xref target="RFC3209"/> as described in <xref target="rsvp-operation-RTM"/>
or as described in the second paragraph of <xref target="cp-operation-theory"/> and in <xref target="rsvp-operation-RTM"/>,
ingress node MAY begin sending RTM packets to the first downstream
RTM capable node on that path. Each RTM packet has its Scratch Pad field initialized
and its TTL set to expire on the next downstream RTM-capable node.
Each RTM-capable node on the explicit path receives an RTM packet and
records the time at which it receives that packet at its ingress interface as well
as the time
at which it transmits that packet from its egress interface; this should be done as close to the physical
layer as possible to ensure precise accuracy in time determination.
The RTM-capable node determines the difference between those two
times; for 1-step operation, this difference is determined just prior to or while sending the packet,
and the RTM-capable egress interface adds it to the value in
the Scratch Pad field of the message
in progress. Note, for the purpose
of calculating a residence time, a common free running clock
synchronizing all the involved interfaces may be sufficient,
as, for example, 4.6 ppm accuracy leads to 4.6 nanosecond error for residence time
on the order of 1 millisecond.
</t>
<t>
For 2-step operation, the difference between packet arrival time (at an ingress interface)
and subsequent departure time (from an egress interface) is determined at some later
time prior to sending a subsequent follow-up message, so that this value can be used
to update the correctionField in the follow-up message.
</t>
<t>
See <xref target="one-two-step-modes"/> for further details on the difference between 1-step and 2-step operation.
</t>
<!-- <t>
The RTM capable node also sets the RTM packet's TTL to expire on the
next downstream RTM capable node. </t>
<t>-->
<t>
The last RTM-capable node on the LSP MAY then use the value in the Scratch Pad field to perform time correction,
if there is no follow-up message.
For example, the egress node
may be a PTP Boundary Clock synchronized to a Master Clock and
will use the value in the Scratch Pad field to update PTP's correctionField.
</t>
<!--
<t>
The above description is directly applicable to the case of one-step clock modes. In case of two-step clock modes
there are some differences, see <xref target="one-two-step-modes"/>).
</t>
-->
</section>
<section anchor="PTP-scenarios" title="Applicable PTP Scenarios">
<t>
The proposed approach can be directly integrated in a PTP network based
on the IEEE 1588 delay request-response mechanism. The RTM capable node nodes act
as end-to-end transparent clocks, and typically boundary clocks, at the edges of the
MPLS network, use the value in the Scratch Pad field to update the correctionField of
the corresponding PTP event
packet prior to performing the usual PTP processing.
</t>
<!--
<t>
Under certain assumptions the proposed solution in a network where peer delay mechanism is used is also possible.
The solution in this case requires the definition of a specific protocol to be used to calculate the link delays according to
a peer delay link measurement approach. This is not described in this version of the draft.
</t>
-->
</section>
<section anchor="one-two-step-modes" title="One-step Clock and Two-step Clock Modes">
<!--
<t>
One-step mode refers to no "follow_up" type message containing the residence time of an earlier event message.
Two-step mode indicates there is a further message containing the residence time of an earlier event message.
</t>
-->
<t>
One-step mode refers to the mode of operation where an egress interface updates the correctionField
value of an original event message. Two-step mode refers to the mode of operation where this update
is made in a subsequent follow-up message.
</t>
<t>
Processing of the follow-up message, if present, requires the downstream end-point to wait for the
arrival of the follow-up message in order to combine correctionField values from both the
original (event) message and the subsequent (follow-up) message. In a similar fashion,
each 2-step node needs to wait for the related follow-up message, if there is one, in order
to update that follow-up message (as opposed to creating a new one. Hence the first node
that uses 2-step mode MUST do two things:
<list style="numbers">
<t>
Mark the original event message to indicate that a follow-up message will be forthcoming (this is necessary in order to
<list style="latin">
<t>
Let any subsequent 2-step node know that there is already a follow-up message, and
</t>
<t>
Let the end-point know to wait for a follow-up message;
</t>
</list>
</t>
<t>
Create a follow-up message in which to put the RTM determined as an initial correctionField value.
</t>
</list>
</t>
<t>
IEEE 1588v2 <xref target="IEEE.1588.2008"/> defines this behavior for PTP messages.
</t>
<t>
Thus, for example, with reference to the PTP protocol, the PTPType field identifies whether the message is a
Sync message, Follow_up message, Delay_Req message, or Delay_Resp message. The 10 octet long Port ID field
contains the identity of the source port, that is, the specific PTP port of the boundary clock connected to the MPLS network.
The Sequence ID is the sequence ID of the PTP message carried in the Value field of the message.
</t>
<t>
PTP messages also include a bit that indicates whether or not a follow-up message will be coming.
This bit, once it is set by a 2-step mode device, MUST stay set accordingly until the original and
follow-up messages are combined by an end-point (such as a Boundary Clock).
</t>
<t>
Thus, an RTM packet, containing residence time information relating to an earlier packet, also contains
information identifying that earlier packet.
</t>
<t>
For compatibility with PTP, RTM (when used for PTP packets) must behave in a similar fashion.
To do this, a 2-step RTM capable egress interface will need to examine the S-bit in the Flags field
of the PTP sub-TLV (for RTM messages that indicate they are for PTP) and - if it is clear (set to zero),
it MUST set it and create a follow-up PTP Type RTM message. If the S bit is already set, then the
RTM capable node MUST wait for the RTM message with the PTP type of follow-up and matching
originator and sequence number to make the corresponding residence time update to the Scratch Pad field.
</t>
<t>
In practice an RTM operating according to two-step clock behaves like a two-steps transparent clock.
</t>
<t>
A 1-step capable RTM node MAY elect to operate in either 1-step mode (by making an update to
the Scratch Pad field of the RTM message containing the PTP even message), or in 2-step mode
(by making an update to the Scratch Pad of a follow-up message when its presence is indicated),
but MUST NOT do both.
</t>
<!--
<t>
In particular, with reference to PTP protocol, in case of a two-step RTM node, the PTP (event) packets are
still carried by RTM but without updating the Scratch Pad with the residence time of that packet. The related
residence time information is accumulated and carried in a subsequent RTM packet.
</t>
<t>
The use of two-step clock mode is communicated between RTM nodes via the Two-step clock flag and by
the message type (e.g. in case of sync messages, indicating the associated follow up message).
</t>
-->
<t>
Two main subcases can be identified for an RTM node operating as a two-step clock:
</t>
<t>
A)
If any of the previous RTM capable node or the previous PTP clock
(e.g. the BC connected to the first node), is a
two-step clock, the residence time is added to the RTM
packet that has been created to include the
associated PTP packet (i.e. follow-up message in the
downstream direction), if the local RTM-capable node is also operating
as a two-step clock. This RTM packet carries
the related accumulated residence time and the appropriate
values of the Sequence Id and Port Id (the
same identifiers carried in the packet processed) and the Two-step Flag set to 1.
</t>
<t>
Note that the fact that an upstream RTM-capable node operating in the two-step
mode has created a follow-up message does not require any subsequent RTM
capable node to also operate in the 2-step mode, as long as that RTM-capable node
forwards the follow-up message on the same LSP on which it forwards the
corresponding previous message.
</t>
<t>
A one-step capable RTM node MAY elect to update the RTM follow-up message
as if it were operating in two-step mode, however, it MUST NOT update both messages.
</t>
<t>
A PTP event packet (sync) is carried in the RTM packet in order for an RTM node to identify that
residence time measurement must be performed on that specific packet.
</t>
<t>
To handle the residence time of the Delay request message on the upstream direction, an RTM
packet must be created to carry the residence time on the associated downstream Delay Resp message.
</t>
<t>
The last RTM node of the MPLS network in addition to update the correctionField of the associated PTP
packet, must also properly handle the two-step flag of the PTP packets.
</t>
<t>
B) When the PTP network connected to the MPLS and RTM node, operates in one-step clock mode, the
associated RTM packet must be created by the RTM node itself. The associated RTM packet
including the PTP event packet needs now to
indicate that a
follow up message will be coming.
</t>
<t>
The last RTM node of the LSP, if it receives an RTM message with a PTP payload indicating
a follow-up message will be forthcoming, must generate a
follow-up message and properly set the two-step flag of the PTP packets.
</t>
</section>
<section anchor="iana-consider" title="IANA Considerations">
<section anchor="rtm-gach" title="New RTM G-ACh">
<t>
IANA is requested to reserve a new G-ACh as follows:
</t>
<texttable anchor="residence-time-table" title="New Residence Time Measurement">
<ttcol align='left'>Value</ttcol>
<ttcol align='center'>Description</ttcol>
<ttcol align='left'>Reference</ttcol>
<c>TBA1</c>
<c>Residence Time Measurement</c>
<c>This document</c>
</texttable>
</section>
<section anchor="rtm-tlv-registry" title="New RTM TLV Registry">
<t>
IANA is requested to create sub-registry in Generic Associated Channel (G-ACh) Parameters Registry
called "MPLS RTM TLV Registry". All code points in the range 0 through 127 in this registry shall be allocated
according to the "IETF Review" procedure as specified in <xref target="RFC5226"/>
.
Remaining code points are allocated according to the table below.
This document defines the following new values RTM TLV type
s:
</t>
<texttable anchor="rtm-tlv-table" title="RTM TLV Type">
<ttcol align='left'>Value</ttcol>
<ttcol align='center'>Description</ttcol>
<ttcol align='left'>Reference</ttcol>
<c>0</c>
<c>Reserved</c>
<c>This document</c>
<c>1</c>
<c>No payload</c>
<c>This document</c>
<c>2</c>
<c>PTPv2, Ethernet encapsulation</c>
<c>This document</c>
<c>3</c>
<c>PTPv2, IPv4 Encapsulation</c>
<c>This document</c>
<c>4</c>
<c>PTPv2, IPv6 Encapsulation</c>
<c>This document</c>
<c>5</c>
<c>NTP</c>
<c>This document</c>
<c>6-127</c>
<c>Reserved</c>
<c>IETF Consensus</c>
<c>128 - 191</c>
<c>Reserved</c>
<c>First Come First Served</c>
<c>192 - 255</c>
<c>Reserved</c>
<c>Private Use</c>
</texttable>
</section>
<section anchor="rtm-su-tlv-registry" title="New RTM Sub-TLV Registry">
<t>
IANA is requested to create sub-registry in MPLS RTM TLV Registry, requested in <xref target="rtm-tlv-registry"/>,
called "MPLS RTM Sub-TLV Registry". All code points in the range 0 through 127 in this registry shall be allocated
according to the "IETF Review" procedure as specified in <xref target="RFC5226"/>
.
Remaining code points are allocated according to the table below.
This document defines the following new values RTM sub-TLV types:
</t>
<texttable anchor="rtm-sub-tlv-table" title="RTM Sub-TLV Type">
<ttcol align='left'>Value</ttcol>
<ttcol align='center'>Description</ttcol>
<ttcol align='left'>Reference</ttcol>
<c>0</c>
<c>Reserved</c>
<c>This document</c>
<c>1</c>
<c>PTP 2-step</c>
<c>This document</c>
<c>2-127</c>
<c>Reserved</c>
<c>IETF Consensus</c>
<c>128 - 191</c>
<c>Reserved</c>
<c>First Come First Served</c>
<c>192 - 255</c>
<c>Reserved</c>
<c>Private Use</c>
</texttable>
</section>
<section anchor="iana-ospfv2-rtm-capability-sub-tlv" title="RTM Capability sub-TLV in OSPFv2">
<t>
IANA is requested to assign a new type for RTM Capability sub-TLV from OSPFv2 Extended Link TLV
Sub-TLVs registry as follows:
</t>
<texttable anchor="iana-ospfv2-rtm-cap-sub-tlv" title="RTM Capability sub-TLV">
<ttcol align='left'>Value</ttcol>
<ttcol align='center'>Description</ttcol>
<ttcol align='left'>Reference</ttcol>
<c>TBA2</c>
<c>RTM Capability</c>
<c>This document</c>
</texttable>
</section>
<section anchor="iana-ospfv3-rtm-capability-sub-tlv" title="RTM Capability sub-TLV in OSPFv3">
<t>
IANA is requested to assign a new type for RTM Capability sub-TLV from future OSPFv3 Extended-LSA
Sub-TLVs registry that would be part of OSPFv3 IANA registry as follows:
</t>
<texttable anchor="iana-ospfv3-rtm-cap-sub-tlv" title="RTM Capability sub-TLV">
<ttcol align='left'>Value</ttcol>
<ttcol align='center'>Description</ttcol>
<ttcol align='left'>Reference</ttcol>
<c>TBA3</c>
<c>RTM Capability</c>
<c>This document</c>
</texttable>
</section>
<section anchor="iana-isis-rtm-application-id" title="IS-IS RTM Application ID">
<t>
IANA is requested to assign a new Application ID for RTM from the Application Identifiers for TLV 251 registry as follows:
</t>
<texttable anchor="iana-rtm-app-id" title="IS-IS RTM Application ID">
<ttcol align='left'>Value</ttcol>
<ttcol align='center'>Description</ttcol>
<ttcol align='left'>Reference</ttcol>
<c>TBA4</c>
<c>RTM</c>
<c>This document</c>
</texttable>
</section>
<section anchor="iana-rtm-set-type" title="RTM_SET Sub-object RSVP Type and sub-TLVs">
<t>
IANA is requested to assign a new Type for RTM_SET sub-object from Attributes TLV Space sub-registry as follows:
</t>
<texttable anchor="iana-rtm-set-type-tbl" title="RTM_SET Sub-object Type">
<ttcol align='left'>Type </ttcol>
<ttcol align='center'> Name</ttcol>
<ttcol align='center'>Allowed on LSP_ATTRIBUTES </ttcol>
<ttcol align='center'>Allowed on LSP_REQUIRED_ATTRIBUTES </ttcol>
<ttcol align='center'>Allowed on LSP Hop Attributes </ttcol>
<ttcol align='left'>Reference </ttcol>
<c>TBA5 </c>
<c> RTM_SET sub-object</c>
<c>Yes</c>
<c>No</c>
<c>No</c>
<c>This document</c>
</texttable>
<t>
IANA requested to create new sub-registry for sub-TLV types of RTM_SET sub-object as follows:
</t>
<texttable anchor="iana-rtm-set-sub-type-tbl" title="RTM_SET object sub-object types">
<ttcol align='left'>Value</ttcol>
<ttcol align='center'>Description</ttcol>
<ttcol align='left'>Reference</ttcol>
<c>0</c>
<c>Reserved</c>
<c></c>
<c>1</c>
<c>IPv4 address</c>
<c>This document</c>
<c>2</c>
<c>IPv6 address</c>
<c>This document</c>
<c>3</c>
<c>Unnumbered interface</c>
<c>This document</c>
<c>4-127</c>
<c>Reserved</c>
<c>IETF Consensus</c>
<c>128 - 191</c>
<c>Reserved</c>
<c>First Come First Served</c>
<c>192 - 255</c>
<c>Reserved</c>
<c>Private Use</c>
</texttable>
</section>
<section anchor="iana-rtm-set-flag" title="RTM_SET Attribute Flag">
<t>
IANA is requested to assign new flag from Attribute Flags registry
</t>
<texttable anchor="iana-rtm-set-flag-table" title="RTM_SET Attribute Flag">
<ttcol align='left'>Bit No</ttcol>
<ttcol align='center'>Name</ttcol>
<ttcol align='center'>Attribute Flags Path</ttcol>
<ttcol align='center'>Attribute Flags Resv</ttcol>
<ttcol align='center'>RRO</ttcol>
<ttcol align='center'>ERO</ttcol>
<ttcol align='left'>Reference</ttcol>
<c> TBA6</c>
<c> RTM_SET</c>
<c>Yes</c>
<c>Yes</c>
<c>No</c>
<c>No</c>
<c>This document</c>
</texttable>
</section>
<section anchor="iana-error-code" title="New Error Codes">
<t>
IANA is requested to assign new Error Codes from Error Codes and Globally-Defined Error Value Sub-Codes registry
</t>
<texttable anchor="iana-error-code-table" title="New Error Codes">
<ttcol align='left'>Error Code</ttcol>
<ttcol align='center'>Meaning</ttcol>
<ttcol align='left'>Reference</ttcol>
<c>TBA7</c>
<c>Duplicate TLV</c>
<c>This document</c>
<c>TBA8</c>
<c>Duplicate sub-TLV</c>
<c>This document</c>
<c>TBA9</c>
<c>RTM_SET TLV Absent</c>
<c>This document</c>
</texttable>
</section>
</section>
<section anchor="security" title="Security Considerations">
<t>
Routers that support Residence Time Measurement are subject to the same security considerations as defined in
<xref target="RFC5586"/> <!-- and <xref target="RFC6423"/> -->.
</t>
<t>
In addition - particularly as applied to use related to PTP - there is a presumed trust model that
depends on the existence of a trusted relationship of at least all PTP-aware nodes on the path
traversed by PTP messages. This is necessary as these nodes are expected to correctly modify
specific content of the data in PTP messages and proper operation of the protocol depends on this ability.
</t>
<t>
As a result, the content of the PTP-related data in RTM messages that will be modified by intermediate
nodes cannot be authenticated, and the additional information that must be accessible for proper
operation of PTP 1-step and 2-step modes MUST be accessible to intermediate nodes (i.e. - MUST NOT
be encrypted in a manner that makes this data inaccessible).
</t>
<t>
While it is possible for a supposed compromised node to intercept and modify the G-ACh content,
this is an issue that exists for nodes in general - for any and all data that may be carried over an LSP - and
is therefore the basis for an additional presumed trust model associated with existing LSPs and nodes.
</t>
<t>
The ability for potentially authenticating and/or encrypting RTM and PTP data that is not needed by
intermediate RTM/PTP-capable nodes is for further study.
</t>
<t>
Security requirements of time protocols are provided in RFC 7384 <xref target="RFC7384"/>.
</t>
</section>
<section title="Acknowledgements">
<t>
Authors want to thank Loa Andersson, Lou Berger and Acee Lindem for their thorough reviews, thoughtful comments
and, most of, patience.
</t>
</section>
</middle>
<back>
<references title="Normative References">
&RFC2119;
&RFC5905;
&RFC5586;
&RFC5085;
&RFC4385;
&RFC6423;
&RFC3209;
&RFC6823;
&RFC3477;
&RFC7684;
&RFC5420;
&I-D.ietf-ospf-ospfv3-lsa-extend;
<reference anchor="IEEE.1588.2008">
<front>
<title>Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</title>
<author>
<organization/>
</author>
<date month="March" year="2008"/>
</front>
<seriesInfo name="IEEE" value="Standard 1588"/>
</reference>
</references>
<references title="Informative References">
&RFC6374;
&RFC5226;
&RFC4655;
&RFC4202;
&RFC7384;
<?rfc include='reference.I-D.ietf-tictoc-1588overmpls'?>
<!--?rfc.include='reference.IANA'?-->
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-22 22:32:55 |