<?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.17 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-netconf-restconf-trace-ctx-headers-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title abbrev="rc_trace">RESTCONF Extension to support Trace Context Headers</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-restconf-trace-ctx-headers-01"/>
    <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="July" day="08"/>
    <area>Operations and Management</area>
    <workgroup>NETCONF</workgroup>
    <keyword>telemetry</keyword>
    <keyword>distributed systems</keyword>
    <keyword>opentelemetry</keyword>
    <abstract>
      <?line 66?>

<t>This document extends 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/netconf-wg/restconf-trace-ctx-headers"/>.</t>
    </note>
  </front>
  <middle>
    <?line 70?>

<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 follow, analyze and debug operations, such as configuration transactions, across multiple distributed systems.  An operation is uniquely identified by a trace-id and through a trace context, carries some metadata about the operation.  Propagating this "trace context" between systems enables forming a coherent view of the entire operation as carried out by all involved systems.</t>
      <t>The W3C has defined two HTTP headers (<em>traceparent</em> and <em>tracestate</em>) for context propagation that are useful for distributed systems like the ones defined in <xref target="RFC8309"/>. The goal of this document is to adopt this W3C specification for the RESTCONF protocol.</t>
      <t>This document does not define new HTTP extensions but makes those defined in <xref target="W3C-Trace-Context"/> optional headers for the RESTCONF protocol.</t>
      <t>In <xref target="I-D.draft-ietf-netconf-trace-ctx-extension-01"/>, 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 MUST support the trace context <em>traceparent</em> header as defined in <xref target="W3C-Trace-Context"/>.</t>
      <t>A RESTCONF server SHOULD support the trace context <em>tracestate</em> header as defined in <xref target="W3C-Trace-Context"/>.</t>
      <section anchor="error-handling">
        <name>Error Handling</name>
        <t>The 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 the server still decides to reject the 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 MUST contain relevant details about the error in the form of an sx:structure otlp-trace-context-error-info defined in ietf-netconf-otlp-context.yang from <xref target="I-D.draft-ietf-netconf-trace-ctx-extension-01"/>.</t>
      </section>
      <section anchor="trace-context-header-versionning">
        <name>Trace Context header versionning</name>
        <t>This extension refers to the <xref target="W3C-Trace-Context"/> trace context capability. The W3C <em>traceparent</em> and <em>tracestate</em> 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. We would like to achieve this goal avoiding the definition of new RESTCONF capabilities for each headers' version.</t>
        <t><xref target="I-D.draft-ietf-netconf-trace-ctx-extension-01"/> defines a pair of YANG modules that MUST 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>There are two YANG modules specified in this document.  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>Even though both YANG modules are empty, there are still some security considerations worth mentioning, however.  This is because the functionality described in this document is in the form of additional HTTP headers (which cannot be described using YANG) relating to the network management protocol RESTCONF <xref target="RFC8040"/>.</t>
      <t>The <em>traceparent</em> and <em>tracestate</em> headers make it easier to track the flow of requests and their downstream effect on other systems.  This is indeed the whole point with these headers.  This knowledge could also be of use to bad actors that are working to build a map of the 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>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/> provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.</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 Jean Quilbeuf and Benoît Claise has also been invaluable to this work.</t>
    </section>
  </middle>
  <back>
    <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="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </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-01">
          <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="8" month="July" year="2024"/>
            <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-01"/>
        </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 133?>

<section anchor="example-restconf-calls">
      <name>Example RESTCONF calls</name>
      <t>All examples from <xref target="RFC8040"/> Appendix B could be recreated in this seciton by adding the new header described in this document. We selected one example from that document as reference.</t>
      <section anchor="successful-creation-new-data-resources-from-section-b21-in-rfc8040">
        <name>Successful creation New Data Resources (from section B.2.1 in <xref target="RFC8040"/>)</name>
        <t>To create a new "artist" resource within the "library" resource, the 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-new-data-resources-from-section-b21-in-rfc8040">
        <name>Unsuccessful creation New Data Resources (from section B.2.1 in <xref target="RFC8040"/>)</name>
        <t><xref target="W3C-Trace-Context"/> specifies that vendor MAY validate the <em>tracestate</em> header and that invalid headers MAY be discarded. In the section about <xref target="error-handling">Error handling</xref>, it is stated that servers MAY return an error. Let's assume that is our implementation.</t>
        <t>Example of a badly formated <em>tracestate</em> header using <xref target="RFC8040"/> example B.2.1, which by 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>And the expected error message:</t>
        <artwork><![CDATA[
 HTTP/1.1 400 Bad Request
 Date: Tue, 20 Jun 2023 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" :
           "OTLP traceparent attribute incorrectly formatted",
         "error-info": {
           "ietf-netconf-otlp-context:meta-name" : "tracestate",
           "ietf-netconf-otlp-context:meta-value" :
             "SomeBadFormatHere",
           "ietf-netconf-otlp-context:error-type" :
             "ietf-netconf-otlp-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-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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
gZr9qgd0+NaU7wv4UdP5Jzs2chQFKQAA

-->

</rfc>
