<?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-kwatsen-netconf-quic-call-home-00" category="std" consensus="true" submissionType="IETF" updates="8071" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="NC/RC Call Home Using Quic">NETCONF Call Home and RESTCONF Call Home Using Quic</title>
    <seriesInfo name="Internet-Draft" value="draft-kwatsen-netconf-quic-call-home-00"/>
    <author fullname="Kent Watsen">
      <organization>Watsen Networks</organization>
      <address>
        <email>kent+ietf@watsen.net</email>
      </address>
    </author>
    <date year="2026" month="July" day="28"/>
    <area>Operations and Management</area>
    <workgroup>Network Configuration</workgroup>
    <keyword>NETCONF</keyword>
    <keyword>RESTCONF</keyword>
    <keyword>call-home</keyword>
    <keyword>quic</keyword>
    <abstract>
      <?line 59?>

<t>This RFC extends NETCONF Call Home and RESTCONF Call Home
[RFC 8071] to support the QUIC protocol [RFC 9000].</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://kwatsen.github.io/quic-call-home/draft-kwatsen-netconf-quic-call-home.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-kwatsen-netconf-quic-call-home/"/>.
      </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/kwatsen/quic-call-home"/>.</t>
    </note>
  </front>
  <middle>
    <?line 66?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This RFC extends NETCONF Call Home and RESTCONF Call Home
<xref target="RFC8071"/> to support the QUIC protocol <xref target="RFC9000"/>.</t>
      <t>RESTCONF <xref target="RFC8040"/> supports QUIC with its implicit
support for HTTP/3 <xref target="RFC9114"/>.  NETCONF <xref target="RFC6241"/>
supports QUIC with <xref target="I-D.ietf-netconf-over-quic"/>.</t>
      <t>The QUIC-based call home solution presented in this
document is nearly identical to the TLS-based solution
defined in RFC 8071, with the primary difference being
the use of UDP instead of TCP.</t>
      <t>RFC 8071 provides a full description and motivation for
call home.  This document merely maps the solution to
the QUIC protocol.</t>
      <section anchor="applicability-statement">
        <name>Applicability Statement</name>
        <t>The techniques described in this document are suitable for network
  management scenarios such as the ones described in <xref section="1.1" sectionFormat="of" target="RFC8071"/>.  However, these techniques are only defined for NETCONF
  Call Home and RESTCONF Call Home, as described in this document.</t>
        <t>The reason for this restriction is that different protocols have
  different security assumptions.  The NETCONF and RESTCONF protocols
  require clients and servers to verify the identity of the other
  party.  This requirement is specified for the NETCONF protocol
  in <xref section="2.2" sectionFormat="of" target="RFC6241"/>, and for the RESTCONF protocol in
  Sections <xref target="RFC8040" section="2.4" sectionFormat="bare"/> and <xref target="RFC8040" section="2.5" sectionFormat="bare"/> of <xref target="RFC8040"/>.</t>
        <t>This contrasts with the base QUIC protocol, which does not require
  programmatic verification of the other party, e.g., in <xref section="2.1" sectionFormat="of" target="RFC9001"/> says "the server is optionally able to learn and
  authenticate an identity for the client."  In such circumstances,
  allowing the QUIC server to contact the QUIC client would open new
  vulnerabilities.  Any use of call home with QUIC for purposes other
  than NETCONF or RESTCONF will need a thorough contextual risk
  assessment.  A risk assessment for this RFC is in the Security
  Considerations section <xref target="sec-con"/>.</t>
      </section>
      <section anchor="relation-to-rfc-9001">
        <name>Relation to RFC 9001</name>
        <t>This document uses the QUIC <xref target="RFC9001"/> with the exception that
  the statement "The client initiates the exchange and the server
  responds" made in <xref section="2.1" sectionFormat="of" target="RFC9001"/> does not apply.
  Assuming the reference to client means "QUIC client" and the
  reference to server means "QUIC server", this statement does
  not hold true in call home, where the network element is the
  QUIC server and yet still initiates the UDP exchange.  Security
  implications related to this change are discussed in Security
  Considerations <xref target="sec-con"/>.</t>
      </section>
      <section anchor="the-netconfrestconf-convention">
        <name>The NETCONF/RESTCONF Convention</name>
        <t>Throughout the remainder of this document, the term "NETCONF/
  RESTCONF" is used as an abbreviation in place of the text "the
  NETCONF or the RESTCONF".  The NETCONF/RESTCONF abbreviation is not
  intended to require or to imply that a client or server must
  implement both the NETCONF standard and the RESTCONF standard.</t>
      </section>
      <section anchor="requirements-terminology">
        <name>Requirements Terminology</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
        <?line -18?>

</section>
      <section removeInRFC="true" anchor="editorial-note-to-be-removed-by-rfc-editor">
        <name>Editorial Note (To be removed by RFC Editor)</name>
        <t>This document contains placeholder values that need to be replaced with
finalized values at the time of publication.  This note summarizes all
of the substitutions that are needed.  No other RFC Editor instructions
are specified elsewhere in this document.</t>
        <t>Please apply the following replacements:</t>
        <ul spacing="normal">
          <li>
            <t>XXXX --&gt; the assigned RFC number for this draft</t>
          </li>
          <li>
            <t>PORT-X --&gt; the IANA-assigned port number for NETCONF Call Home (QUIC)</t>
          </li>
          <li>
            <t>PORT-Y --&gt; the IANA-assigned port number for RESTCONF Call Home (QUIC)</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="solution-overview">
      <name>Solution Overview</name>
      <t>The diagram below illustrates call home from a protocol layering
  perspective:</t>
      <artwork><![CDATA[
         NETCONF/RESTCONF                    NETCONF/RESTCONF
              Server                              Client
                |                                    |
                |         1. UDO                     |
                |----------------------------------->|
                |                                    |
                |                                    |
                |         2. QUIC                    |
                |<-----------------------------------|
                |                                    |
                |                                    |
                |         3. NETCONF/RESTCONF        |
                |<-----------------------------------|
                |                                    |

               Note: arrows point from the "client" to
                 the "server" at each protocol layer
]]></artwork>
      <t>This diagram makes the following points:</t>
      <ol spacing="normal" type="1"><li>
          <t>The NETCONF/RESTCONF server begins by sending an empty UDP
datagram to the NETCONF/RESTCONF client.</t>
        </li>
        <li>
          <t>Using this source IP address of the UDP datagram, the
NETCONF/RESTCONF client initiates a QUIC session to the
NETCONF/RESTCONF server.</t>
        </li>
        <li>
          <t>Using this QUICsession, the NETCONF/RESTCONF client initates
a NETCONF/RESTCONF session to the NETCONF/RESTCONF server.</t>
        </li>
      </ol>
    </section>
    <section anchor="the-netconf-or-restconf-client">
      <name>The NETCONF or RESTCONF Client</name>
      <t>The term "client" is defined in <xref section="1.1" sectionFormat="of" target="RFC6241"/> and
<xref section="1.1.5" sectionFormat="of" target="RFC8040"/>.  In the context of network management,
the NETCONF/RESTCONF client might be a network management system.</t>
      <section anchor="protocol-operation">
        <name>Protocol Operation</name>
        <!--{:type C%d}-->
<!-- <list style="format C%d"> -->
<t>C1. The NETCONF/RESTCONF client listens for UDP datagrams from
    NETCONF/RESTCONF servers.  The client <bcp14>MUST</bcp14> support receiving
    UDP datagrams on the IANA-assigned ports defined in <xref target="iana-con"/>,
    but <bcp14>MAY</bcp14> be configured to listen to a different port.</t>
        <t>C2. Upon receiving a UDP datagram, the NETCONF/RESTCONF client ensures
    that the datagram contains at least 1200 bytes.  If the datagram
    contains less than 1200 bytes, the NETCONF/RESTCONF client stops
    processing the connection attempt.</t>
        <t>C3. The NETCONF/RESTCONF client initiates the standard QUIC client
    <xref target="RFC9000"/> protocol to the IP address and port extracted from
    the received UDP datagram.</t>
        <t>C4. As part of establishing the QUIC connection, the NETCONF/RESTCONF
    client <bcp14>MUST</bcp14> validate the server's presented certificate.  This
    validation <bcp14>MAY</bcp14> be accomplished by certificate path validation
    or by comparing the certificate to a previously trusted or
    "pinned" value.  If the certificate contains revocation checking
    information, the NETCONF/RESTCONF client <bcp14>SHOULD</bcp14> check the
    revocation status of the certificate.  If it is determined that
    a certificate has been revoked, the client <bcp14>MUST</bcp14> immediately
    close the connection.</t>
        <t>C5. If certificate path validation is used, the NETCONF/RESTCONF
    client <bcp14>MUST</bcp14> ensure that the presented certificate has a valid
    chain of trust to a preconfigured issuer certificate, and that
    the presented certificate encodes an "identifier" <xref target="RFC6125"/> that
    the client had awareness of prior to the connection attempt.  How
    identifiers are encoded in certificates <bcp14>MAY</bcp14> be determined by a
    policy associated with the certificate's issuer.  For instance, a
    given issuer may be known to only sign IDevID certificates
    <xref target="Std-802.1AR-2009"/> having a unique identifier (e.g., serial
    number) in the X.509 certificate's "CommonName" field.</t>
        <t>C6. After the server's certificate is validated, the QUIC protocol
    proceeds as normal to establish a QUIC connection.  When performing
    client authentication with the NETCONF/RESTCONF server, the
    NETCONF/RESTCONF client <bcp14>MUST</bcp14> ensure to only use credentials
    that it had previously associated for the NETCONF/RESTCONF
    server's presented server certificate.</t>
        <t>C7. Once the QUIC connection is established, the NETCONF/RESTCONF
    client starts either the NETCONF-client <xref target="RFC6241"/> or RESTCONF-client
    <xref target="RFC8040"/> protocol.  Assuming the use of the IANA-assigned ports,
    the NETCONF-client protocol is started when the UDP datagram is
    received on port PORT-X and the RESTCONF-client protocol is
    started when the the UDP datagram is received on port PORT-Y.</t>
      </section>
      <section anchor="configuration-data-model">
        <name>Configuration Data Model</name>
        <t>How a NETCONF or RESTCONF client is configured is outside the scope
of this document.  This includes configuration that might be used to
enable listening for call home connections, configuring trusted
certificate issuers, and configuring identifiers for expected
connections.  That said, YANG <xref target="RFC7950"/> modules for configuring a
NETCONF and RESTCONF clients, including call home, are provided in
{{RFC10010}} and {{RFC10011}} respectively.</t>
      </section>
    </section>
    <section anchor="the-netconf-or-restconf-server">
      <name>The NETCONF or RESTCONF Server</name>
      <t>The term "server" is defined in <xref section="1.1" sectionFormat="of" target="RFC6241"/> and
<xref section="1.1.5" sectionFormat="of" target="RFC8040"/>.  In the context of network management,
the NETCONF/RESTCONF server might be a network element or a device.</t>
      <section anchor="protocol-operation-1">
        <name>Protocol Operation</name>
        <!--{:type S%d}-->
<!-- <list style="format S%d"> -->
<t>S1. The NETCONF/RESTCONF server sends a UDP datagram containing at
    least 1200 bytes to the NETCONF/RESTCONF client.  The server <bcp14>MUST</bcp14>
    support connecting to one of the IANA-assigned ports defined in
    <xref target="iana-con"/>, but <bcp14>MAY</bcp14> be configured to connect to a different port.
    Using the IANA-assigned ports, the server connects to port PORT-X
    for NETCONF over QUIC, port PORT-Y for RESTCONF over QUIC.</t>
        <t>S2. The NETCONF/RESTCONF server listens for incoming QUIC connections
    on the UDP address and port used when it sent the initial UDP
    datagram to the NETCONF/RESTCONF client.</t>
        <t>S3. As part of establishing the QUIC connection, the NETCONF/RESTCONF
    server will send its certificate to the NETCONF/RESTCONF client.
    The server <bcp14>MUST</bcp14> also send all intermediate certificates leading
    up to a well known and trusted issuer.  How to send a list of
    certificates is defined in <xref section="4.4.2." sectionFormat="of" target="RFC8646"/>.</t>
        <t>S4. Establishing a QUIC session requires server authentication
    of client credentials in all cases except with RESTCONF, where
    some client authentication schemes occur after the TLS
    connection has been established.  If TLS-level client
    authentication is required, and the client is unable to
    successfully authenticate itself to the server in an amount
    of time defined by local policy, the server <bcp14>MUST</bcp14> close the
    connection.</t>
        <t>S5. Once the QUIC connection is established, depending on how the
    NETCONF/RESTCONF server is configured, it starts either the
    NETCONF-server or RESTCONF-server over QUIC protocol, per
    <xref target="I-D.ietf-netconf-over-quic"/> and <xref target="RFC8040"/> respectively..
    Assuming the use of the IANA-assigned ports, the NETCONF-server
    over QUIC protocol is used after connecting to remote port
    PORT-X and the RESTCONF-server protocol is used after
    connecting to remote port PORT-Y.</t>
        <t>S6. If a persistent connection is desired, the NETCONF/RESTCONF
    server, as the connection initiator, <bcp14>SHOULD</bcp14> actively test the
    aliveness of the connection using a keep-alive mechanism.  The
    NETCONF/RESTCONF server <bcp14>SHOULD</bcp14> send PING Frame <xref section="19.2" sectionFormat="of" target="RFC9000"/>, and ensure an ACK Frame <xref section="19.3" sectionFormat="of" target="RFC9000"/>
    in received in an amount of time set by local policy.  If the
    connection is lost, the NETCONF/RESTCONF server should initiate
    is new connection by going back to S1.</t>
      </section>
      <section anchor="configuration-data-model-1">
        <name>Configuration Data Model</name>
        <t>How a NETCONF or RESTCONF server is configured is outside the scope
of this document.  This includes configuration that might be used to
specify hostnames, IP addresses, ports, algorithms, or other relevant
parameters.  That said, YANG <xref target="RFC7950"/> modules for configuring
NETCONF and RESTCONF servers, including call home, are provided in
{{RFC10010}} and {{RFC10011}} respectively.</t>
      </section>
    </section>
    <section anchor="sec-con">
      <name>Security Considerations</name>
      <t>The solution in this document extends <xref target="RFC8071"/> to support call
home using QUIC <xref target="RFC9000"/> for the NETCONF and RESTCONF protocols,
<xref target="I-D.ietf-netconf-over-quic"/> and <xref target="RFC8040"/> respectively.  The
security considerations described in those documents apply here as
well.</t>
      <t>The solution in this document shims a standard QUIC client initated
connection by having the QUIC server start a connection by asking
the QUIC client to start a standard QUIC-client connection back to
it.  Thus the security analysis focuses on this interaction.</t>
      <t>An analysis for the unprotected role reversal is in <xref section="5" sectionFormat="of" target="RFC8071"/>.</t>
      <t>In order to thwart an amplication attack, the initial UDP datagram
must be at least 1200 bytes.  In order to thwart an injection
attack, the payload of initial UDP datagram is discarded.  In order
to thwart a denial of service attack, precautions mitigating DoS
attacks are recommended, such as temporarily blacklisting the
source IP address and port  after a set number of unsuccessful
connection attempts.</t>
      <t>This document recommends the NETCONF/RESTCONF server, as the
connection initiator, to actively test the aliveness of the
QUIC connection by sending a PING Frame and expecting an ACK
frame in an amount of time set by local policy.  The PING
and ACK frames are cryptographically protected, after mutual
authentication, and therefore do not introduce an attack vector.</t>
    </section>
    <section anchor="op-con">
      <name>Operational Considerations</name>
      <t>Please see the last paragram in <xref section="10.1.2" sectionFormat="of" target="RFC9000"/>.</t>
    </section>
    <section anchor="iana-con">
      <name>IANA Considerations</name>
      <t>IANA has assigned two UDP port numbers in the "User Ports" range
   with the service names "netconf-ch-quic" and "restconf-ch-quic".
   These ports will be the default ports for NETCONF Call Home and
   RESTCONF Call Home when using QUIC.  Below is the registration
   template following the rules in [RFC6335].</t>
      <t>Service Name:           netconf-ch-quic
   Port Number:            PORT-X
   Transport Protocol(s):  UDP
   Description:            NETCONF Call Home (QUIC)
   Assignee:               IESG <eref target="mailto:iesg@ietf.org">iesg@ietf.org</eref>
   Contact:                IETF Chair <eref target="mailto:chair@ietf.org">chair@ietf.org</eref>
   Reference:              RFC XXXX</t>
      <t>Service Name:           restconf-ch-quic
   Port Number:            PORT-Y
   Transport Protocol(s):  UDP
   Description:            RESTCONF Call Home (QUIC)
   Assignee:               IESG <eref target="mailto:iesg@ietf.org">iesg@ietf.org</eref>
   Contact:                IETF Chair <eref target="mailto:chair@ietf.org">chair@ietf.org</eref>
   Reference:              RFC XXXX</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC6520">
          <front>
            <title>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Heartbeat Extension</title>
            <author fullname="R. Seggelmann" initials="R." surname="Seggelmann"/>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <author fullname="M. Williams" initials="M." surname="Williams"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>This document describes the Heartbeat Extension for the Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) protocols.</t>
              <t>The Heartbeat Extension provides a new protocol for TLS/DTLS allowing the usage of keep-alive functionality without performing a renegotiation and a basis for path MTU (PMTU) discovery for DTLS. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6520"/>
          <seriesInfo name="DOI" value="10.17487/RFC6520"/>
        </reference>
        <reference anchor="RFC6125">
          <front>
            <title>Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="J. Hodges" initials="J." surname="Hodges"/>
            <date month="March" year="2011"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Internet Public Key Infrastructure Using X.509 (PKIX) certificates in the context of Transport Layer Security (TLS). This document specifies procedures for representing and verifying the identity of application services in such interactions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6125"/>
          <seriesInfo name="DOI" value="10.17487/RFC6125"/>
        </reference>
        <reference anchor="RFC8071">
          <front>
            <title>NETCONF Call Home and RESTCONF Call Home</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="February" year="2017"/>
            <abstract>
              <t>This RFC presents NETCONF Call Home and RESTCONF Call Home, which enable a NETCONF or RESTCONF server to initiate a secure connection to a NETCONF or RESTCONF client, respectively.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8071"/>
          <seriesInfo name="DOI" value="10.17487/RFC8071"/>
        </reference>
        <reference anchor="RFC8646">
          <front>
            <title>Not Issued</title>
            <author fullname="" initials="" surname="">
              <organization/>
            </author>
          </front>
          <seriesInfo name="RFC" value="8646"/>
        </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="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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-netconf-over-quic">
          <front>
            <title>NETCONF over QUIC</title>
            <author fullname="Jinyou Dai" initials="J." surname="Dai">
              <organization>Fiberhome Telecom LTD./CICT.</organization>
            </author>
            <author fullname="Shaohua Yu" initials="S." surname="Yu">
              <organization>China PCL.</organization>
            </author>
            <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Marc Blanchet" initials="M." surname="Blanchet">
              <organization>Viagenie</organization>
            </author>
            <author fullname="Per Andersson" initials="P." surname="Andersson">
              <organization>Ionio Systems</organization>
            </author>
            <date day="27" month="June" year="2026"/>
            <abstract>
              <t>   This document specifies how to use QUIC as a secure transport for
   exchanging Network Configuration Protocol (NETCONF) messages.
   NETCONF over QUIC allows to take advantage of QUIC streams, for
   example, to eliminate some TCP head-of-line blocking issues.  NETCONF
   over QUIC provides security properties similar to NETCONF over TLS.

   This document also defines a YANG module which augments the ietf-
   netconf-client and ietf-netconf-server YANG modules.

Editorial note (to be removed by the RFC Editor

   This draft contains placeholder values that need to be replaced with
   finalized values at the time of publication.  This note summarizes
   all of the substitutions that are needed.  No other RFC Editor
   instructions are specified elsewhere in this document.

   Artwork in this document contains shorthand references to drafts in
   progress.  Please apply the following replacements:

   *  AAAA --&gt; the assigned RFC value for this draft

   *  BBBB --&gt; the assigned RFC value for draft-ietf-netconf-netconf-
      client-server

   *  CCCC --&gt; the assigned RFC value for draft-ietf-netconf-quic-
      client-server

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-over-quic-09"/>
        </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="RFC7950">
          <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="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="RFC9001">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9001"/>
          <seriesInfo name="DOI" value="10.17487/RFC9001"/>
        </reference>
        <reference anchor="RFC9114">
          <front>
            <title>HTTP/3</title>
            <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment. This document describes a mapping of HTTP semantics over QUIC. This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9114"/>
          <seriesInfo name="DOI" value="10.17487/RFC9114"/>
        </reference>
        <reference anchor="Std-802.1AR-2009" target="http://standards.ieee.org/findstds/standard/802.1AR-2009.html">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks - Secure Device Identity</title>
            <author>
              <organization>IEEE SA-Standards Board</organization>
            </author>
            <date year="2009" month="December"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 408?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author would like to thank the following for lively discussions
on list and in the halls (ordered by first name):
  Lucas Pardu.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
H7FDw7+iPgAA

-->

</rfc>
