<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.24 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-netconf-restconf-trace-ctx-headers-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="RESTCONF Trace Context Headers">RESTCONF Extension to Support Trace Context Headers</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-restconf-trace-ctx-headers-05"/>
    <author fullname="Roque Gagliano">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>Avenue des Uttins 5</street>
          <city>Rolle</city>
          <code>1180</code>
          <country>Switzerland</country>
        </postal>
        <email>rogaglia@cisco.com</email>
      </address>
    </author>
    <author fullname="Kristian Larsson">
      <organization>Deutsche Telekom AG</organization>
      <address>
        <email>kll@dev.terastrm.net</email>
      </address>
    </author>
    <author fullname="Jan Lindblad">
      <organization>Cisco Systems</organization>
      <address>
        <email>jlindbla@cisco.com</email>
      </address>
    </author>
    <date year="2024" month="March" day="03"/>
    <area>Operations and Management</area>
    <workgroup>NETCONF</workgroup>
    <keyword>telemetry</keyword>
    <keyword>distributed systems</keyword>
    <keyword>opentelemetry</keyword>
    <abstract>
      <?line 64?>

<t>This document defines an extension to the RESTCONF protocol in order to support Trace Context propagation as defined by the W3C.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://github.com/netconf-wg/restconf-trace-ctx-headers/blob/gh-pages/draft-ietf-netconf-restconf-trace-ctx-headers.txt"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-netconf-restconf-trace-ctx-headers/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        NETCONF Working Group mailing list (<eref target="mailto:netconf@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/netconf/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/netconf/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/https://github.com/netconf-wg/restconf-trace-ctx-headers"/>.</t>
    </note>
  </front>
  <middle>
    <?line 68?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Network automation and management systems commonly consist of multiple
sub-systems and, together with the network devices they manage, they effectively form a distributed system.  Distributed tracing is a methodology implemented by tracing tools to track, analyze and debug operations such as configuration transactions, across multiple distributed systems.</t>
      <t>The W3C has defined two HTTP headers (traceparent and tracestate) in <xref target="W3C-Trace-Context"/> for context propagation that are useful for distributed systems like the ones defined in section 4 of <xref target="RFC8309"/>.</t>
      <t>According to the W3C specification, each operation is uniquely identified by a "trace-id" field, and carries multiple metadata fields about the operation.  Propagating this Trace Context between systems provides a coherent view of the entire operation as carried out by all involved systems.</t>
      <t>In <xref target="I-D.draft-ietf-netconf-trace-ctx-extension"/>, the NETCONF protocol extension is defined and we will re-use several of the YANG and XML objects defined in that document for RESTCONF. Please refer to that document for additional context and example applications.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <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 BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="restconf-extensions">
      <name>RESTCONF Extensions</name>
      <t>A RESTCONF server that implements the Trace Context propagation mechanism defined in this document MUST support the Trace Context traceparent header as defined in <xref target="W3C-Trace-Context"/>.</t>
      <t>A RESTCONF server SHOULD support the Trace Context tracestate header as defined in <xref target="W3C-Trace-Context"/>.</t>
      <section anchor="error-handling">
        <name>Error Handling</name>
        <t>A RESTCONF server SHOULD follow the "Processing Model for Working with Trace Context" as specified in <xref target="W3C-Trace-Context"/>.  Based on this processing model, it is NOT RECOMMENDED to reject an RPC because of the Trace Context header values.</t>
        <t>If a server decides to reject an RPC because of the Trace Context header values, the server MUST return a RESTCONF rpc-error with the following values:</t>
        <artwork><![CDATA[
  error-tag:      operation-failed
  error-type:     protocol
  error-severity: error
]]></artwork>
        <t>Additionally, the error-info tag SHOULD contain a relevant details about the error.</t>
        <t>Finally, the sx:structure defined in <xref target="I-D.draft-ietf-netconf-trace-ctx-extension"/> SHOULD be present in any error message from the server.</t>
      </section>
      <section anchor="trace-context-header-versioning">
        <name>Trace Context Header Versioning</name>
        <t>The RESTCONF protocol extension described in this document refers to the <xref target="W3C-Trace-Context"/> Trace Context capability. The W3C traceparent and tracestate headers include the notion of versions. It would be desirable for a RESTCONF client to be able to discover the one or multiple versions of these headers supported by a server.</t>
        <t><xref target="I-D.draft-ietf-netconf-trace-ctx-extension"/> defines a pair YANG modules that SHOULD be included in the YANG library per <xref target="RFC8525"/> of the RESTCONF server supporting the RESTCONF Trace Context extension that will refer to the headers' supported versions. Future updates of this document could include additional YANG modules for new headers' versions.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The related document <xref target="I-D.draft-ietf-netconf-trace-ctx-extension"/> defines two YANG modules that are used when implementing the Trace Context concept, regardless of YANG-based protocol.  These modules are completely empty, and therefore have very limited security considerations. Their purpose is only to indicate which Trace Context header versions the server supports using YANG Library <xref target="RFC8525"/>.</t>
      <t>The traceparent and tracestate headers make it easier to track and correlate the flow of requests and their downstream effect on other systems.  This is indeed the whole point with these headers.  This knowledge may be used by unauthorized entities to infer a map of a managed network.</t>
      <t>All advice mentioned in the <xref target="W3C-Trace-Context"/> under the Privacy Considerations and Security Considerations also apply to this document.</t>
      <t>The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS <xref target="RFC8446"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to acknowledge the valuable implementation feedback from Christian Rennerskog and Per Andersson.  Many thanks to Raul Rivas Felix, Alexander Stoklasa, Luca Relandini and Erwin Vrolijk for their help with the demos regarding integrations.  The help and support from Med Boucadair, Jean Quilbeuf and Benoît Claise has also been invaluable to this work.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>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="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>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="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8525">
          <front>
            <title>YANG Library</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This document describes a YANG library that provides information about the YANG modules, datastores, and datastore schemas used by a network management server. Simple caching mechanisms are provided to allow clients to minimize retrieval of this information. This version of the YANG library supports the Network Management Datastore Architecture (NMDA) by listing all datastores supported by a network management server and the schema that is used by each of these datastores.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8525"/>
          <seriesInfo name="DOI" value="10.17487/RFC8525"/>
        </reference>
        <reference anchor="I-D.draft-ietf-netconf-trace-ctx-extension">
          <front>
            <title>NETCONF Extension to support Trace Context propagation</title>
            <author fullname="Roque Gagliano" initials="R." surname="Gagliano">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Kristian Larsson" initials="K." surname="Larsson">
              <organization>Deutsche Telekom AG</organization>
            </author>
            <author fullname="Jan Lindblad" initials="J." surname="Lindblad">
              <organization>Cisco Systems</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>   This document defines how to propagate trace context information
   across the Network Configuration Protocol (NETCONF), that enables
   distributed tracing scenarios.  It is an adaption of the HTTP-based
   W3C specification.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-trace-ctx-extension-04"/>
        </reference>
        <reference anchor="W3C-Trace-Context" target="https://www.w3.org/TR/2021/REC-trace-context-1-20211123/">
          <front>
            <title>W3C Recommendation on Trace Context</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="November" day="23"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8309">
          <front>
            <title>Service Models Explained</title>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="W. Liu" initials="W." surname="Liu"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>The IETF has produced many modules in the YANG modeling language. The majority of these modules are used to construct data models to model devices or monolithic functions.</t>
              <t>A small number of YANG modules have been defined to model services (for example, the Layer 3 Virtual Private Network Service Model (L3SM) produced by the L3SM working group and documented in RFC 8049).</t>
              <t>This document describes service models as used within the IETF and also shows where a service model might fit into a software-defined networking architecture. Note that service models do not make any assumption of how a service is actually engineered and delivered for a customer; details of how network protocols and devices are engineered to deliver a service are captured in other modules that are not exposed through the interface between the customer and the provider.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8309"/>
          <seriesInfo name="DOI" value="10.17487/RFC8309"/>
        </reference>
      </references>
    </references>
    <?line 129?>

<section anchor="example-restconf-calls">
      <name>Example RESTCONF Calls</name>
      <t>All examples from Appendix B of <xref target="RFC8040"/> could be recreated in this section by adding the new header described in this document. We selected one example from that document as reference.</t>
      <section anchor="successful-creation-of-new-data-resources-from-appendix-b21-of-rfc8040">
        <name>Successful creation of New Data Resources (from Appendix B.2.1 of <xref target="RFC8040"/>)</name>
        <t>To create a new "artist" resource within the "library" resource, a client might send the following request:</t>
        <artwork><![CDATA[
  POST /restconf/data/example-jukebox:jukebox/library HTTP/1.1
  Host: example.com
  Content-Type: application/yang-data+json
  traceparent: 00-405062f633be64ee006089dfca95a153-e021f9e263aad8e2-01
  tracestate: vendorname1=opaqueValue1,vendorname2=opaqueValue2

  {
    "example-jukebox:artist" : [
      {
        "name" : "Foo Fighters"
      }
    ]
  }
]]></artwork>
        <t>If the resource is created, the server might respond as follows:</t>
        <artwork><![CDATA[
  HTTP/1.1 201 Created
  Date: Thu, 26 Jan 2017 20:56:30 GMT
  Server: example-server
  Location: https://example.com/restconf/data/\
      example-jukebox:jukebox/library/artist=Foo%20Fighters
  Last-Modified: Thu, 26 Jan 2017 20:56:30 GMT
  ETag: "b3830f23a4c"
  traceparent: 00-405062f633be64ee006089dfca95a153-e021f9e263aad8e2-01
  tracestate: vendorname1=opaqueValue1,vendorname2=opaqueValue2
]]></artwork>
      </section>
      <section anchor="unsuccessful-creation-of-new-data-resources-from-appendix-b21-of-rfc8040">
        <name>Unsuccessful creation of New Data Resources (from Appendix B.2.1 of <xref target="RFC8040"/>)</name>
        <t><xref target="W3C-Trace-Context"/> specifies that a vendor may validate the tracestate header and that invalid headers may be discarded. Section 2.1 on <xref target="error-handling">Error handling</xref>, states that servers may return an error. Let's assume that an implementation follows that behavior.</t>
        <t>Example of a badly formated tracestate header using <xref target="RFC8040"/> example (Appendix B.2.1), in which a server receives the following:</t>
        <artwork><![CDATA[
  POST /restconf/data/example-jukebox:jukebox/library HTTP/1.1
  Host: example.com
  Content-Type: application/yang-data+json
  traceparent: 00-405062f633be64ee006089dfca95a153-e021f9e263aad8e2-01
  tracestate: SomeBadFormatHere

  {
    "example-jukebox:artist" : [
      {
        "name" : "Foo Fighters"
      }
    ]
  }
]]></artwork>
        <t>To which the server responds with an error message:</t>
        <artwork><![CDATA[
 HTTP/1.1 400 Bad Request
 Date: Thu, 20 Jun 2024 20:56:30 GMT
 Server: example-server
 Content-Type: application/yang-data+json

 { "ietf-restconf:errors" : {
     "error" : [
        {
          "error-type" : "protocol",
          "error-tag" : "operation-failed",
          "error-severity" : "error",
          "error-message" :
          "Context traceparent header incorrectly formatted",
          "error-info": {
            "ietf-trace-context:trace-context-error-info" : {
              "ietf-trace-context:meta-name" : "tracestate",
              "ietf-trace-context:meta-value" :
              "SomeBadFormatHere",
              "ietf-trace-context:error-type" :
              "ietf-trace-context:bad-format"
            }
          }
        }
     ]
   }
 }
]]></artwork>
      </section>
    </section>
    <section anchor="changes-to-be-deleted-by-rfc-editor">
      <name>Changes (to be deleted by RFC Editor)</name>
      <section anchor="from-version-04-to-05">
        <name>From version 04 to 05</name>
        <ul spacing="normal">
          <li>
            <t>Removed unused references and terminology</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-03-to-04">
        <name>From version 03 to 04</name>
        <ul spacing="normal">
          <li>
            <t>Abbreviation change</t>
          </li>
          <li>
            <t>"ietf-trace-contex:trace-context-error-info" should have been a container in example</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-02-to-03">
        <name>From version 02 to 03</name>
        <ul spacing="normal">
          <li>
            <t>Added abbreviations to terminology</t>
          </li>
          <li>
            <t>error messages are SHOULD to align with W3C handling.</t>
          </li>
          <li>
            <t>Addapted example to YANG module changes in reference.</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-01-to-02">
        <name>From version 01 to 02</name>
        <ul spacing="normal">
          <li>
            <t>Added WGLC comments</t>
          </li>
          <li>
            <t>Changed namespaces and module name</t>
          </li>
          <li>
            <t>Fix error in error response</t>
          </li>
          <li>
            <t>Comments from Med Boucadair</t>
          </li>
          <li>
            <t>Removed markdown formatting of tracestate and traceparent, as toolchain could not handle this properly</t>
          </li>
          <li>
            <t>Removed references to RFC8341 (NACM) as the passage in the security considerations no longer need it</t>
          </li>
          <li>
            <t>Rearranged text in introduction to include referenes in a more natural order</t>
          </li>
          <li>
            <t>Removed several references to "we" and replaced with more neutral language</t>
          </li>
          <li>
            <t>Clarified that everything described as MUST requirements in this document only apply to RESTCONF implementations that implement this document. Other RESTCONF implementations do not need to care about this document, it's an optional extension</t>
          </li>
          <li>
            <t>Clarified that the YANG modules used by this document is defined by the sibling document for NETCONF</t>
          </li>
          <li>
            <t>Lots of updated wording based on review feedback</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-00-to-01">
        <name>From version 00 to -01</name>
        <ul spacing="normal">
          <li>
            <t>Added Security considerations</t>
          </li>
          <li>
            <t>Added Acknowledgements</t>
          </li>
          <li>
            <t>Added several Normative references</t>
          </li>
          <li>
            <t>Added links to latest document on github</t>
          </li>
          <li>
            <t>Added RESTCONF example for success and error</t>
          </li>
          <li>
            <t>Modified Error Handling to reflect better W3C alignment based on implementation feedback</t>
          </li>
          <li>
            <t>Firmed up error handling and YANG-library to MUST-requirements</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-00-to-draft-ietf-netconf-restconf-trace-ctx-headers-00">
        <name>From version 00 to draft-ietf-netconf-restconf-trace-ctx-headers-00</name>
        <ul spacing="normal">
          <li>
            <t>Adopted by NETCONF WG</t>
          </li>
          <li>
            <t>Moved repository to NETCONF WG</t>
          </li>
          <li>
            <t>Changed build system to use martinthomson's excellent framework</t>
          </li>
          <li>
            <t>Ran make fix-lint to remove white space at EOL etc.</t>
          </li>
          <li>
            <t>Added this change note. No other content changes</t>
          </li>
        </ul>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
GmNG578AYlnnJ1EsAAA=

-->

</rfc>
