<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-netconf-trace-ctx-extension-07" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="NETCONF Trace Context Extension">NETCONF Extension to support Trace Context propagation</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-trace-ctx-extension-07"/>
    <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>All For Eco</organization>
      <address>
        <email>jan.lindblad+ietf@for.eco</email>
      </address>
    </author>
    <date year="2026" month="July" day="04"/>
    <area>Operations and Management</area>
    <workgroup>Network Configuration</workgroup>
    <keyword>telemetry</keyword>
    <keyword>distributed systems</keyword>
    <keyword>opentelemetry</keyword>
    <abstract>
      <?line 88?>

<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>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-netconf-trace-ctx-extension/"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-netconf-trace-ctx-extension/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Network Configuration 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/trace-ctx-extension"/>.</t>
    </note>
  </front>
  <middle>
    <?line 92?>

<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 for context propagation that are useful in use case scenarios of distributed systems like the ones defined in <xref target="RFC8309"/>.  This document defines an extension to the NETCONF protocol to add the same concepts and enable trace context propagation over NETCONF.</t>
      <t>It is worth noting that the trace context is not meant to have any relationship with the data that is carried with a given operation (including configurations, service identifiers or state information).</t>
      <t>A trace context also differs from <xref target="I-D.ietf-netconf-transaction-id"/> in several ways as the trace operation may involve any operation (including for example validate, lock, unlock, etc.) Additionally, a trace context scope may include the full application stack (orchestrator, controller, devices, etc) rather than a single NETCONF server, which is the scope for the transaction-id. The trace context is also complementary to <xref target="I-D.ietf-netconf-transaction-id"/> as a given trace-id can be associated with the different transaction-ids as part of the information exported to the collector.</t>
      <t>The following enhancement of the reference SDN Architecture from <xref target="RFC8309"/> shows the impact of distributed traces for a network operator.</t>
      <figure anchor="rfc8309-sample-arch">
        <name>A Sample SDN Architecture from RFC8309 augmented to include the export of metrics, events, logs and traces from the different components to a common collector.</name>
        <sourcecode type="art"><![CDATA[
                +------------------+                   +-----------+
                |   Orchestrator   |                   |           |
                |                  |     ------------> |           |
                .------------------.                   |           |
               .          :         .                  |           |
              .           :          .                 | Collector |
  +------------+   +------------+   +------------+     | (Metrics, |
  |            |   |            |   |            |     |  Events,  |
  | Controller |   | Controller |   | Controller | --> |  Logs,    |
  |            |   |            |   |            |     |  Traces)  |
  +------------+   +------------+   +------------+     |           |
      :              .       .               :         |           |
      :             .         .              :         |           |
      :            .           .             :         |           |
 +---------+  +---------+  +---------+  +---------+    |           |
 | Network |  | Network |  | Network |  | Network |    |           |
 | Element |  | Element |  | Element |  | Element | -> |           |
 +---------+  +---------+  +---------+  +---------+    +-----------+
]]></sourcecode>
      </figure>
      <t>The network automation, management and control architectures are distributed in nature.  In order to "manage the managers", operators would like to use the same techniques as any other distributed systems in their IT environment.  Solutions for analysing Metrics, Events, Logs and Traces (M.E.L.T) are key for the successful monitoring and troubleshooting of such applications.  Initiatives such as the OpenTelemetry <xref target="OpenTelemetry"/> enable rich ecosystems of tools that NETCONF-based applications would want to participate in.</t>
      <t>With the implementation of this trace context propagation extension to NETCONF, backend systems behind the M.E.L.T collector will be able to correlate information from different systems but related to a common context.</t>
      <t>This document does not cover the somewhat related functionality specified in <xref target="W3C-Baggage"/>.  Mapping of the Baggage functionality into YANG may be specified in a future document.</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>
        <t>Additionally, the document utilizes the following abbreviations:</t>
        <dl>
          <dt>OTLP:</dt>
          <dd>
            <t>OpenTelemetry protocol as defined by <xref target="OpenTelemetry"/></t>
          </dd>
          <dt>M.E.L.T.:</dt>
          <dd>
            <t>Metrics, Events, Logs and Traces</t>
          </dd>
          <dt>gNMI:</dt>
          <dd>
            <t>gRPC Network Management Interface, as defined by <xref target="gNMI"/></t>
          </dd>
        </dl>
        <t>The XML prefixes used in this document are mapped as follows:</t>
        <ul spacing="normal">
          <li>
            <t>xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0",</t>
          </li>
          <li>
            <t>xmlns:w3ctc="urn:ietf:params:xml:ns:netconf:w3ctc:1.0" and</t>
          </li>
          <li>
            <t>xmlns:ietf-trace-context=
  "urn:ietf:params:xml:ns:yang:ietf-trace-context"</t>
          </li>
        </ul>
      </section>
      <section anchor="implementation-example-1-opentelemetry">
        <name>Implementation example 1: OpenTelemetry</name>
        <t>We will describe an example to show the value of trace context propagation in the NETCONF protocol.  In the OTLP Sample Architecture <xref target="otlp-sample-arch"/>  below, we show a deployment based on the RFC8309 sample architecture <xref target="rfc8309-sample-arch"/> above, with a single controller and two network elements.  In this example, the NETCONF protocol is running between the Orchestrator and the Controller.  NETCONF is also used between the Controller and the Network Elements.</t>
        <t>Let's assume an edit-config operation between the orchestrator and the controller that results (either synchronously or asynchronously) in corresponding edit-config operations from the Controller towards the two network elements.  All trace operations are related and will create M.E.L.T data.</t>
        <figure anchor="otlp-sample-arch">
          <name>An implementation example where the NETCONF protocol is used between the Orchestrator and the Controller and also between the Controller and the Network Elements.  Every component exports M.E.L.T information to the collector using the OTLP protocol.</name>
          <sourcecode type="art"><![CDATA[
            +------------------+                        +-----------+
            |   Orchestrator   |    OTLP protocol       |           |
            |                  |  ------------------->  |           |
            .------------------+                        |           |
           .  NETCONF                                   |           |
          .   edit-config (trace-id "1", parent-id "A") | Collector |
+------------+                                          | (Metrics, |
|            |                                          |  Events,  |
| Controller |   ------------------------------------>  |  Logs,    |
|            |                 OTLP protocol            |  Traces)  |
+------------+                                          |           |
   :      .  NETCONF                                    |           |
   :        . edit-config (trace-id "1", parent-id "B") |           |
   :          .                                         |           |
+---------+   +---------+                               |           |
| Network |   | Network |       OTLP protocol           |           |
| Element |   | Element |  -------------------------->  |           |
+---------+   +---------+                               +-----------+
]]></sourcecode>
        </figure>
        <t>Each of the components in this example (Orchestrator, Controller and Network Elements) is exporting M.E.L.T information to the collector using the OpenTelemetry Protocol (OTLP).</t>
        <t>For every edit-config operation, the trace context is included.  In particular, the same trace-id "1" (simplified encoding for documentation) is included in all related NETCONF messages, which enables the collector and any backend application to correlate all M.E.L.T messages related to this transaction in this distributed stack.</t>
        <t>Another interesting attribute is the parent-id.  We can see in this example that the parent-id between the orchestrator and the controller ("A") is different from the one between the controller and the network elements ("B").  This attribute will help the collector and the backend applications to build a connectivity graph to understand how M.E.L.T information exported from one component relates to the information exported from a different component.</t>
        <t>With this additional metadata exchanged between the components and exposed to the M.E.L.T collector, there are important improvements to the monitoring and troubleshooting operations for the full application stack.</t>
      </section>
      <section anchor="implementation-example-2-yang-datastore">
        <name>Implementation example 2: YANG Datastore</name>
        <t>OpenTelemetry implements the "push" model for data streaming where information is sent to the back-end as soon as produced and is not required to be stored in the system. In certain cases, a "pull" model may be envisioned, for example for performing forensic analysis while not all OTLP traces are available in the back-end systems.</t>
        <t>An implementation of a "pull" mechanism for M.E.L.T. information in general and for traces in particular, could consist of storing traces in a YANG datastore (particularly the operational datastore.) Implementations should consider the use of circular buffers to avoid resource exhaustion. External systems could access traces (and particularly past traces) via NETCONF, RESTCONF, gNMI or other polling mechanisms. Finally, storing traces in a YANG datastore enables the use of YANG-Push <xref target="RFC8641"/> or gNMI Telemetry as additional "push" mechanisms.</t>
        <t>This document does not specify the YANG module in which traces could be stored inside the different components. That said, storing the context information described in this document as part of the recorded traces would allow back-end systems to correlate the information from different components as in the OpenTelemetry implementation.</t>
        <figure anchor="melt-example">
          <name>An implementation example where the NETCONF protocol is used between the Orchestrator and the Controller and also between the Controller and the Network Elements.  M.E.L.T. information is stored in local YANG Datastores and accessed by the collector using "pull" mechanisms using the NETCONF (NC), RESTCONF (RC) or gNMI protocols. A "push" strategy is also possible via YANG-Push or gNMI.</name>
          <sourcecode type="art"><![CDATA[
            +------------------+                        +-----------+
            | Orchestrator     |                        |           |
            |                  |    NC/RC/gNMI or YP    |           |
            |   YANG Datastore | <------------------->  |           |
            .------------------+     pull or push       |           |
           .  NETCONF                                   |           |
          .   edit-config (trace-id "1", parent-id "A") | Collector |
+----------------+                                      | (Metrics, |
|                |           NC/RC/gNMI or YP           |  Events,  |
| Controller     |   <------------------------------->  |  Logs,    |
|  YANG Datastore|             pull or push             |  Traces)  |
+----------------+                                      |           |
   :      .  NETCONF                                    |           |
   :        . edit-config (trace-id "1", parent-id "B") |           |
   :          .                                         |           |
+---------+   +---------+                               |           |
| Network |   | Network |        NC/RC/gNMI or YP       |           |
| Element |   | Element |  <------------------------->  |           |
| YANG DS |   | YANG DS |         pull or push          |           |
+---------+   +---------+                               +-----------+
]]></sourcecode>
        </figure>
      </section>
      <section anchor="use-cases">
        <name>Use Cases</name>
        <section anchor="provisioning-root-cause-analysis">
          <name>Provisioning root cause analysis</name>
          <t>When a provisioning activity fails, errors are typically propagated northbound, however this information may be difficult to troubleshoot and typically, operators are required to navigate logs across all the different components.</t>
          <t>With the support for trace context propagation as described in this document for NETCONF, the collector will be able to search every trace, event, metric, or log in connection to that trace-id and facilitate the performance of a root cause analysis due to a network changes. The trace information could also be included as an optional resource with the different NETCONF transaction ids described in <xref target="I-D.ietf-netconf-transaction-id"/>.</t>
        </section>
        <section anchor="system-performance-profiling">
          <name>System performance profiling</name>
          <t>When operating a distributed system such as the one shown in <xref target="otlp-sample-arch"/>, operators are expected to benchmark Key Performance Indicators (KPIs) for the most common tasks.  For example, what is the typical delay when provisioning a VPN service across different controllers and devices.</t>
          <t>Thanks to Application Performance Management (APM) systems, from these KPIs, an operator can detect a normal and abnormal behaviour of the distributed system. Also, an operator can better plan any upgrades or enhancements in the platform.</t>
          <t>With the support for context propagation as described in this document for NETCONF, much richer system-wide KPIs can be defined and used for troubleshooting as the metrics and traces propagated by the different components share a common context.  Troubleshooting for abnormal behaviours can also be troubleshot from the system view down to the individual element.</t>
        </section>
        <section anchor="billing-and-auditing">
          <name>Billing and auditing</name>
          <t>In certain circumstances, we could envision tracing information used as additional inputs to billing systems. In particular, trace context information could be used to validate that a certain northbound order was carried out in southbound systems.</t>
        </section>
      </section>
    </section>
    <section anchor="netconf-extension">
      <name>NETCONF Extension</name>
      <t>When performing NETCONF operations by sending NETCONF RPCs, a NETCONF client MAY include trace context information in the form of XML attributes.  The <xref target="W3C-Trace-Context"/> defines two HTTP headers; traceparent and tracestate for this purpose.  NETCONF clients that are taking advantage of this feature MUST add one w3ctc:traceparent attribute and MAY add one w3ctc:tracestate attribute to the nc:rpc tag.</t>
      <t>A NETCONF server that receives a trace context attribute in the form of a w3ctc:traceparent attribute SHOULD apply the mutation rules described in <xref target="W3C-Trace-Context"/>. A NETCONF server MAY add one w3ctc:traceparent attribute in the nc:rpc-reply response to the nc:rpc tag above.  NETCONF servers MAY also add one w3ctc:traceparent attribute in notification and update message envelopes: notif:notification, yp:push-update and yp:push-change-update.</t>
      <t>For example, a NETCONF client might send:</t>
      <sourcecode type="xml"><![CDATA[
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"
     xmlns:w3ctc="urn:ietf:params:xml:ns:netconf:w3ctc:1.0"
     w3ctc:traceparent=
       "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01">
  <get-config/>
</rpc>
]]></sourcecode>
      <t>In all cases above where a client or server adds a w3ctc:traceparent attribute to a tag, that client or server MAY also add one w3ctc:tracestate attribute to the same tag.</t>
      <t>The proper encoding and interpretation of the contents of the w3ctc:traceparent attribute is described in <xref target="W3C-Trace-Context"/> section 3.2 except 3.2.1.  The proper encoding and interpretation of the contents in the w3ctc:tracestate attribute is described in <xref target="W3C-Trace-Context"/> section 3.3 except 3.3.1 and 3.3.1.1.  A NETCONF XML tag can only have zero or one w3ctc:tracestate attributes, so its content MUST always be encoded as a single string.  The tracestate field value is a list of list-members separated by commas (,).  A list-member is a key/value pair separated by an equals sign (=). All whitespace surrounding list members is ignored. There is no limit to the number of list members in a list.</t>
      <t>For example, a NETCONF client might send:</t>
      <sourcecode type="xml"><![CDATA[
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"
     xmlns:w3ctc="urn:ietf:params:xml:ns:netconf:w3ctc:1.0"
     w3ctc:tracestate="rojo=00f067aa0ba902b7,congo=t61rcWkgMzE"
     w3ctc:traceparent=
       "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01">
  <get-config/>
</rpc>
]]></sourcecode>
      <t>As in all XML documents, the order between the attributes in an XML tag has no significance.  Clients and servers MUST be prepared to handle the attributes no matter in which order they appear.  The tracestate value MAY contain double quotes, commas (,), or equals (=) signs in its payload.  If so, they MUST be encoded according to XML rules to avoid injection attacks, for example:</t>
      <sourcecode type="xml"><![CDATA[
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"
     xmlns:w3ctc="urn:ietf:params:xml:ns:netconf:w3ctc:1.0"
     w3ctc:traceparent=
       "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
     w3ctc:tracestate=
       "value-with-quotes=&quot;Quoted string&quot;,other-value=123">
  <get-config/>
</rpc>
]]></sourcecode>
      <section anchor="error-handling">
        <name>Error handling</name>
        <t>When interacting with these extensions, the NETCONF server follow the specifications of section 2.3 in <xref target="W3C-Trace-Context"/>. A detailed processing model example is also provided in the document.  Based on this processing model, it is NOT RECOMMENDED to reject an RPC because of the trace context attribute values.</t>
        <t>If the server still decides to reject the RPC because of the trace context attribute values, ietf-trace-context.yang SHOULD be included in the YANG library and the server MUST return a NETCONF 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 a trace-context-error-info structure with relevant details about the error.  This structure is defined in the module ietf-trace-context.yang.  Example of a badly formatted trace context extension:</t>
        <sourcecode type="xml"><![CDATA[
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"
     xmlns:w3ctc="urn:ietf:params:xml:ns:netconf:w3ctc:1.0"
     w3ctc:traceparent=
       "Bad Format"
     w3ctc:tracestate=
       "value-with-quotes=&quot;Quoted string&quot;,other-value=123">
  <get-config/>
</rpc>
]]></sourcecode>
        <t>This might give the following error response:</t>
        <sourcecode type="xml"><![CDATA[
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
            xmlns:w3ctc="urn:ietf:params:xml:ns:netconf:w3ctc:1.0"
            xmlns:ietf-trace-context=
            "urn:ietf:params:xml:ns:yang:ietf-trace-context"
            message-id="1">
  <rpc-error>
    <error-type>protocol</error-type>
    <error-tag>operation-failed</error-tag>
    <error-severity>error</error-severity>
    <error-message>
      Context traceparent attribute incorrectly formatted
    </error-message>
    <error-info>
      <ietf-trace-context:trace-context-error-info>
        <ietf-trace-context:meta-name>
          w3ctc:traceparent
        </ietf-trace-context:meta-name>
        <ietf-trace-context:meta-value>
          Bad Format
        </ietf-trace-context:meta-value>
        <ietf-trace-context:error-type>
          ietf-trace-context:bad-format
        </ietf-trace-context:error-type>
      </ietf-trace-context:trace-context-error-info>
    </error-info>
  </rpc-error>
</rpc-reply>
]]></sourcecode>
      </section>
      <section anchor="trace-context-extension-versioning">
        <name>Trace Context extension versioning</name>
        <t>This extension 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 NETCONF client to be able to discover the one or multiple versions of these headers supported by a server.</t>
        <t>To achieve this goal, and to avoid having to define a new NETCONF extension for each headers version, we define a pair of YANG modules (ietf-trace-ctx-traceparent-1.0.yang and ietf-trace-ctx-tracestate-1.0.yang) that MUST be included in the YANG library per <xref target="RFC8525"/> of the NETCONF server supporting the NETCONF Trace Context extension. These YANG module capabilities 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="yang-modules">
      <name>YANG Modules</name>
      <t>This document defines three YANG modules:</t>
      <artwork><![CDATA[
- YANG module for ietf-trace-context structure as mentioned in section 2.1
- YANG module for traceparent header version as mentioned in section 2.2
- YANG module for tracestate header version as mentioned in section 2.2
]]></artwork>
      <section anchor="yang-module-for-ietf-trace-context-structure">
        <name>YANG module for ietf-trace-context structure</name>
        <sourcecode type="yang" markers="true" name="ietf-trace-context@2024-11-07.yang"><![CDATA[
module ietf-trace-context {
  yang-version 1.1;
  namespace 
    "urn:ietf:params:xml:ns:yang:ietf-trace-context";
  prefix ietf-trace-context;

  import ietf-yang-structure-ext {
    prefix sx;
    reference
      "RFC8791: YANG Data Structure Extensions";
  }

  organization
    "IETF NETCONF (Network Configuration) Working Group";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/netconf/>
     WG List:  <mailto:netconf@ietf.org>

     Authors:  Roque Gagliano
               <mailto:rogaglia@cisco.com>

               Jan Lindblad
               <mailto:jlindbla@cisco.com>

               Kristian Larsson
               <mailto:kll@dev.terastrm.net>
    ";
  description
    "When propagating tracing information across applications,
     client and servers needs to share some specific contextual
     information. This  extensions aligns the NETCONF and RESTCONF
     protocols to the W3C trace-context document:
     https://www.w3.org/TR/2021/REC-trace-context-1-20211123

     This document has a normative reference to RFC 8791.

     Copyright (c) 2024 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Revised BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.

     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 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.
    ";

  revision 2024-11-07 {
    description
      "Initial revision";
    reference
      "RFC XXXX:
       NETCONF Extension to support Trace Context propagation";
  }

  identity meta-error {
    description
      "Base identity for trace context attribute errors.";
  }

  identity missing {
    base meta-error;
    description
      "Indicates an attribute or header that is required
       (in the current situation) is missing.";
  }

  identity bad-format {
    base meta-error;
    description
      "Indicates an attribute or header value where the
       value is incorrectly formatted.";
  }

  identity processing-error {
    base meta-error;
    description
      "Indicates that the server encountered a processing
       error while processing the attribute or header value.";
  }

  typedef meta-error-type {
    type identityref {
      base meta-error;
    }
    description
      "Error type";
  }

  sx:structure trace-context-error-info {
    description
      "This error is returned by a NETCONF or RESTCONF server
        when a client sends a NETCONF RPC with additonal
        attributes or RESTCONF RPC with additional headers
        for trace context processing, and there is an error
        related to them.  The server has aborted the RPC.";
    leaf meta-name {
      type string;
      description
        "The name of the problematic or missing meta information.
          In NETCONF, the qualified XML attribute name.
          In RESTCONF, the HTTP header name.
          If a client sent a NETCONF RPC with the attribute
          w3ctc:traceparent='incorrect-format'
          this leaf would have the value 'w3ctc:traceparent'";
    }
    leaf meta-value {
      type string;
      description
        "The value of the problematic meta information received
          by the server.
          If a client sent a NETCONF RPC with the attribute
          w3ctc:traceparent='incorrect-format'
          this leaf would have the value 'incorrect-format'.";
    }
    leaf error-type {
      type meta-error-type;
      description
        "Indicates the type of meta information problem
          detected by the server.
          If a client sent an RPC annotated with the attribute
          w3ctc:traceparent='incorrect-format'
          this leaf might have the value
          'ietf-trace-context:bad-format'.";
    }
  }
}
]]></sourcecode>
      </section>
      <section anchor="yang-module-for-traceparent-header-version-10">
        <name>YANG module for traceparent header version 1.0</name>
        <sourcecode type="yang" markers="true" name="ietf-trace-ctx-traceparent-1.0@2024-11-07.yang"><![CDATA[
module ietf-trace-ctx-traceparent-1.0 {
  namespace 
  "urn:ietf:params:xml:ns:yang:ietf-trace-ctx-traceparent-1.0";
  prefix ietf-trace-ctx-traceparent-1.0;

  organization
    "IETF NETCONF (Network Configuration) Working Group";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/netconf/>
     WG List:  <mailto:netconf@ietf.org>

     Authors:  Roque Gagliano
               <mailto:rogaglia@cisco.com>

               Jan Lindblad
               <mailto:jlindbla@cisco.com>

               Kristian Larsson
               <mailto:kll@dev.terastrm.net>
    ";
  description
    "This module documents the support for trace context traceparent
     versiom 1.0 in alignment with W3C versions:
     https://www.w3.org/TR/2021/REC-trace-context-1-20211123

     Copyright (c) 2024 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Revised BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.

     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 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.
    ";

  revision 2024-11-07 {
    description
      "Initial revision";
    reference
      "RFC XXXX:
       NETCONF Extension to support Trace Context propagation";
  }
}
]]></sourcecode>
      </section>
      <section anchor="yang-module-for-tracestate-header-version-10">
        <name>YANG module for tracestate header version 1.0</name>
        <sourcecode type="yang" markers="true" name="ietf-trace-ctx-tracestate-1.0@2024-11-07.yang"><![CDATA[
module ietf-trace-ctx-tracestate-1.0 {
  namespace 
    "urn:ietf:params:xml:ns:yang:ietf-trace-ctx-tracestate-1.0";
  prefix ietf-trace-ctx-tracestate-1.0;

  organization
    "IETF NETCONF (Network Configuration) Working Group";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/netconf/>
     WG List:  <mailto:netconf@ietf.org>

     Authors:  Roque Gagliano
               <mailto:rogaglia@cisco.com>

               Jan Lindblad
               <mailto:jlindbla@cisco.com>

               Kristian Larsson
               <mailto:kll@dev.terastrm.net>
    ";
  description
    "This module documents the support for trace context tracestate
     versiom 1.0 in alignment with W3C versions:
     https://www.w3.org/TR/2021/REC-trace-context-1-20211123

     Copyright (c) 2024 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Revised BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.

     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 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.
    ";

  revision 2024-11-07 {
    description
      "Initial revision";
    reference
      "RFC XXXX:
       NETCONF Extension to support Trace Context propagation";
  }
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section is modeled after the template described in Section 3.7 of <xref target="I-D.draft-ietf-netmod-rfc8407bis-28"/>.</t>
      <t>The ietf-trace-context, ietf-trace-ctx-tracestate-1.0 and ietf-trace-ctx-traceparent-1.0  YANG modules define data models that are designed to be accessed via YANG-based management protocols, such as NETCONF <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>. These YANG-based management protocols (1) have to use a secure transport layer (e.g., SSH <xref target="RFC4252"/>, TLS <xref target="RFC8446"/>, and QUIC <xref target="RFC9000"/>) and (2) have to use mutual authentication.</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>
      <t>The YANG modules specified in this document are used to flag capabilities define and define an error information structure. As such, these YANG modules do not contain any configuration data, state data or RPC definitions, which makes their security implications very limited.  The additional attributes specified in this document (but not in YANG modules, since YANG cannot be used to specify attributes) are worth mentioning, however.</t>
      <t>The traceparent and tracestate attributes make it easier to track the flow of requests and their downstream effect on other systems.  This is indeed the whole point with these attributes.  This knowledge could also be of use to bad actors that are working to build a map of the managed network.</t>
      <t>The meta-name and meta-value attributes in the ietf-trace-context.yang should not echo any information received from an erroneous request or the system, in order to avoid bad actors receiving additional contextual information.  When bad values are encountered, further processing of them should stop immediately.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document registers the following capability identifier URN in the 'Network Configuration Protocol (NETCONF) Capability URNs' registry:</t>
      <artwork><![CDATA[
  urn:ietf:params:netconf:capability:w3ctc:1.0
]]></artwork>
      <t>This document registers one XML namespace URN in the 'IETF XML registry', following the format defined in <xref target="RFC3688"/> (https://www.rfc-editor.org/rfc/rfc3688.html).</t>
      <artwork><![CDATA[
  URI: urn:ietf:params:xml:ns:netconf:w3ctc:1.0

  Registrant Contact: The IETF IESG.

  XML: N/A, the requested URI is an XML namespace.
]]></artwork>
      <t>This document registers three module names in the 'YANG Module Names' registry, defined in RFC 6020:</t>
      <artwork><![CDATA[
  name: ietf-trace-ctx-traceparent-1.0

  prefix: ietf-trace-ctx-traceparent-1.0

  namespace:
    urn:ietf:params:xml:ns:yang:ietf-trace-ctx-traceparent-1.0

  RFC: XXXX
]]></artwork>
      <t>and</t>
      <artwork><![CDATA[
  name: ietf-trace-ctx-tracestate-1.0

  prefix: ietf-trace-ctx-tracestate-1.0

  namespace:
    urn:ietf:params:xml:ns:yang:ietf-trace-ctx-tracestate-1.0

  RFC: XXXX
]]></artwork>
      <t>and</t>
      <artwork><![CDATA[
  name: ietf-trace-context

  prefix: ietf-trace-context

  namespace: urn:ietf:params:xml:ns:yang:ietf-trace-context

  RFC: XXXX
]]></artwork>
    </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 Benoit 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="RFC4252">
          <front>
            <title>The Secure Shell (SSH) Authentication Protocol</title>
            <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
            <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>The Secure Shell Protocol (SSH) is a protocol for secure remote login and other secure network services over an insecure network. This document describes the SSH authentication protocol framework and public key, password, and host-based client authentication methods. Additional authentication methods are described in separate documents. The SSH authentication protocol runs on top of the SSH transport layer protocol and provides a single authenticated tunnel for the SSH connection protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4252"/>
          <seriesInfo name="DOI" value="10.17487/RFC4252"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </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="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="I-D.draft-ietf-netmod-rfc8407bis-28">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <date day="5" month="June" year="2025"/>
            <abstract>
              <t>   This document provides guidelines for authors and reviewers of
   specifications containing YANG data models, including IANA-maintained
   modules.  Recommendations and procedures are defined, which are
   intended to increase interoperability and usability of Network
   Configuration Protocol (NETCONF) and RESTCONF Protocol
   implementations that utilize YANG modules.  This document obsoletes
   RFC 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-28"/>
        </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="OpenTelemetry" target="https://opentelemetry.io">
          <front>
            <title>OpenTelemetry Cloud Native Computing Foundation project</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="November" day="04"/>
          </front>
        </reference>
        <reference anchor="gNMI" target="https://github.com/openconfig/gnmi">
          <front>
            <title>gNMI - gRPC Network Management Interface</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="November" day="04"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-netconf-transaction-id">
          <front>
            <title>Transaction ID Mechanism for NETCONF</title>
            <author fullname="Jan Lindblad" initials="J." surname="Lindblad">
              <organization>All For Eco</organization>
            </author>
            <date day="7" month="October" year="2025"/>
            <abstract>
              <t>   NETCONF clients and servers often need to have a synchronized view of
   the server's configuration datastores.  The volume of configuration
   data in a server may be very large, while datastore changes typically
   are small when observed at typical client resynchronization
   intervals.

   Rereading the entire datastore and analyzing the response for changes
   is inefficient for synchronization.  This document specifies a
   NETCONF extension that allows clients and servers to keep
   synchronized with a much smaller data exchange and without any need
   for servers to store information about the clients.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-transaction-id-11"/>
        </reference>
        <reference anchor="RFC8641">
          <front>
            <title>Subscription to YANG Notifications for Datastore Updates</title>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="E. Voit" initials="E." surname="Voit"/>
            <date month="September" year="2019"/>
            <abstract>
              <t>This document describes a mechanism that allows subscriber applications to request a continuous and customized stream of updates from a YANG datastore. Providing such visibility into updates enables new capabilities based on the remote mirroring and monitoring of configuration and operational state.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8641"/>
          <seriesInfo name="DOI" value="10.17487/RFC8641"/>
        </reference>
        <reference anchor="W3C-Baggage" target="https://www.w3.org/TR/baggage/#examples-of-http-headers">
          <front>
            <title>W3C Propagation format for distributed context Baggage</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="November" day="23"/>
          </front>
        </reference>
        <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 698?>

<section anchor="changes-to-be-deleted-by-rfc-editor">
      <name>Changes (to be deleted by RFC Editor)</name>
      <section anchor="from-version-06-to-version-07">
        <name>From version 06 to version 07</name>
        <ul spacing="normal">
          <li>
            <t>All Shepperd comments.</t>
          </li>
          <li>
            <t>Corrected missing period in YANG modules to avoid pyang warning.</t>
          </li>
          <li>
            <t>Clarifies that all whitespaces are ignored.</t>
          </li>
          <li>
            <t>Enhanced tracestate encoding guidance to explicitly mention commas (,) and equals (=) signs must be encoded per XML rules to avoid injection attacks.</t>
          </li>
          <li>
            <t>Enhanced Security Considerations to clarify that meta-name and meta-value should not echo erroneous requests and that further processing should stop immediately when bad values are encountered.</t>
          </li>
          <li>
            <t>Added clarification that Clients and servers MUST be prepared to handle special characters in tracestate values.</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-05-to-version-06">
        <name>From version 05 to version 06</name>
        <ul spacing="normal">
          <li>
            <t>We introduced a bug in the YANG model in version 03 as container was not needed per RFC 8791.</t>
          </li>
          <li>
            <t>Serveral edits based on OpsDir comments</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-04-to-version-05">
        <name>From version 04 to version 05</name>
        <ul spacing="normal">
          <li>
            <t>More WGLC and sheepard comments</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-03-to-version-04">
        <name>From version 03 to version 04</name>
        <ul spacing="normal">
          <li>
            <t>WGLC data change.</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-02-to-03">
        <name>From version 02 to 03</name>
        <ul spacing="normal">
          <li>
            <t>Changed document Abbreviation</t>
          </li>
          <li>
            <t>trace-context-error-info is a container in example</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-01-to-02">
        <name>From version 01 to 02</name>
        <ul spacing="normal">
          <li>
            <t>Enhanced Terminology and moved it up in the document.</t>
          </li>
          <li>
            <t>Changed namespaces and module names to map WGLC comments
and IETF requirements</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>Updated link to latest document on github</t>
          </li>
          <li>
            <t>Firmed up error handling and YANG-library to MUST-requirements</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-03-to-draft-ietf-netconf-trace-ctx-extension-00">
        <name>From version 03 to draft-ietf-netconf-trace-ctx-extension-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 anchor="from-version-02-to-03-1">
        <name>From version 02 to 03</name>
        <ul spacing="normal">
          <li>
            <t>Changed IANA section to IESG per IANA email</t>
          </li>
          <li>
            <t>Created sx:structure and improved error example</t>
          </li>
          <li>
            <t>Added ietf-netconf-otlp-context.yang for the sx:structure</t>
          </li>
          <li>
            <t>Created a dedicated section for the YANG modules</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-01-to-02-1">
        <name>From version 01 to 02</name>
        <ul spacing="normal">
          <li>
            <t>Added Error Handling intial section</t>
          </li>
          <li>
            <t>Added how to manage versioning by defining YANG modules for each traceparent and trastate versions as defined by W3C.</t>
          </li>
          <li>
            <t>Added 'YANG Module Names'  to IANA Considerations</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-00-to-01-1">
        <name>From version 00 to 01</name>
        <ul spacing="normal">
          <li>
            <t>Added new section: Implementation example 2: YANG Datastore</t>
          </li>
          <li>
            <t>Added new use case: Billing and auditing</t>
          </li>
          <li>
            <t>Added in introduction and in "Provisioning root cause analysis" the idea that the different transaction-ids defined in <xref target="I-D.ietf-netconf-transaction-id"/> could be added as part of the tracing information to be exported to the collectors, showing how the two documents are complementary.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="xml-attributes-vs-rpcs-input-augmentations-discussion-to-be-deleted-by-rfc-editor">
      <name>XML Attributes vs RPCs input augmentations discussion (to be deleted by RFC Editor)</name>
      <t>There are arguments that can be raised regarding using XML Attribute or to augment NETCONF RPCs.</t>
      <t>We studied Pros/Cons of each option and decided to propose XML attributes:</t>
      <t>XML Attributes Pro:</t>
      <ul spacing="normal">
        <li>
          <t>Literal alignment with W3C specification</t>
        </li>
        <li>
          <t>Same encoding for RESTCONF and NETCONF enabling code reuse</t>
        </li>
        <li>
          <t>One specification for all current and future RPCss</t>
        </li>
      </ul>
      <t>XML Attributes Cons:</t>
      <ul spacing="normal">
        <li>
          <t>No YANG modeling, multiple values represented as a single string</t>
        </li>
        <li>
          <t>Dependency on W3C for any extension or changes in the future as encoding will be dictated by string encoding</t>
        </li>
      </ul>
      <t>RPCs Input Augmentations Pro:</t>
      <ul spacing="normal">
        <li>
          <t>YANG model of every leaf</t>
        </li>
        <li>
          <t>Re-use of YANG toolkits</t>
        </li>
        <li>
          <t>Simple updates by augmentations on existing YANG module</t>
        </li>
        <li>
          <t>Possibility to express deviations in case of partial support</t>
        </li>
      </ul>
      <t>RPCs Input Augmentations Cons:</t>
      <ul spacing="normal">
        <li>
          <t>Need to augment every RPC, including future RPCs would need to consider these augmentations, which is harder to maintain</t>
        </li>
        <li>
          <t>There is no literal alignment with W3C standard. However, as mentioned before most of the time there will be modifications to the content</t>
        </li>
        <li>
          <t>Would need updated RFP for each change at W3C, which will make adoption of new features slower</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
An8kA4JflQAA

-->

</rfc>
