<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="info" docName="draft-mymb-sfc-nsh-allocation-timestamp-12" indexInclude="true" ipr="trust200902" number="9192" prepTime="2022-02-16T22:48:13" scripts="Common,Latin" sortRefs="true" submissionType="independent" symRefs="true" tocDepth="4" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-mymb-sfc-nsh-allocation-timestamp-12" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9192" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="NSH Timestamp">Network Service Header (NSH) Fixed-Length Context Header Allocation</title>
    <seriesInfo name="RFC" value="9192" stream="independent"/>
    <author fullname="Tal Mizrahi" initials="T." surname="Mizrahi">
      <organization abbrev="" showOnFrontPage="true">Huawei</organization>
      <address>
        <postal>
          <country>Israel</country>
        </postal>
        <email>tal.mizrahi.phd@gmail.com</email>
      </address>
    </author>
    <author fullname="Ilan Yerushalmi" initials="I." surname="Yerushalmi">
      <organization showOnFrontPage="true">Marvell</organization>
      <address>
        <postal>
          <street>6 Hamada</street>
          <city>Yokneam</city>
          <code>2066721</code>
          <country>Israel</country>
        </postal>
        <email>yilan@marvell.com</email>
      </address>
    </author>
    <author fullname="David Melman" initials="D." surname="Melman">
      <organization showOnFrontPage="true">Marvell</organization>
      <address>
        <postal>
          <street>6 Hamada</street>
          <city>Yokneam</city>
          <code>2066721</code>
          <country>Israel</country>
        </postal>
        <email>davidme@marvell.com</email>
      </address>
    </author>
    <author fullname="Rory Browne" initials="R." surname="Browne">
      <organization showOnFrontPage="true">Intel</organization>
      <address>
        <postal>
          <street>Dromore House</street>
          <city>Shannon</city>
          <region>Co. Clare</region>
          <country>Ireland</country>
        </postal>
        <email>rory.browne@intel.com</email>
      </address>
    </author>
    <date month="02" year="2022"/>
    <keyword>NSH</keyword>
    <keyword>Context Header</keyword>
    <keyword>timestamp</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">The Network Service Header (NSH) specification defines two possible
      methods of including metadata (MD): MD Type 0x1 and MD Type 0x2. MD Type
      0x1 uses a fixed-length Context Header. The allocation of this Context
      Header, i.e., its structure and semantics, has not been standardized.
      This memo defines the Timestamp Context Header, which is an 
      NSH fixed-length Context Header that incorporates the packet's 
      timestamp, a sequence number, and a source interface identifier.</t>
      <t indent="0" pn="section-abstract-2">Although the definition of the Context Header presented
      in this document has not been standardized by the IETF, it has been
      implemented in silicon by several manufacturers and is published
      here to facilitate interoperability.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for informational purposes.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This is a contribution to the RFC Series, independently of any
            other RFC stream.  The RFC Editor has chosen to publish this
            document at its discretion and makes no statement about its value
            for implementation or deployment.  Documents approved for
            publication by the RFC Editor are not candidates for any level of
            Internet Standard; see Section 2 of RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9192" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2022 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-abbreviations">Abbreviations</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-nsh-timestamp-context-heade">NSH Timestamp Context Header Allocation</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-timestamping-use-cases">Timestamping Use Cases</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-network-analytics">Network Analytics</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-alternate-marking">Alternate Marking</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-consistent-updates">Consistent Updates</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-synchronization-considerati">Synchronization Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">The Network Service Header (NSH), defined in <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/>, 
      is an encapsulation header that is used as the
      service encapsulation in the Service Function Chaining (SFC) architecture
      <xref target="RFC7665" format="default" sectionFormat="of" derivedContent="RFC7665"/>.</t>
      <t indent="0" pn="section-1-2">In order to share metadata (MD) along a service path, the NSH
      specification <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/> supports two methods: a
      fixed-length Context Header (MD Type 0x1) and a variable-length Context
      Header (MD Type 0x2). When using MD Type 0x1, the NSH includes 16 octets
      of Context Header fields.</t>
      <t indent="0" pn="section-1-3">The NSH specification <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/> has not defined the
      semantics of the 16-octet Context Header, nor does it specify how the Context Header is used by
      NSH-aware Service Functions (SFs), Service Function Forwarders (SFFs), and proxies. Several Context Header
      formats are defined in <xref target="NSH-TLV" format="default" sectionFormat="of" derivedContent="NSH-TLV"/>.
      Furthermore, some allocation schemes were proposed in the past to
      accommodate specific use cases, e.g., <xref target="NSH-DC-ALLOC" format="default" sectionFormat="of" derivedContent="NSH-DC-ALLOC"/>, 
      <xref target="I-D.ietf-sfc-nsh-broadband-allocation" format="default" sectionFormat="of" derivedContent="NSH-BROADBAND-ALLOC"/>, 
      and <xref target="RFC8592" format="default" sectionFormat="of" derivedContent="RFC8592"/>.</t>
      <t indent="0" pn="section-1-4">This memo presents an allocation for the MD Type 0x1 Context Header,
      which incorporates the timestamp of the packet, a sequence number, and a
      source interface identifier. Note that other allocation schema for MD Type 0x1
      might be specified in the future.  Although such schema are currently not being
      standardized by the SFC Working Group, a consistent format (allocation schema)
      should be used in an SFC-enabled domain in order to allow interoperability.</t>
      <t indent="0" pn="section-1-5">In a nutshell, packets that enter the SFC-enabled domain are
      timestamped by a classifier <xref target="RFC7665" format="default" sectionFormat="of" derivedContent="RFC7665"/>. Thus, the
      timestamp, sequence number, and source interface are incorporated in the
      NSH Context Header. As discussed in <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/>, if
      reclassification is used, it may result in an update to the NSH
      metadata. Specifically, when the Timestamp Context Header is used, a
      reclassifier may either leave it unchanged or update the three fields:
      Timestamp, Sequence Number, and Source Interface.</t>
      <t indent="0" pn="section-1-6">The Timestamp Context Header includes three fields that may be used
      for various purposes. The Timestamp field may be used for logging,
      troubleshooting, delay measurement, packet marking for performance
      monitoring, and timestamp-based policies. The source interface
      identifier indicates the interface through which the packet was received
      at the classifier. This identifier may specify a physical interface or a virtual
      interface. The sequence numbers can be used by SFs
      to detect out-of-order delivery or duplicate transmissions. Note that
      out-of-order and duplicate packet detection is possible when packets are
      received by the same SF but is not necessarily possible when there are
      multiple instances of the same SF and multiple packets are spread across
      different instances of the SF. The sequence number is maintained on a
      per-source-interface basis.</t>
      <t indent="0" pn="section-1-7">This document presents the Timestamp Context Header but does not
      specify the functionality of the SFs that receive the Context Header.
      Although a few possible use cases are described in this document, the SF
      behavior and application are outside the scope of this document.</t>
      <t indent="0" pn="section-1-8">Key Performance Indicator (KPI) stamping <xref target="RFC8592" format="default" sectionFormat="of" derivedContent="RFC8592"/> defines an NSH timestamping
      mechanism that uses the MD Type 0x2 format. This memo defines a
      compact MD Type 0x1 Context Header that does not require the packet to
      be extended beyond the NSH. Furthermore, the mechanisms described in  
      <xref target="RFC8592" format="default" sectionFormat="of" derivedContent="RFC8592"/> and this memo can be used in concert, as further
      discussed in <xref target="SecAnalytics" format="default" sectionFormat="of" derivedContent="Section 4.1"/>.</t>
      <t indent="0" pn="section-1-9">Although the definition of the Context Header presented
      in this document has not been standardized by the IETF, it has been
      implemented in silicon by several manufacturers and is published
      here to facilitate interoperability.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-2.1-1">The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
         "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>",
         "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>",
         "<bcp14>SHOULD NOT</bcp14>",
         "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
         "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document
         are to be interpreted as described in BCP 14
         <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only
         when, they appear in all capitals, as shown here.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.2">
        <name slugifiedName="name-abbreviations">Abbreviations</name>
        <t indent="0" pn="section-2.2-1">The following abbreviations are used in this document: </t>
        <dl newline="false" spacing="normal" indent="14" pn="section-2.2-2">
          <dt pn="section-2.2-2.1">KPI</dt>
          <dd pn="section-2.2-2.2">Key Performance Indicator <xref target="RFC8592" format="default" sectionFormat="of" derivedContent="RFC8592"/></dd>
          <dt pn="section-2.2-2.3">MD</dt>
          <dd pn="section-2.2-2.4">Metadata <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/></dd>
          <dt pn="section-2.2-2.5">NSH</dt>
          <dd pn="section-2.2-2.6">Network Service Header <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/></dd>
          <dt pn="section-2.2-2.7">SF</dt>
          <dd pn="section-2.2-2.8">Service Function <xref target="RFC7665" format="default" sectionFormat="of" derivedContent="RFC7665"/></dd>
          <dt pn="section-2.2-2.9">SFC</dt>
          <dd pn="section-2.2-2.10">Service Function Chaining <xref target="RFC7665" format="default" sectionFormat="of" derivedContent="RFC7665"/></dd>
          <dt pn="section-2.2-2.11">SFF</dt>
          <dd pn="section-2.2-2.12">Service Function Forwarder <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/></dd>
        </dl>
      </section>
    </section>
    <section anchor="allocation" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-nsh-timestamp-context-heade">NSH Timestamp Context Header Allocation</name>
      <t indent="0" pn="section-3-1">This memo defines the following fixed-length Context Header
      allocation, as presented in <xref target="AllocationFormat" format="default" sectionFormat="of" derivedContent="Figure 1"/>.</t>
      <figure anchor="AllocationFormat" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-nsh-timestamp-allocation">NSH Timestamp Allocation</name>
        <artwork align="left" name="" type="" alt="" pn="section-3-2.1">
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Sequence Number                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Source Interface                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Timestamp                           |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           </artwork>
      </figure>
      <t indent="0" pn="section-3-3">The NSH Timestamp allocation defined in this memo <bcp14>MUST</bcp14>
      include the following fields:</t>
      <dl spacing="normal" indent="3" newline="false" pn="section-3-4">
        <dt pn="section-3-4.1">Sequence Number:</dt>
        <dd pn="section-3-4.2">A 32-bit sequence number. The sequence number
          is maintained on a per-source-interface basis. Sequence numbers can
          be used by SFs to detect out-of-order delivery or duplicate
          transmissions. The classifier increments the sequence number by 1
          for each packet received through the source interface. This requires
          the classifier to maintain a per-source-interface counter. The
          sequence number is initialized to a random number on startup. After
          it reaches its maximal value (2<sup>32</sup>-1), the sequence number wraps
          around back to zero.</dd>
        <dt pn="section-3-4.3">Source Interface:</dt>
        <dd pn="section-3-4.4">A 32-bit source interface identifier that is
          assigned by the classifier. The combination of the source interface
          and the classifier identity is unique within the context of an
          SFC-enabled domain. Thus, in order for an SF to be able to use the
          source interface as a unique identifier, the identity of the
          classifier needs to be known for each packet. The source interface
          is unique in the context of the given classifier.</dd>
        <dt pn="section-3-4.5">Timestamp:</dt>
        <dd pn="section-3-4.6">A 64-bit field that specifies the time at
          which the packet was received by the classifier. Two possible
          timestamp formats can be used for this field: the two 64-bit
          recommended formats specified in <xref target="RFC8877" format="default" sectionFormat="of" derivedContent="RFC8877"/>. One of
          the formats is based on the timestamp format defined in <xref target="IEEE1588" format="default" sectionFormat="of" derivedContent="IEEE1588"/>, and
          the other is based on the format defined in <xref target="RFC5905" format="default" sectionFormat="of" derivedContent="RFC5905"/>.</dd>
      </dl>
      <t indent="0" pn="section-3-5">The NSH specification <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/> does not specify the
      possible coexistence of multiple MD Type 0x1 Context Header formats in a
      single SFC-enabled domain. It is assumed that the Timestamp Context
      Header will be deployed in an SFC-enabled domain that uniquely uses this
      Context Header format. Thus, operators <bcp14>SHOULD</bcp14> ensure that either a
      consistent Context Header format is used in the SFC-enabled domain or
      there is a clear policy that allows SFs to know the Context Header
      format of each packet. Specifically, operators are expected to ensure
      the consistent use of a timestamp format across the whole SFC-enabled
      domain.</t>
      <t indent="0" pn="section-3-6">The two timestamp formats that can be used in the Timestamp field
      are as follows:</t>
      <dl spacing="normal" indent="3" newline="false" pn="section-3-7">
        <dt pn="section-3-7.1">Truncated Timestamp Format <xref target="IEEE1588" format="default" sectionFormat="of" derivedContent="IEEE1588"/>:</dt>
        <dd pn="section-3-7.2">This format is specified in
          <xref target="RFC8877" sectionFormat="of" section="4.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8877#section-4.3" derivedContent="RFC8877"/>. For the reader's
          convenience, this format is illustrated in <xref target="TimestampFormat" format="default" sectionFormat="of" derivedContent="Figure 2"/>.</dd>
      </dl>
      <figure anchor="TimestampFormat" align="left" suppress-title="false" pn="figure-2">
        <name slugifiedName="name-truncated-timestamp-format-">Truncated Timestamp Format (IEEE 1588)</name>
        <artwork align="left" name="" type="" alt="" pn="section-3-8.1">
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            Seconds                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Nanoseconds                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           </artwork>
      </figure>
      <dl spacing="normal" indent="3" newline="false" pn="section-3-9">
        <dt pn="section-3-9.1">NTP 64-bit Timestamp Format <xref target="RFC5905" format="default" sectionFormat="of" derivedContent="RFC5905"/>:</dt>
        <dd pn="section-3-9.2">This format
          is specified in <xref target="RFC8877" sectionFormat="of" section="4.2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8877#section-4.2.1" derivedContent="RFC8877"/>.
          For the reader's convenience, this format is illustrated in 
          <xref target="NTPFormat" format="default" sectionFormat="of" derivedContent="Figure 3"/>.</dd>
      </dl>
      <figure anchor="NTPFormat" align="left" suppress-title="false" pn="figure-3">
        <name slugifiedName="name-ntp-64-bit-timestamp-format">NTP 64-Bit Timestamp Format (RFC 5905)</name>
        <artwork align="left" name="" type="" alt="" pn="section-3-10.1">
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            Seconds                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            Fraction                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           </artwork>
      </figure>
      <t indent="0" pn="section-3-11">Synchronization aspects of the timestamp format in the context of the
      NSH Timestamp allocation are discussed in <xref target="Sync" format="default" sectionFormat="of" derivedContent="Section 5"/>.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-timestamping-use-cases">Timestamping Use Cases</name>
      <section anchor="SecAnalytics" numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-network-analytics">Network Analytics</name>
        <t indent="0" pn="section-4.1-1">Per-packet timestamping enables coarse-grained monitoring of 
        network delays along the Service Function Chain. Once a potential
        problem or bottleneck is detected (for example, when the delay exceeds
        a certain policy), a highly granular monitoring mechanism can be
        triggered (for example, using the hop-by-hop measurement data defined in
        <xref target="RFC8592" format="default" sectionFormat="of" derivedContent="RFC8592"/> or <xref target="IOAM-DATA" format="default" sectionFormat="of" derivedContent="IOAM-DATA"/>),
        allowing analysis and localization of the problem.</t>
        <t indent="0" pn="section-4.1-2">Timestamping is also useful for logging, troubleshooting, and 
        flow analytics. It is often useful to maintain the timestamp of the
        first and last packet of the flow. Furthermore, traffic mirroring and
        sampling often require a timestamp to be attached to analyzed
        packets. Attaching the timestamp to the NSH provides an in-band common
        time reference that can be used for various network analytics
        applications.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-alternate-marking">Alternate Marking</name>
        <t indent="0" pn="section-4.2-1">A possible approach for passive performance monitoring is to use an
        Alternate-Marking Method <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321"/>. This method
        requires data packets to carry a field that marks (colors) the
        traffic, and enables passive measurement of packet loss, delay, and
        delay variation. The value of this marking field is periodically
        toggled between two values.</t>
        <t indent="0" pn="section-4.2-2">When the timestamp is incorporated in the NSH, it can intrinsically be
        used for Alternate Marking. For example, the least significant bit of
        the timestamp Seconds field can be used for this purpose, since the
        value of this bit is inherently toggled every second.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-consistent-updates">Consistent Updates</name>
        <t indent="0" pn="section-4.3-1">The timestamp can be used for making policy decisions, such as
        'Perform action A if timestamp&gt;=T_0'. This can be used for
        enforcing time-of-day policies or periodic policies in SFs.
        Furthermore, timestamp-based policies can be used for
        enforcing consistent network updates, as discussed in <xref target="DPT" format="default" sectionFormat="of" derivedContent="DPT"/>. It should be noted that, as in the case of Alternate
        Marking, this use case alone does not require a full 64-bit timestamp
        but could be implemented with a significantly smaller number of
        bits.</t>
      </section>
    </section>
    <section anchor="Sync" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-synchronization-considerati">Synchronization Considerations</name>
      <t indent="0" pn="section-5-1">Some of the applications that make use of the timestamp require the
      classifier and SFs to be synchronized to a common time reference -- for
      example, using the Network Time Protocol <xref target="RFC5905" format="default" sectionFormat="of" derivedContent="RFC5905"/> or the
      Precision Time Protocol <xref target="IEEE1588" format="default" sectionFormat="of" derivedContent="IEEE1588"/>. Although it is not a
      requirement to use a clock synchronization mechanism, it is expected
      that, depending on the applications that use the timestamp, such
      synchronization mechanisms will be used in most deployments that use the
      Timestamp allocation.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-6-1">This document has no IANA actions.</t>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-7-1">The security considerations for the NSH in general are discussed in <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/>. The NSH is typically run within a confined trust domain.
      However, if a trust domain is not enough to provide the operator with
      protection against the timestamp threats as described below, then the
      operator <bcp14>SHOULD</bcp14> use transport-level protection between SFC processing
      nodes as described in <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/>.</t>
      <t indent="0" pn="section-7-2">The security considerations of in-band timestamping in the context of the
      NSH are discussed in <xref target="RFC8592" format="default" sectionFormat="of" derivedContent="RFC8592"/>; this section is
      based on that discussion.</t>
      <t indent="0" pn="section-7-3">In-band timestamping, as defined in this document and <xref target="RFC8592" format="default" sectionFormat="of" derivedContent="RFC8592"/>, can be
      used as a means for network reconnaissance. By passively eavesdropping
      on timestamped traffic, an attacker can gather information about network
      delays and performance bottlenecks. An on-path attacker can
      maliciously modify timestamps in order to attack applications that use
      the timestamp values, such as performance-monitoring applications.</t>
      <t indent="0" pn="section-7-4">Since the timestamping mechanism relies on an underlying time
      synchronization protocol, by attacking the time protocol an attack can
      potentially compromise the integrity of the NSH Timestamp. A detailed
      discussion about the threats against time protocols and how to mitigate
      them is presented in <xref target="RFC7384" format="default" sectionFormat="of" derivedContent="RFC7384"/>.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-sfc-nsh-broadband-allocation" to="NSH-BROADBAND-ALLOC"/>
    <references pn="section-8">
      <name slugifiedName="name-references">References</name>
      <references pn="section-8.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC7665" target="https://www.rfc-editor.org/info/rfc7665" quoteTitle="true" derivedAnchor="RFC7665">
          <front>
            <title>Service Function Chaining (SFC) Architecture</title>
            <author initials="J." surname="Halpern" fullname="J. Halpern" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Pignataro" fullname="C. Pignataro" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="October"/>
            <abstract>
              <t indent="0">This document describes an architecture for the specification, creation, and ongoing maintenance of Service Function Chains (SFCs) in a network.  It includes architectural concepts, principles, and components used in the construction of composite services through deployment of SFCs, with a focus on those to be standardized in the IETF.  This document does not propose solutions, protocols, or extensions to existing protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7665"/>
          <seriesInfo name="DOI" value="10.17487/RFC7665"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8300" target="https://www.rfc-editor.org/info/rfc8300" quoteTitle="true" derivedAnchor="RFC8300">
          <front>
            <title>Network Service Header (NSH)</title>
            <author initials="P." surname="Quinn" fullname="P. Quinn" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="U." surname="Elzur" fullname="U. Elzur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Pignataro" fullname="C. Pignataro" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="January"/>
            <abstract>
              <t indent="0">This document describes a Network Service Header (NSH) imposed on packets or frames to realize Service Function Paths (SFPs).  The NSH also provides a mechanism for metadata exchange along the instantiated service paths.  The NSH is the Service Function Chaining (SFC) encapsulation required to support the SFC architecture (defined in RFC 7665).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8300"/>
          <seriesInfo name="DOI" value="10.17487/RFC8300"/>
        </reference>
        <reference anchor="RFC8877" target="https://www.rfc-editor.org/info/rfc8877" quoteTitle="true" derivedAnchor="RFC8877">
          <front>
            <title>Guidelines for Defining Packet Timestamps</title>
            <author initials="T." surname="Mizrahi" fullname="T. Mizrahi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Fabini" fullname="J. Fabini">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Morton" fullname="A. Morton">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="September"/>
            <abstract>
              <t indent="0">Various network protocols make use of binary-encoded timestamps that are incorporated in the protocol packet format, referred to as "packet timestamps" for short. This document specifies guidelines for defining packet timestamp formats in networking protocols at various layers. It also presents three recommended timestamp formats. The target audience of this document includes network protocol designers. It is expected that a new network protocol that requires a packet timestamp will, in most cases, use one of the recommended timestamp formats. If none of the recommended formats fits the protocol requirements, the new protocol specification should specify the format of the packet timestamp according to the guidelines in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8877"/>
          <seriesInfo name="DOI" value="10.17487/RFC8877"/>
        </reference>
      </references>
      <references pn="section-8.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="DPT" target="https://ieeexplore.ieee.org/document/7562197" quoteTitle="true" derivedAnchor="DPT">
          <front>
            <title>The Case for Data Plane Timestamping in SDN</title>
            <author initials="T" surname="Mizrahi" fullname="Tal Mizrahi"/>
            <author initials="Y" surname="Moses" fullname="Yoram Moses"/>
            <date year="2016"/>
          </front>
          <refcontent>IEEE INFOCOM Workshop on Software-Driven Flexible and Agile Networking (SWFAN)</refcontent>
          <seriesInfo name="DOI" value="10.1109/INFCOMW.2016.7562197"/>
        </reference>
        <reference anchor="IEEE1588" target="https://standards.ieee.org/standard/1588-2008.html" quoteTitle="true" derivedAnchor="IEEE1588">
          <front>
            <title>IEEE 1588-2008 - IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</title>
            <author>
              <organization showOnFrontPage="true">IEEE</organization>
            </author>
          </front>
          <seriesInfo name="DOI" value="10.1109/IEEESTD.2008.4579760"/>
        </reference>
        <reference anchor="IOAM-DATA" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-ippm-ioam-data-17" derivedAnchor="IOAM-DATA">
          <front>
            <title>Data Fields for In-situ OAM</title>
            <author initials="F" surname="Brockners" fullname="Frank Brockners" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Bhandari" fullname="Shwetha Bhandari" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T" surname="Mizrahi" fullname="Tal Mizrahi" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2021" month="December" day="13"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ippm-ioam-data-17"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-sfc-nsh-broadband-allocation" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-sfc-nsh-broadband-allocation-01" derivedAnchor="NSH-BROADBAND-ALLOC">
          <front>
            <title>NSH Context Header Allocation for Broadband</title>
            <author initials="J." surname="Napper" fullname="Jeffrey Napper">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author initials="S." surname="Kumar" fullname="Surendra Kumar">
              <organization showOnFrontPage="true">Individual Contributor</organization>
            </author>
            <author initials="P." surname="Muley" fullname="Praveen Muley">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author initials="W." surname="Hendericks" fullname="Wim Hendericks">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author initials="M." surname="Boucadair" fullname="Mohamed Boucadair">
              <organization showOnFrontPage="true">Orange</organization>
            </author>
            <date month="June" day="19" year="2018"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sfc-nsh-broadband-allocation-01"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="NSH-DC-ALLOC" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-sfc-nsh-dc-allocation-02" derivedAnchor="NSH-DC-ALLOC">
          <front>
            <title>Network Service Header (NSH) MD Type 1: Context Header Allocation (Data Center)</title>
            <author initials="J." surname="Guichard" fullname="Jim Guichard" role="editor">
      </author>
            <author initials="M." surname="Smith" fullname="Michael Smith">
      </author>
            <author initials="S." surname="Kumar" fullname="Surendra Kumar">
      </author>
            <author initials="S." surname="Majee" fullname="Sumandra Majee">
      </author>
            <author initials="T." surname="Mizrahi" fullname="Tal Mizrahi">
      </author>
            <date month="September" day="25" year="2018"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sfc-nsh-dc-allocation-02"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="NSH-TLV" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-sfc-nsh-tlv-13" derivedAnchor="NSH-TLV">
          <front>
            <title>Network Service Header Metadata Type 2 Variable-Length Context Headers</title>
            <author initials="Y." surname="Wei" fullname="Yuehua Wei" role="editor">
              <organization showOnFrontPage="true">ZTE Corporation</organization>
            </author>
            <author initials="U." surname="Elzur" fullname="Uri Elzur">
              <organization showOnFrontPage="true">Intel</organization>
            </author>
            <author initials="S." surname="Majee" fullname="Sumandra Majee">
              <organization showOnFrontPage="true">Individual contributor</organization>
            </author>
            <author initials="C." surname="Pignataro" fullname="Carlos Pignataro">
              <organization showOnFrontPage="true">Cisco</organization>
            </author>
            <author initials="D." surname="Eastlake" fullname="Donald E. Eastlake 3rd">
              <organization showOnFrontPage="true">Futurewei Technologies</organization>
            </author>
            <date month="January" day="26" year="2022"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sfc-nsh-tlv-13"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC5905" target="https://www.rfc-editor.org/info/rfc5905" quoteTitle="true" derivedAnchor="RFC5905">
          <front>
            <title>Network Time Protocol Version 4: Protocol and Algorithms Specification</title>
            <author initials="D." surname="Mills" fullname="D. Mills">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Martin" fullname="J. Martin" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Burbank" fullname="J. Burbank">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Kasch" fullname="W. Kasch">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="June"/>
            <abstract>
              <t indent="0">The Network Time Protocol (NTP) is widely used to synchronize computer clocks in the Internet.  This document describes NTP version 4 (NTPv4), which is backwards compatible with NTP version 3 (NTPv3), described in RFC 1305, as well as previous versions of the protocol. NTPv4 includes a modified protocol header to accommodate the Internet Protocol version 6 address family.  NTPv4 includes fundamental improvements in the mitigation and discipline algorithms that extend the potential accuracy to the tens of microseconds with modern workstations and fast LANs.  It includes a dynamic server discovery scheme, so that in many cases, specific server configuration is not required.  It corrects certain errors in the NTPv3 design and implementation and includes an optional extension mechanism.   [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5905"/>
          <seriesInfo name="DOI" value="10.17487/RFC5905"/>
        </reference>
        <reference anchor="RFC7384" target="https://www.rfc-editor.org/info/rfc7384" quoteTitle="true" derivedAnchor="RFC7384">
          <front>
            <title>Security Requirements of Time Protocols in Packet Switched Networks</title>
            <author initials="T." surname="Mizrahi" fullname="T. Mizrahi">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="October"/>
            <abstract>
              <t indent="0">As time and frequency distribution protocols are becoming increasingly common and widely deployed, concern about their exposure to various security threats is increasing.  This document defines a set of security requirements for time protocols, focusing on the Precision Time Protocol (PTP) and the Network Time Protocol (NTP). This document also discusses the security impacts of time protocol practices, the performance implications of external security practices on time protocols, and the dependencies between other security services and time synchronization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7384"/>
          <seriesInfo name="DOI" value="10.17487/RFC7384"/>
        </reference>
        <reference anchor="RFC8321" target="https://www.rfc-editor.org/info/rfc8321" quoteTitle="true" derivedAnchor="RFC8321">
          <front>
            <title>Alternate-Marking Method for Passive and Hybrid Performance Monitoring</title>
            <author initials="G." surname="Fioccola" fullname="G. Fioccola" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Capello" fullname="A. Capello">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Cociglio" fullname="M. Cociglio">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Castaldelli" fullname="L. Castaldelli">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Chen" fullname="M. Chen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Zheng" fullname="L. Zheng">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Mirsky" fullname="G. Mirsky">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Mizrahi" fullname="T. Mizrahi">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="January"/>
            <abstract>
              <t indent="0">This document describes a method to perform packet loss, delay, and jitter measurements on live traffic.  This method is based on an Alternate-Marking (coloring) technique.  A report is provided in order to explain an example and show the method applicability.  This technology can be applied in various situations, as detailed in this document, and could be considered Passive or Hybrid depending on the application.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8321"/>
          <seriesInfo name="DOI" value="10.17487/RFC8321"/>
        </reference>
        <reference anchor="RFC8592" target="https://www.rfc-editor.org/info/rfc8592" quoteTitle="true" derivedAnchor="RFC8592">
          <front>
            <title>Key Performance Indicator (KPI) Stamping for the Network Service Header (NSH)</title>
            <author initials="R." surname="Browne" fullname="R. Browne">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Chilikin" fullname="A. Chilikin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Mizrahi" fullname="T. Mizrahi">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="May"/>
            <abstract>
              <t indent="0">This document describes methods of carrying Key Performance Indicators (KPIs) using the Network Service Header (NSH).  These methods may be used, for example, to monitor latency and QoS marking to identify problems on some links or service functions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8592"/>
          <seriesInfo name="DOI" value="10.17487/RFC8592"/>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgments" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.a-1">The authors thank <contact fullname="Mohamed Boucadair"/> and <contact fullname="Greg Mirsky"/> for their thorough reviews and detailed comments.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Tal Mizrahi" initials="T." surname="Mizrahi">
        <organization abbrev="" showOnFrontPage="true">Huawei</organization>
        <address>
          <postal>
            <country>Israel</country>
          </postal>
          <email>tal.mizrahi.phd@gmail.com</email>
        </address>
      </author>
      <author fullname="Ilan Yerushalmi" initials="I." surname="Yerushalmi">
        <organization showOnFrontPage="true">Marvell</organization>
        <address>
          <postal>
            <street>6 Hamada</street>
            <city>Yokneam</city>
            <code>2066721</code>
            <country>Israel</country>
          </postal>
          <email>yilan@marvell.com</email>
        </address>
      </author>
      <author fullname="David Melman" initials="D." surname="Melman">
        <organization showOnFrontPage="true">Marvell</organization>
        <address>
          <postal>
            <street>6 Hamada</street>
            <city>Yokneam</city>
            <code>2066721</code>
            <country>Israel</country>
          </postal>
          <email>davidme@marvell.com</email>
        </address>
      </author>
      <author fullname="Rory Browne" initials="R." surname="Browne">
        <organization showOnFrontPage="true">Intel</organization>
        <address>
          <postal>
            <street>Dromore House</street>
            <city>Shannon</city>
            <region>Co. Clare</region>
            <country>Ireland</country>
          </postal>
          <email>rory.browne@intel.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
