<?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.31 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zhao-nmop-e2e-traffic-stats-yang-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="YANG for Traffic Statistics">YANG Data Model for End-to-End Internet Traffic Operational Statistics</title>
    <seriesInfo name="Internet-Draft" value="draft-zhao-nmop-e2e-traffic-stats-yang-00"/>
    <author initials="J." surname="Zhao" fullname="Jing Zhao" role="editor">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhaoj501@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="W." surname="Lv" fullname="Wenxiang Lv" role="editor">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>lvwx28@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="S." surname="Zhang" fullname="Shuai Zhang" role="editor">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhangs366@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="R." surname="Pang" fullname="Ran Pang" role="editor">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>pangran@chinaunicom.cn</email>
      </address>
    </author>
    <date year="2026" month="March" day="02"/>
    <area>Operations and Management Area</area>
    <workgroup>nmop</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 63?>
<t>This document defines a YANG data model for end-to-end (E2E) Internet traffic operational statistics, supporting cross-domain correlation and network performance analysis.</t>
    </abstract>
  </front>
  <middle>
    <?line 65?>

<section anchor="intro">
      <name>Introduction</name>
      <t>As network architectures become increasingly complex and multilayered, maintaining end-to-end operational statistics is a significant challenge for service providers. Current telemetry data is often fragmented across siloed management systems, making it difficult to trace traffic flows from the access edge to the service egress.</t>
      <t>This document specifies a standardized YANG data model that bridges these statistical gaps. Unlike models focused on single-node performance, this model emphasizes inter-domain correlation, mapping traffic statistics and quality metrics (such as delay and loss) to a unified organizational and geographical hierarchy. This "single pane of glass" approach enables operators to provide service assurance and ensure consistent service delivery across heterogeneous network environments.</t>
    </section>
    <section anchor="architecture-for-end-to-end-internet-traffic-statistics">
      <name>Architecture for End-to-End Internet Traffic Statistics</name>
      <section anchor="system-architecture">
        <name>System Architecture</name>
        <t>The E2E traffic operational statistics framework bridges fragmented telemetry sources by mapping domain-specific statistics into a unified model, using network metadata as the common correlation key.</t>
        <figure anchor="fig-arch">
          <name>End-to-End Traffic Statistics System Architecture</name>
          <artwork><![CDATA[
+----------------------------------------------------------------------------------+
|                       Central Statistics & Analysis Platform                     |
|              (E2E Correlation, Visualization & Root Cause Analysis)             |
+----------------------------------------------------------------------------------+
                                      ^                                       ^
                                      |                                       |
                      Configuration / |                                       | Telemetry /
                      Task Sync (RW)  |                                       | State (RO)
                                      v                                       v
+----------------------------------------------------------------------------------+
|                            Standardized YANG Interface                           |
+----------------------------------------------------------------------------------+
        |                  |                  |                 |                
+-------+-------+  +-------+-------+  +------+------+   +------+------+  +------+------+
| Network       |  | Fixed         |  | Mobile      |   | IP          |  | Active      |
| Metadata      |  | Access        |  | Access      |   | Bearer      |  | Probes      |
+---------------+  +---------------+  +-------------+   +-------------+  +-------------+

        |                  |                  |                 |                
+-------+-------+  +-------+-------+
| Service       |  | Campus        |
| Points (IDC)  |  | Enterprise    |
+---------------+  +---------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="functional-interfaces">
        <name>Functional Interfaces</name>
        <t>To achieve holistic operational traffic statistics, the model integrates seven distinct functional sources:</t>
        <ul spacing="normal">
          <li>
            <t>Network Metadata: Acts as the "Source of Truth," providing a hierarchical inventory and asset classification. It uses anonymized codes to map physical infrastructure to logical geographical and organizational entities without exposing Personally Identifiable Information (PII).</t>
          </li>
          <li>
            <t>Fixed Access: Captures aggregated throughput, connection status, and port-level statistics per access node (e.g., OLT). This defines the "Fixed-line Intake" of the E2E path.</t>
          </li>
          <li>
            <t>Mobile Access: Monitors Radio Access Network (RAN) performance and generates application-category rankings (e.g., Video, Social, Gaming) to reflect mobile user experience.</t>
          </li>
          <li>
            <t>IP Bearer: Focuses on metro and core network flow analysis. It provides critical dual-stack (IPv4/IPv6) statistics and cross-domain transit metrics to identify backbone bottlenecks.</t>
          </li>
          <li>
            <t>Active Probes: Perform synthetic measurements of reachability and latency toward key service domains. This provides an objective "heartbeat" for critical Internet services.</t>
          </li>
          <li>
            <t>Service Points (IDC): Monitor egress traffic from data centers (IDC) per tenant group. It identifies the "Application Source" performance for hosted services and cloud applications.</t>
          </li>
          <li>
            <t>Campus/Enterprise: Provide statistics into local flow patterns and infrastructure health for enterprise-controlled segments, completing the statistical chain for private/managed networks.</t>
          </li>
        </ul>
      </section>
      <section anchor="end-to-end-data-correlation">
        <name>End-to-End Data Correlation</name>
        <t>The architecture ensures that traffic can be traced across these interfaces using the Network Metadata as the common key. For instance, a performance drop detected by Active Probes can be correlated with congestion metrics in the IP Bearer or status changes in Fixed Access, enabling rapid end-to-end fault demarcation.</t>
      </section>
      <section anchor="design-principles">
        <name>Design Principles</name>
        <ul spacing="normal">
          <li>
            <t>Vendor-Agnostic: The model abstracts underlying hardware differences to provide a consistent view of the E2E path.</t>
          </li>
          <li>
            <t>Privacy-First: No raw user identifiers cross the management interface; only aggregated and hashed data is permitted.</t>
          </li>
          <li>
            <t>Modularity: Each network domain is represented as a distinct container, allowing for partial implementation based on the operator's needs.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="yang-model-definition">
      <name>YANG Model Definition</name>
      <section anchor="tree-diagram">
        <name>Tree Diagram</name>
        <t>The following tree diagram provides a concise view of the <tt>ietf-internet-traffic-statistics</tt> module.</t>
        <artwork type="yang"><![CDATA[
```
  module: ietf-internet-traffic-statistics
  +--rw statistics-system
     +--rw config
     |  +--rw network-planning
     |  |  +--list organization* [org-code]
     |  |     +--leaf org-code          string
     |  |     +--leaf-list levels*      string
     |  |     +--leaf province-code     string
     |  |     +--leaf city-code         string
     |  +--rw app-probe
     |     +--list target* [target-id]
     |        +--leaf target-id         string
     |        +--leaf domain            inet:host
     |        +--leaf protocol          enumeration
     +--ro state
        +--ro home-fixed-network
        |  +--list access-node-stats* [node-id]
        |     +--leaf node-id                  string
        |     +--container traffic
        |     |  +--leaf ipv4-in?    uint64
        |     |  +--leaf ipv4-out?   uint64
        |     |  +--leaf ipv6-in?    uint64
        |     |  +--leaf ipv6-out?   uint64
        |     +--list app-category-summary* [category]
        |        +--leaf category           string
        |        +--leaf ipv4-in?           uint64
        |        +--leaf ipv4-out?          uint64
        |        +--leaf ipv6-in?           uint64
        |        +--leaf ipv6-out?          uint64
        |        +--leaf ipv4-delay?        uint32
        |        +--leaf ipv4-loss-rate?    percentage
        |        +--leaf ipv6-delay?        uint32
        |        +--leaf ipv6-loss-rate?    percentage
        +--ro mobile-network
        |  +--container regional-summary
        |  |  +--list region* [region-code radio-type]
        |  |     +--leaf region-code       string
        |  |     +--leaf radio-type        radio-access-type
        |  |     +--leaf ipv4-in?          uint64
        |  |     +--leaf ipv4-out?         uint64
        |  |     +--leaf ipv6-in?          uint64
        |  |     +--leaf ipv6-out?         uint64
        |  +--list app-rankings* [app-group radio-type]
        |     +--leaf app-group         string
        |     +--leaf radio-type        radio-access-type
        |     +--leaf ipv4-in?          uint64
        |     +--leaf ipv4-out?         uint64
        |     +--leaf ipv6-in?          uint64
        |     +--leaf ipv6-out?         uint64
        |     +--leaf ipv4-delay?       uint32
        |     +--leaf ipv4-loss-rate?   percentage
        |     +--leaf ipv6-delay?       uint32
        |     +--leaf ipv6-loss-rate?   percentage
        +--ro ip-network
        |  +--list biz-flow* [direction ip-type]
        |     +--leaf direction           enumeration
        |     +--leaf ip-type             enumeration
        |     +--leaf intl-traffic?       uint64
        |     +--leaf peering-traffic?    uint64
        +--ro idc-network
        |  +--list tenant-summary* [hashed-tenant-id]
        |     +--leaf hashed-tenant-id     string
        |     +--leaf ipv4-in?            uint64
        |     +--leaf ipv4-out?           uint64
        |     +--leaf ipv6-in?            uint64
        |     +--leaf ipv6-out?           uint64
        +--ro campus-network
        |  +--list enterprise-stats* [hashed-ent-id]
        |     +--leaf hashed-ent-id     string
        |     +--leaf ipv4-in?          uint64
        |     +--leaf ipv4-out?         uint64
        |     +--leaf ipv6-in?          uint64
        |     +--leaf ipv6-out?         uint64
        |     +--leaf ipv4-delay?       uint32
        |     +--leaf ipv4-loss-rate?   percentage
        |     +--leaf ipv6-delay?       uint32
        |     +--leaf ipv6-loss-rate?   percentage
        +--ro app-probe-results
           +--list probe-stat* [target-id]
              +--leaf target-id           leafref
              +--leaf ipv4-delay?         uint32
              +--leaf ipv4-loss-rate?     percentage
              +--leaf ipv6-delay?         uint32
              +--leaf ipv6-loss-rate?     percentage
```             
]]></artwork>
      </section>
      <section anchor="main-module">
        <name>Main Module</name>
        <t>The following is the formal YANG definition for ietf-internet-traffic-statistics.</t>
        <artwork type="yang"><![CDATA[
```
module ietf-internet-traffic-statistics {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-internet-traffic-statistics";
  prefix itv;

  import ietf-inet-types {
    prefix inet;
    reference
      "RFC 6991: Common YANG Data Types";
  }

  organization
    "IETF NMOP Working Group";

  contact
    "Editor: Jing Zhao <zhaoj501@chinaunicom.cn>";

  description
    "This module defines a YANG data model for end-to-end Internet traffic
     statistics. It provides a standardized structure for collecting 
     telemetry across fixed, mobile, and backbone network segments.

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

  revision 2026-03-02 {
    description
      "Initial revision.";
    reference
      "RFC XXXX: Internet traffic statistics";
  }

  /* --- Typedefs --- */

  typedef radio-access-type {
    type enumeration {
      enum GSM { description "2G - Global System for Mobile Communications."; }
      enum UMTS { description "3G - Universal Mobile Telecommunications System."; }
      enum LTE { description "4G - Long Term Evolution."; }
      enum NR { description "5G - New Radio."; }
      enum WLAN { description "Wireless Local Area Network (Wi-Fi)."; }
      enum UNKNOWN { 
        description "Unknown or unidentified radio access technology."; 
      }
    }
    description
      "Comprehensive enumeration of supported radio access technologies.";
  }

  typedef percentage {
    type decimal64 {
      fraction-digits 4;
      range "0.0000 .. 100.0000";
    }
    units "percent";
    description
      "Percentage value with four decimal places of precision.";
  }

  /* --- Groupings --- */

  grouping common-counters {
    description
      "Standard traffic volume counters with numerical defaults.";
    leaf ipv4-in {
      type uint64;
      units "octets";
      default 0;
    }
    leaf ipv4-out {
      type uint64;
      units "octets";
      default 0;
    }
    leaf ipv6-in {
      type uint64;
      units "octets";
      default 0;
    }
    leaf ipv6-out {
      type uint64;
      units "octets";
      default 0;
    }
  }

  grouping performance-stats {
    description
      "Key quality of service (QoS) metrics with mandatory defaults.";
    leaf ipv4-delay {
      type uint32;
      units "ms";
      default 0;
    }
    leaf ipv4-loss-rate {
      type percentage;
      default 0.0000;
    }
    leaf ipv6-delay {
      type uint32;
      units "ms";
      default 0;
    }
    leaf ipv6-loss-rate {
      type percentage;
      default 0.0000;
    }
  }

  /* --- Core Data Nodes --- */

  container statistics-system {
    description
      "Top-level anchor for the traffic statistics system.";

    container config {
      description "Task configurations and network planning metadata.";

      container network-planning {
        description "Organizational and geographic hierarchy configuration.";
        list organization {
          key "org-code";
          description "Mapping of anonymized codes to network hierarchy.";
          leaf org-code {
            type string;
            description "Anonymized organization code for local inventory.";
          }
          leaf-list levels {
            type string;
            max-elements 5;
            ordered-by user;
            description "Hierarchical levels of the organization.";
          }
          leaf province-code {
            type string;
            description "Anonymized province identifier.";
          }
          leaf city-code {
            type string;
            description "Anonymized city identifier.";
          }
        }
      }

      container app-probe {
        description "Configuration for active service probing tasks.";
        list target {
          key "target-id";
          description "List of domains or IPs to be monitored via probes.";
          leaf target-id {
            type string;
            description "Unique identifier for the probe target.";
          }
          leaf domain {
            type inet:host;
            description "Target domain name or IP address.";
          }
          leaf protocol {
            type enumeration {
              enum TCP; 
              enum UDP; 
              enum ICMP; 
              enum HTTP; 
              enum HTTPS;
            }
            description "Protocol used for measurement.";
          }
        }
      }
    }

    container state {
      config false;
      description
        "Real-time operational telemetry and statistics.";

      container home-fixed-network {
        description "Fixed-line access network statistics.";
        list access-node-stats {
          key "node-id";
          leaf node-id { 
            type string; 
            description "ID of the OLT/Access node."; 
          }
          container traffic { 
            uses common-counters; 
          }
          list app-category-summary {
            key "category";
            leaf category { 
              type string; 
              description "Service category (Video, Web)."; 
            }
            uses common-counters;
            uses performance-stats;
          }
        }
      }

      container mobile-network {
        description "Mobile RAN performance data.";
        container regional-summary {
          list region {
            key "region-code radio-type";
            leaf region-code { 
              type string; 
              description "Anonymized region ID."; 
            }
            leaf radio-type { 
              type radio-access-type; 
            }
            uses common-counters;
          }
        }
        list app-rankings {
          key "app-group radio-type";
          leaf app-group { 
            type string; 
            description "App group name."; 
          }
          leaf radio-type { 
            type radio-access-type; 
            description "Radio access technology type.";
          }
          uses common-counters;
          uses performance-stats;
        }
      }

      container ip-network {
        description "Backbone/Bearer network traffic flows.";
        list biz-flow {
          key "direction ip-type";
          leaf direction {
            type enumeration {
              enum inflow; 
              enum outflow;
            }
          }
          leaf ip-type {
            type enumeration {
              enum ipv4; 
              enum ipv6;
            }
          }
          leaf intl-traffic {
            type uint64; 
            units "octets"; 
            default 0;
          }
          leaf peering-traffic {
            type uint64; 
            units "octets"; 
            default 0;
          }
        }
      }

      container idc-network {
        description "Data center egress statistics.";
        list tenant-summary {
          key "hashed-tenant-id";
          leaf hashed-tenant-id { 
            type string; 
            description "Anonymized tenant ID."; 
          }
          uses common-counters;
        }
      }

      container campus-network {
        description "Enterprise/Campus network quality.";
        list enterprise-stats {
          key "hashed-ent-id";
          leaf hashed-ent-id { 
            type string; 
            description "Anonymized enterprise ID."; 
          }
          uses common-counters;
          uses performance-stats;
        }
      }

      container app-probe-results {
        description "Results of active application probing.";
        list probe-stat {
          key "target-id";
          leaf target-id {
            type leafref {
              path "/itv:statistics-system/itv:config/itv:app-probe/itv:target/itv:target-id";
            }
            description 
              "Reference to the corresponding probe target in config.";
          }
          uses performance-stats;
        }
      }
    }
  }
}
]]></artwork>
        <t>```</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The YANG module defined in this document is designed to be accessed via network management protocols such as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC6991" target="https://www.rfc-editor.org/info/rfc6991" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6991.xml">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC7950" target="https://www.rfc-editor.org/info/rfc7950" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7950.xml">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC8341" target="https://www.rfc-editor.org/info/rfc8341" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8341.xml">
          <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="RFC8342" target="https://www.rfc-editor.org/info/rfc8342" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8342.xml">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml">
          <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6241" target="https://www.rfc-editor.org/info/rfc6241" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6241.xml">
          <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="RFC8040" target="https://www.rfc-editor.org/info/rfc8040" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8040.xml">
          <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>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
n+2aQUsAAA==

-->

</rfc>
