<?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-trace-ctx-extension-01" category="std" consensus="true" submissionType="IETF" obsoletes="draft-netconf-trace-ctx-extension-00" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title abbrev="nc_trace">NETCONF Extension to support Trace Context propagation</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-trace-ctx-extension-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>Network Configuration</workgroup>
    <keyword>telemetry</keyword>
    <keyword>distributed systems</keyword>
    <keyword>opentelemetry</keyword>
    <abstract>
      <?line 82?>

<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 86?>

<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 complemetary 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="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 faciliate 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 infomration 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 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>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-netconf-otlp-context=
  "urn:ietf:params:xml:ns:yang:otlp-context"</t>
          </li>
        </ul>
      </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; <em>traceparent</em> and <em>tracestate</em> for this purpose.  NETCONF clients that are taking advantage of this feature MUST add one <em>w3ctc:traceparent</em> attribute and MAY add one <em>w3ctc:tracestate</em> attribute to the <em>nc:rpc</em> tag.</t>
      <t>A NETCONF server that receives a trace context attribute in the form of a <em>w3ctc:traceparent</em> attribute SHOULD apply the mutation rules described in <xref target="W3C-Trace-Context"/>.  A NETCONF server MAY add one <em>w3ctc:traceparent</em> attribute in the <em>nc:rpc-reply</em> response to the <em>nc:rpc</em> tag above.  NETCONF servers MAY also add one <em>w3ctc:traceparent</em> attribute in notification and update message envelopes: <em>notif:notification</em>, <em>yp:push-update</em> and <em>yp:push-change-update</em>.</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 <em>w3ctc:traceparent</em> attribute to a tag, that client or server MAY also add one <em>w3ctc:tracestate</em> attribute to the same tag.</t>
      <t>The proper encoding and interpretation of the contents of the <em>w3ctc:traceparent</em> 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 <em>w3ctc:tracestate</em> 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 <em>w3ctc:tracestate</em> attributes, so its content MUST always be encoded as a single string.  The <em>tracestate</em> field value is a list of list-members separated by commas (,).  A list-member is a key/value pair separated by an equals sign (=).  Spaces and horizontal tabs surrounding list-members are 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 <em>tracestate</em> value MAY contain double quotes in its payload.  If so, they MUST be encoded according to XML rules, 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>The NETCONF 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 attribute values.</t>
        <t>If the server still decides to reject the RPC because of the trace context attribute values, 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
otlp-trace-context-error-info structure with relevant details about
the error.  This structure is defined in the module
ietf-netconf-otlp-context.yang.  Example of a badly formated 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-netconf-otlp-context=
            "urn:ietf:params:xml:ns:yang:otlp-context"
            message-id="1">
  <rpc-error>
    <error-type>protocol</error-type>
    <error-tag>operation-failed</error-tag>
    <error-severity>error</error-severity>
    <error-message>
      OTLP traceparent attribute incorrectly formatted
    </error-message>
    <error-info>
      <ietf-netconf-otlp-context:meta-name>
        w3ctc:traceparent
      </ietf-netconf-otlp-context:meta-name>
      <ietf-netconf-otlp-context:meta-value>
        Bad Format
      </ietf-netconf-otlp-context:meta-value>
      <ietf-netconf-otlp-context:error-type>
        ietf-netconf-otlp-context:bad-format
      </ietf-netconf-otlp-context:error-type>
    </error-info>
  </rpc-error>
</rpc-reply>
]]></sourcecode>
      </section>
      <section anchor="trace-context-extension-versionning">
        <name>Trace Context extension 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 NETCONF 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 NETCONF capabilities for each headers' version.</t>
        <t>We define a pair YANG modules (ietf-netconf-otlp-context-traceparent-version-1.0.yang and ietf-netconf-otlp-context-tracestate-version-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 capabilities 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="yang-modules">
      <name>YANG Modules</name>
      <section anchor="yang-module-for-otlp-trace-context-error-info-structure">
        <name>YANG module for otlp-trace-context-error-info structure</name>
        <sourcecode type="yang" markers="true"><![CDATA[
module ietf-netconf-otlp-context {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:otlp-context";
  prefix ietf-netconf-otlp-context;

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

  organization
     "IETF NETCONF (Network Configuration) Working Group";

  contact
    "WG Web:   <http://tools.ietf.org/wg/netconf/>
    WG List:  <mailto:netconf@ietf.org>";
  
  description 
    "When propagating tracing information across applications,
    client and servers needs to share some specific contextual 
    information. This NETCONF extensions aligns the NETCONF 
    protocol to the W3C trace-context document: 
    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 2023-07-01 {
    description
      "Initial revision";
    reference
      "RFC XXXX";
  }

  identity meta-error {
    description "Base identity for otlp 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 otlp-trace-context-error-info {
    container otlp-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 OTLP 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-netconf-otlp-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"><![CDATA[
module ietf-netconf-otlp-context-traceparent-version-1.0 {
  namespace "urn:ietf:params:xml:ns:yang:traceparent:1.0";
  prefix ietf-netconf-otlpparent-1.0;
}
]]></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"><![CDATA[
module ietf-netconf-otlp-context-tracestate-version-1.0 {
  namespace "urn:ietf:params:xml:ns:yang:tracestate:1.0";
  prefix ietf-netconf-otlpstate-1.0;
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The YANG modules specified in this document are used to flag capabilities define and define an error information structure that is designed to be accessed via network management protocols such as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.</t>
      <t>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 <em>traceparent</em> and <em>tracestate</em> 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 lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) <xref target="RFC6242"/>. 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 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://tools.ietf.org/html/rfc3688).</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-netconf-otlp-context-traceparent-version-1.0

  prefix: ietf-netconf-otlpparent-1.0

  namespace: urn:ietf:params:xml:ns:yang:traceparent:1.0

  RFC: XXXX
]]></artwork>
      <t>and</t>
      <artwork><![CDATA[
  name: ietf-netconf-otlp-context-tracestate-version-1.0

  prefix: ietf-netconf-otlpstate-1.0

  namespace: urn:ietf:params:xml:ns:yang:tracestate:1.0

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

  prefix: ietf-netconf-otlp-context

  namespace: urn:ietf:params:xml:ns:yang:otlp-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 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="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="RFC6242">
          <front>
            <title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
            <author fullname="M. Wasserman" initials="M." surname="Wasserman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem. This document obsoletes RFC 4742. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6242"/>
          <seriesInfo name="DOI" value="10.17487/RFC6242"/>
        </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="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="2022" month="August" day="29"/>
          </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>Cisco Systems</organization>
            </author>
            <date day="20" month="June" year="2024"/>
            <abstract>
              <t>   NETCONF clients and servers often need to have a synchronized view of
   the server's configuration data stores.  The volume of configuration
   data in a server may be very large, while data store changes
   typically are small when observed at typical client resynchronization
   intervals.

   Rereading the entire data store and analyzing the response for
   changes is an inefficient mechanism for synchronization.  This
   document specifies an extension to NETCONF 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-05"/>
        </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 555?>

<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>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">
        <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">
        <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 rpcs</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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
AcTvBg8JGq4Xv2jSy9ML3lSPHj3+Xtbb/naRI76iQs6WSrXL9tnR8RuGE1+Q
8z0fxYqNO72jMykbQYsTq1J4ELqKxB9DaXWugIZymQbKY7d5DYX+rKHwF8Zd
qltJ2gbxcdfw6kO5flfO5ajXR2dHLZI03JuFmSTAsoVt5ParHF7wfgL1zfmZ
y/BsbfqiFnVcDQX97ZbMie/nocSkUk0l5pL6FRBVfj8oTGhZBGb20DeqNGQI
MkUwqQRNINjqBUt2Nfi6VLWXW8grlG5vg3BnPRkwLWcpxiCx2c7Areqb89fD
laWtK1ugNwExVBgMPuZkxJD2BoH9+uTiK4qjAvxDdbZ7xH6diCeAFaYTP7iG
gMHdCCunhXElN9zJYyvIWqkz/KWiXC/EEEbpHu8d7Hly8juvHmxidbx90tK5
svg6oQG0FsFtJqW8bWnIgWVCCx7geQjUK4bMnUB7q+qhMHuj7VeBfCdsYaMN
QWt2awD2CchRp7k4RUAi16VcmgnzSsk5d4pvYKrfLTAG5YkXzvDZxOOpe2Pb
uckyoMJVzjnsdyCcjujSMUvv7XmDZlHpT72e60WqzpNrMMJemTT52FNHqfmo
sYO6KPOrVFswmU4XkaaMB1ZmJzTuSQGiQf0JtELyw5U71JsUfGNadfrZzHKM
qk00F7piaH5S+Nu7LykHjfFnSu/IiVRcz+9Bi6g/grIemcWYfv7SZPl//xcI
gFQnWIegrdP+Bs9jeTS5m+1El/f7fbqXB6lwzEe81TbbqaDLjHjUuFNPKHWy
Q77LK4TBuSd7ezjo3n6nj29sgQ7eFo/qGsT9XlGbz+H6H9w7Zs7cm9mqyD42
+oZS7cgK2RVOye85rIQTwMLvSIS2r5JiZvCQj1joroaVcEV3IrgiAxgIMzZ9
CbMLA64s8pCKQTZ8Z+YeLSmfC/qcGn7/FXz/Jsd4UGHmuUWELoOLzLnBsbtj
jmwxOVErV9bjaxeBSab5DNh1y9IJizTlO/5gLyJRYYRznbGJCjsY1sk1LbA0
PlsDFrliFQcK6+TtKb1tx9OAmINPM6HpbQZADbFR3QkLdxVAC5YOiBUOg1WQ
KWGr2wlQHVFhB/1AryvE1nTNclyPclONCd+LFwsZpe7bQ3t3rWd1j34wbDAb
3g7OQafYg+i6hP5Gy0L3aaEHHhAO2X/tuAxwjnkqGdS3kjfbyasKZDC67Hsp
XhY8r9SHUGVPreSOT36zp+ZrkIL3esFw7w+PK6K2qWQiRpudd+/+xnoVWdlw
82sFw97u3WHD9vPfnroouaoX58lBJiowv/N2ki6fOY+NrvJC69+FVLPZ7n8H
kz8ErmM5VxTef9ZWf8HidO17ldCdnbIl6W7Ox9Ov/kQI+WjubVEZvi6KbHQ0
1o4ql/Ta0pFdPufu3gEi5j3WsC3o/bv3yfZLfzWlLiYLd+sjnqLjewoKTfUC
lcbiC2xqsKC3gYqaQagdKOZyNFsCoWEUIKPdPZbyOWJyvihEQixYYB+7F0Hm
1jSOEYPV2EABjEcnuU+Tkm9LxMoTgoEU7spbGrHtBSZaahfTekeJruR19Sx4
8x+/iy1GrQTchr3fZqY+JFcUYu5bsrN0/QpXihXzyK7AjMsnoM9yv/FNSsGJ
qsqQivxRZWCRSVa2nmbDMV6auQHTJIuWqAtxvfwmkmVQlYn3WYied8eHGTxt
Kzy422hAOJburBpP49t0OsRur4ndjmrs5uhQrYcIzBEho8f427npBzco0ltF
rhJUvEASsuR8YR2mGmvDk5RJ+I7dQFZi13d08xG7jMA4sOUKdK3xPhPpLBeF
4sTkbKOQZsPqjgVVRDLy2g/hbV4TELanghfcVeQW2zWTbs4ecvGbcJLgrXJT
7V5qA9qRgnU4d/1Q33oOx8tzYYCB+pqDW1R9IUEvukgLLznl62WczEpmRvKh
jvBh3ZGtJBbpfwTmfbWuhVhl56/eVdpKDAgQHACTWxoNTnaJjnP/LlXUB3Lu
3iqL4Zyi878P8BDPGX0AAA==

-->

</rfc>
