<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc linkmailto="no" ?>
<?rfc editing="no" ?>
<?rfc comments="yes" ?>
<?rfc inline="yes"?>
<?rfc rfcedstyle="yes"?>
<?rfc-ext allow-markup-in-artwork="yes" ?>
<?rfc-ext include-index="no" ?>
<!--<?rfc strict="no"?> -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-netconf-quic-client-server-04" category="std" consensus="true" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.2 -->
  <front>
    <title abbrev="Groupings for QUIC clients and servers">
      YANG Groupings for QUIC clients and QUIC servers
    </title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-quic-client-server-04"/>
    <author fullname="Per Andersson" initials="P." surname="Andersson">
      <organization>Ionio Systems</organization>
      <address>
        <email>per.ietf@ionio.se</email>
      </address>
    </author>
    <date/>
    <area>OPS Area</area>
    <workgroup>NETCONF Working Group</workgroup>
    <abstract>
      <t>This document defines five YANG 1.1 modules to support the
        configuration of QUIC clients and QUIC servers. The modules include
        basic parameters for configuring QUIC based clients and servers as
        well as initial modules for the IANA registries "QUIC Versions" and
        "QUIC Transport Parameters".</t>
    </abstract>
    <note>
      <name>Editorial note (To be removed by the RFC Editor)</name>
      <t>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.</t>
      <t>Artwork in this document contains shorthand references to drafts in
        progress.  Please apply the following replacements:
      </t>
      <ul spacing="normal">
        <li>
          <t><tt>AAAA</tt> --&gt; the assigned RFC value for this draft</t>
        </li>
        <li>
          <t><tt>CCCC</tt> --&gt; the assigned RFC value for draft-ietf-netconf-udp-client-server</t>
        </li>
      </ul>
    </note>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="default">
      <name>Introduction</name>
      <t>This documents defines two YANG 1.1 <xref target="RFC7950" format="default"/> modules
        to support the configuration of QUIC clients and QUIC servers (QUIC is
        defined in <xref target="RFC9000" format="default"/>), either as standalone or in
        conjunction with configuration of other protocol layers.</t>
      <section numbered="true" toc="default">
        <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" format="default"/> <xref target="RFC8174" format="default"/>
          when, and only when, they appear in all capitals, as shown here.</t>
        <t>The following terms are defined in <xref target="RFC7950" format="default"/>
          and are not redefined here:
            client,
            data model,
            data tree,
            feature,
            extension,
            module,
            leaf,
            leaf-list,
            and server.
        </t>
        <!--
        <t>The following terms are defined in this document as follows:</t>
        -->
      </section>
    </section>
    <section anchor="quic-common-model" numbered="true" toc="default">
      <name>The "ietf-quic-common" Module</name>
      <t>This section defines a YANG 1.1 module called "ietf-quic-common".</t>
      <t>
        This YANG module has normative references to <xref target="RFC9000" format="default"/>,
        <xref target="RFC9221" format="default"/>, <xref target="RFC9287" format="default"/>,
        <xref target="RFC9312" format="default"/>, <xref target="RFC9368" format="default"/>, and
        <xref target="RFC9369" format="default"/>.
      </t>
      <section anchor="common-overview" numbered="true" toc="default">
        <name>Data model overview</name>
        <t>This section presents an overview of of the "ietf-quic-common"
          module in terms of features and groupings.</t>
        <section numbered="true" toc="default">
          <name>Groupings</name>
          <t>The "ietf-quic-common" module defines the following "grouping"
            statement:</t>
          <ul>
            <li>transport-parameters</li>
          </ul>
          <t>This grouping is presented in the following subsection.</t>
          <section toc="exclude" numbered="true">
            <name>The "quic-common" Grouping</name>
            <t>The following tree diagram <xref target="RFC8340" format="default"/> illustrates
                the "quic-common" grouping:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
  grouping version:
    +-- version*   iana-quic-versions:version
  grouping transport-parameters:
    +-- leaf-list?   iana-quic-transport:transport-parameter
]]></artwork>
            <t>Comments:</t>
            <ul>
              <li>This grouping contains common transport parameters for
                  QUIC connections.</li>
            </ul>
          </section>
        </section>
      </section>
      <section anchor="common-yang-module" numbered="true" toc="default">
        <name>YANG Module</name>
        <t keepWithNext="true">&lt;CODE BEGINS&gt; file "ietf-quic-common@2026-02-12.yang"</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

module ietf-quic-common {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-quic-common";
  prefix quiccmn;

  import iana-quic-versions {
    prefix iana-quic-versions;
    reference "RFC AAAA: YANG Groupings for QUIC clients and QUIC se\
rvers";
  }

  import iana-quic-transport {
    prefix iana-quic-transport;
    reference "RFC AAAA: YANG Groupings for QUIC clients and QUIC se\
rvers";
  }


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

  contact
    "WG List: NETCONF WG list <mailto:netconf@ietf.org>
     WG Web:  https://datatracker.ietf.org/wg/netconf
     Author:  Per Andersson <mailto:per.ietf@ionio.se>";

  description
    "This module defines a reusable grouping that is common for
     QUIC clients and QUIC servers. This grouping statement is
     used by both 'ietf-quic-client' and 'ietf-quic-server'
     modules.

     Copyright (c) 2026 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 AAAA
     (https://www.rfc-editor.org/info/rfcAAAA); 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 2026-02-12 {
    description
      "Initial version";
    reference
      "RFC AAAA: YANG Groupings for QUIC Clients and QUIC Servers";
  }

  // Groupings

  grouping version {
    description
      "A reusable grouping for QUIC Versions.";
    reference
      "RFC 9000: QUIC: A UDP-Based Multiplexed and Secure Transport
       RFC 9369: QUIC Version 2";

    leaf-list version {
      type iana-quic-versions:version;
      description
        "The QUIC versions supported.";
    }
  }

  grouping transport-parameters {
    description
      "A reusable grouping for QUIC Transport Parameters.";
    reference
      "RFC 9000: QUIC: A UDP-Based Multiplexed and Secure Transport
       RFC 9221: An Unreliable Datagram Extension to QUIC
       RFC 9287: Greasing the QUIC Bit
       RFC 9312: Manageability of the QUIC Transport Protocol
       RFC 9368: Compatible Version Negotiation for QUIC";

    leaf leaf-list {
      type iana-quic-transport:transport-parameter;
      description
        "A leaf list containing the QUIC transport parameters.";
    }
  }
}
]]></artwork>
        <t keepWithPrevious="true">&lt;CODE ENDS&gt;</t>
      </section>
    </section>
    <section anchor="quic-client-model" numbered="true" toc="default">
      <name>The "ietf-quic-client" Module</name>
      <t>This section defines a YANG 1.1 module called "ietf-quic-client".</t>
      <section anchor="client-overview" numbered="true" toc="default">
        <name>Data model overview</name>
        <t>This section presents an overview of of the "ietf-quic-client"
          module in terms of features and groupings.</t>
        <section numbered="true" toc="default">
          <name>Features</name>
          <t>The module itself does not define any features. However, in
            order to require TLS 1.3 the following "if-feature" is defined
            "tlscmn:tls13 not tlscmn:tls12". For QUIC TLS requirements see
            <xref target="RFC9001" format="default"/>.</t>
          <t>For further details about available features see the
            "ietf-tls-client" and "ietf-udp-client" modules. defined in
            <xref target="RFC9645" format="default"/> and
            <xref target="I-D.ietf-netconf-udp-client-server" format="default"/>
            respectively.</t>
        </section>
        <section numbered="true" toc="default">
          <name>Groupings</name>
          <t>The "ietf-quic-client" module defines the following "grouping"
            statement:</t>
          <ul>
            <li>quic-client</li>
          </ul>
          <t>This grouping is presented in the following subsection.</t>
          <section toc="exclude" numbered="true">
            <name>The "quic-client" Grouping</name>
            <t>The following tree diagram <xref target="RFC8340" format="default"/> illustrates
                the "quic-client" grouping:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
  grouping quic-client:
    +---u tlsc:tls-client-grouping
    |       {tlscmn:tls13 and not tlscmn:tls12}?
    +---u udpc:udp-client
    +---u quiccmn:transport-parameters
]]></artwork>
            <t>Comments:</t>
            <ul>
              <li>This grouping uses the "tls-client-grouping" grouping
                discussed in
                <xref target="RFC9645" format="default"/>. Note
                that QUIC requires TLS 1.3 (or later), thus the
                "if-feature" invariant "tlscmn:tls13 and not tlscmn:tls12" is
                defined for this grouping.</li>
              <li>This grouping uses the "udp-client-grouping" grouping
                discussed in
                <xref target="I-D.ietf-netconf-udp-client-server" format="default"/>.</li>
            </ul>
          </section>
        </section>
      </section>
      <section anchor="client-yang-module" numbered="true" toc="default">
        <name>YANG Module</name>
        <t>This YANG module has normative references to
          <xref target="RFC9645" format="default"/> and
          <xref target="I-D.ietf-netconf-udp-client-server" format="default"/>.</t>
        <t keepWithNext="true">&lt;CODE BEGINS&gt; file "ietf-quic-client@2026-02-12.yang"</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
module ietf-quic-client {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-quic-client";
  prefix quicc;

  import ietf-quic-common {
    prefix quiccmn;
    reference
      "RFC AAAA: YANG Groupings for QUIC Clients and QUIC Servers";
  }

  import ietf-tls-client {
    prefix tlsc;
    reference
      "RFC 9645: YANG Groupings for TLS Clients and TLS Servers";
  }

  import ietf-tls-common {
    prefix tlscmn;
    reference
      "RFC 9645: YANG Groupings for TLS Clients and TLS Servers";
  }

  import ietf-udp-client {
    prefix udpc;
    reference
      "RFC CCCC: YANG Groupings for UDP Clients and UDP Servers";
  }

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

  contact
    "WG List: NETCONF WG list <mailto:netconf@ietf.org>
     WG Web:  https://datatracker.ietf.org/wg/netconf
     Author:  Per Andersson <mailto:per.ietf@ionio.se>";

  description
    "This module defines reusable groupings for QUIC clients that
     can be used as a basis for specific QUIC client instances.

     Copyright (c) 2026 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 AAAA
     (https://www.rfc-editor.org/info/rfcAAAA); 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 2026-02-12 {
    description
      "Initial version";
    reference
      "RFC AAAA: YANG Groupings for QUIC Clients and QUIC Servers";
  }

  // Groupings

  grouping quic-client {
    description
      "Grouping to configure a QUIC client.";
    reference
      "RFC 9000: QUIC: A UDP-Based Multiplexed and Secure Transport";

    uses tlsc:tls-client-grouping {
      if-feature "tlscmn:tls13 and not tlscmn:tls12";
      description
        "QUIC requires that TLS 1.3 (or later) is used.";
      reference
        "RFC 9001: Using TLS to Secure QUIC";
    }
    uses udpc:udp-client;
    uses quiccmn:transport-parameters;
  }
}
]]></artwork>
        <t keepWithPrevious="true">&lt;CODE ENDS&gt;</t>
      </section>
    </section>
    <section anchor="quic-server-model" numbered="true" toc="default">
      <name>The "ietf-quic-server" Module</name>
      <t>This section defines a YANG 1.1 module called "ietf-quic-server".</t>
      <section anchor="server-overview" numbered="true" toc="default">
        <name>Data model overview</name>
        <t>This section presents an overview of of the "ietf-quic-server"
          module in terms of features and groupings.</t>
        <section numbered="true" toc="default">
          <name>Features</name>
          <t>The module itself does not define any features. However, in
            order to require TLS 1.3 the following "if-feature" is defined
            "tlscmn:tls13 not tlscmn:tls12". For QUIC TLS requirements see
            <xref target="RFC9001" format="default"/>.</t>
          <t>For further details about available features see the
            "ietf-tls-server" and "ietf-udp-server" modules, defined in
            <xref target="RFC9645" format="default"/> and
            <xref target="I-D.ietf-netconf-udp-client-server" format="default"/>
            respectively.</t>
        </section>
        <section numbered="true" toc="default">
          <name>Groupings</name>
          <t>The "ietf-quic-server" module defines the following "grouping"
            statement:</t>
          <ul>
            <li>quic-server</li>
          </ul>
          <t>This grouping is presented in the following subsection.</t>
          <section toc="exclude" numbered="true">
            <name>The "quic-server" Grouping</name>
            <t>The following tree diagram <xref target="RFC8340" format="default"/> illustrates
                the "quic-server" grouping:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
  grouping quic-server:
    +---u tlss:tls-server-grouping
    |       {tlscmn:tls13 and not tlscmn:tls12}?
    +---u udps:udp-server
    +---u quiccmn:transport-parameters
]]></artwork>
            <t>Comments:</t>
            <ul>
              <li>This grouping uses the "tls-server-grouping" grouping
                discussed in
                <xref target="RFC9645" format="default"/>. Note
                that QUIC requires TLS 1.3 (or later), thus the
                "if-feature" invariant "tlscmn:tls13 and not tlscmn:tls12" is
                defined for this grouping.</li>
              <li>This grouping uses the "udp-server-grouping" grouping
                discussed in
                <xref target="I-D.ietf-netconf-udp-client-server" format="default"/>.</li>
            </ul>
          </section>
        </section>
      </section>
      <section anchor="server-yang-module" numbered="true" toc="default">
        <name>YANG Module</name>
        <t>This YANG module has normative references to
          <xref target="RFC9645" format="default"/> and
          <xref target="I-D.ietf-netconf-udp-client-server" format="default"/>.</t>
        <t keepWithNext="true">&lt;CODE BEGINS&gt; file "ietf-quic-server@2026-02-12.yang"</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
module ietf-quic-server {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-quic-server";
  prefix quics;

  import ietf-quic-common {
    prefix quiccmn;
    reference
      "RFC AAAA: YANG Groupings for QUIC Clients and QUIC Servers";
  }

  import ietf-tls-server {
    prefix tlss;
    reference
      "RFC 9645: YANG Groupings for TLS Clients and TLS Servers";
  }

  import ietf-tls-common {
    prefix tlscmn;
    reference
      "RFC 9645: YANG Groupings for TLS Clients and TLS Servers";
  }

  import ietf-udp-server {
    prefix udps;
    reference
      "RFC CCCC: YANG Groupings for UDP Clients and UDP Servers";
  }

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

  contact
    "WG List: NETCONF WG list <mailto:netconf@ietf.org>
     WG Web:  https://datatracker.ietf.org/wg/netconf
     Author:  Per Andersson <mailto:per.ietf@ionio.se>";

  description
    "This module defines reusable groupings for QUIC servers that
     can be used as a basis for specific QUIC server instances.

     Copyright (c) 2026 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 AAAA
     (https://www.rfc-editor.org/info/rfcAAAA); 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 2026-02-12 {
    description
      "Initial version";
    reference
      "RFC AAAA: YANG Groupings for QUIC Clients and QUIC Servers";
  }

  // Features

  // FIXME feature quic-call-home

  // Groupings

  grouping quic-server {
    description
      "Grouping to configure a QUIC server.";
    reference
      "RFC 9000: QUIC: A UDP-Based Multiplexed and Secure Transport";

    uses tlss:tls-server-grouping {
      if-feature "tlscmn:tls13 and not tlscmn:tls12";
      description
        "QUIC requires that TLS 1.3 (or later) is used.";
      reference
        "RFC 9001: Using TLS to Secure QUIC";
    }
    uses udps:udp-server;
    uses quiccmn:transport-parameters;
  }
}
]]></artwork>
        <t keepWithPrevious="true">&lt;CODE ENDS&gt;</t>
      </section>
    </section>
    <section anchor="security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>This section follows the template defined in Section 3.7.1 of
        <xref target="RFC8407" format="default"/>.</t>
      <t>The YANG modules specified in this document defines a schema for data
        that is designed to be accessed via network management protocols such
        as NETCONF <xref target="RFC6241" format="default"/> or RESTCONF
        <xref target="RFC8040" format="default"/>. The lowest NETCONF layer is the secure
        transport layer, and the mandatory-to-implement secure transport is
        Secure Shell (SSH) <xref target="RFC6242" format="default"/>. The lowest RESTCONF layer
        is HTTPS, and the mandatory-to-implement secure transport is TLS
        <xref target="RFC8446" format="default"/>.</t>
      <t>The Network Configuration Access Control Model (NACM)
        <xref target="RFC8341" format="default"/> provides the means to restrict access for
        particular NETCONF or RESTCONF users to a preconfigured subset of all
        available NETCONF or RESTCONF protocol operations and content.</t>
      <t>The modules presented in this draft does not contain any protocol
        accessible nodes, and thus the security considerations for such are
        not provided here.</t>
      <t>Furthermore, the modules defines groupings, these considerations are
        primarily for the designers of other modules that use these groupings.</t>
      <t>Security considerations for the groupings used in the modules are
        discussed in <xref target="RFC9645" format="default"/> and
        <xref target="I-D.ietf-netconf-udp-client-server" format="default"/>, refer to these
        documents for further details.</t>
      <t>Since the modules does not define any RPCs or actions or notifications,
        and thus the security considerations for such are not provided here.</t>
    </section>
    <section numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section numbered="true" toc="default">
        <name>The "IETF XML" Registry</name>
        <t>This document registers five URIs in the "ns" subregistry of
            the IETF XML Registry <xref target="RFC3688" format="default"/> maintained at
            <eref target="https://www.iana.org/assignments/xml-registry/xml-registry.xhtml#ns"/>.
            Following the format in <xref target="RFC3688" format="default"/>, the following
            registration is requested:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
URI: urn:ietf:params:xml:ns:yang:ietf-quic-common
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace.

URI: urn:ietf:params:xml:ns:yang:ietf-quic-client
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace.

URI: urn:ietf:params:xml:ns:yang:ietf-quic-server
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace.

URI: urn:ietf:params:xml:ns:yang:iana-quic-versions
Registrant Contact: IANA
XML: N/A, the requested URI is an XML namespace.

URI: urn:ietf:params:xml:ns:yang:iana-quic-transport
Registrant Contact: IANA
XML: N/A, the requested URI is an XML namespace.
            ]]></artwork>
      </section>
      <section numbered="true" toc="default">
        <name>The "YANG Module Names" Registry</name>
        <t>This document registers five YANG modules in the YANG
          Module Names registry <xref target="RFC6020" format="default"/> maintained at
          <eref target="https://www.iana.org/assignments/yang-parameters/yang-parameters.xhtml"/>.
          Following the format defined in <xref target="RFC6020" format="default"/>,
          the below registration is requested:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
name: ietf-quic-common
namespace: urn:ietf:params:xml:ns:yang:ietf-quic-common
prefix: quiccmn
RFC: AAAA

name: ietf-quic-client
namespace: urn:ietf:params:xml:ns:yang:ietf-quic-client
prefix: quicc
RFC: AAAA

name: ietf-quic-server
namespace: urn:ietf:params:xml:ns:yang:ietf-quic-server
prefix: quics
RFC: AAAA

name: iana-quic-versions
namespace: urn:ietf:params:xml:ns:yang:iana-quic-versions
prefix: iana-quic-versions
RFC: AAAA

name: iana-quic-transport
namespace: urn:ietf:params:xml:ns:yang:iana-quic-transport
prefix: iana-quic-transport
RFC: AAAA
            ]]></artwork>
      </section>
      <section numbered="true" toc="default">
        <name>Considerations for IANA Maintained Modules</name>
        <t>
          The initial YANG modules are created with the iana-yang tool from
          &lt;https://github.com/llhotka/iana-yang&gt;.
        </t>
        <section numbered="true" toc="default">
          <name>The "iana-quic-versions" Module</name>
          <t>
            IANA is requested to maintain a YANG module called
            "iana-quic-versions" that shadows the "QUIC Versions" registry
            <xref target="IANA-QUIC-VERSIONS" format="default"/>.
          </t>
          <t>
            Ths registry defines a YANG enumeration for each QUIC version.
          </t>
          <t>
            An initial version of this module can be found in
            <xref target="iana-quic-versions-module" format="default"/>.
          </t>
          <ul>
            <li>
              Note that this module was created on July 6th, 2025, and that
              additional entries may have been added before this document's
              publication. If this is the case, IANA may publish an updated
              module containing the new entries, or publish the initial module
              with a "revision" containing the additional QUIC versions.
            </li>
          </ul>
        </section>
        <section numbered="true" toc="default">
          <name>The "iana-quic-transport" Module</name>
          <t>
            IANA is requested to maintain a YANG module called
            "iana-quic-transport" that shadows the "QUIC Transport Parameters"
            registry <xref target="IANA-QUIC-TRANSPORT" format="default"/>.
          </t>
          <t>
            Ths registry defines a YANG enumeration for each QUIC transport
            parameter.
          </t>
          <t>
            An initial version of this module can be found in
            <xref target="iana-quic-transport-module" format="default"/>.
          </t>
          <t>
            Since the QUIC Transport Parameters registry may have provisionally
            registered names change value when they are made permanent, make
            the following considerations.
          </t>
          <ul>
            <li>
                If an existing name exists in the module, update the value in
                the description field.
              </li>
            <li>
                Since normative changes to enum descriptions are
                non-backwards-compatible, the YANG Semver version need to update
                the MAJOR version number. Note that this follows normal YANG
                Semver versioning rules.
                <xref target="I-D.ietf-netmod-yang-semver" format="default"/>.
              </li>
          </ul>
          <ul>
            <li>
              Note that this module was created on July 6th, 2025, and that
              additional entries may have been added before this document's
              publication. If this is the case, IANA may publish an updated
              module containing the new entries, or publish the initial module
              with a "revision" containing the additional QUIC transport
              parameters.
            </li>
          </ul>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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>
        <!-- MUSTs, etc. -->
      <reference anchor="RFC3688" target="https://www.rfc-editor.org/info/rfc3688" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3688.xml">
          <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>
        <!-- IETF XML Registry -->
      <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>
        <!-- NETCONF -->
      <reference anchor="RFC6242" target="https://www.rfc-editor.org/info/rfc6242" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6242.xml">
          <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>
        <!-- NETCONF over SSH -->
      <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>
        <!-- YANG (curr) -->
      <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>
        <!-- RESTCONF -->
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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>
        <!-- rfc2119 update -->
      <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>
        <!-- NACM -->
      <reference anchor="RFC8407" target="https://www.rfc-editor.org/info/rfc8407" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8407.xml">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This memo provides guidelines for authors and reviewers of specifications containing YANG modules. Recommendations and procedures are defined, which are intended to increase interoperability and usability of Network Configuration Protocol (NETCONF) and RESTCONF protocol implementations that utilize YANG modules. This document obsoletes RFC 6087.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="216"/>
          <seriesInfo name="RFC" value="8407"/>
          <seriesInfo name="DOI" value="10.17487/RFC8407"/>
        </reference>
        <!-- YANG guidelines -->
      <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>
        <!-- TLS 1.3 -->
      <reference anchor="RFC9000" target="https://www.rfc-editor.org/info/rfc9000" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9000.xml">
          <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>
        <!-- QUIC -->
      <reference anchor="RFC9001" target="https://www.rfc-editor.org/info/rfc9001" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9001.xml">
          <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>
        <!-- QUIC TLS -->
      <reference anchor="RFC9312" target="https://www.rfc-editor.org/info/rfc9312" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9312.xml">
          <front>
            <title>Manageability of the QUIC Transport Protocol</title>
            <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
            <author fullname="B. Trammell" initials="B." surname="Trammell"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document discusses manageability of the QUIC transport protocol and focuses on the implications of QUIC's design and wire image on network operations involving QUIC traffic. It is intended as a "user's manual" for the wire image to provide guidance for network operators and equipment vendors who rely on the use of transport-aware network functions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9312"/>
          <seriesInfo name="DOI" value="10.17487/RFC9312"/>
        </reference>
        <!-- QUIC manageability -->
      <reference anchor="RFC9221" target="https://www.rfc-editor.org/info/rfc9221" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9221.xml">
          <front>
            <title>An Unreliable Datagram Extension to QUIC</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="E. Kinnear" initials="E." surname="Kinnear"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <date month="March" year="2022"/>
            <abstract>
              <t>This document defines an extension to the QUIC transport protocol to add support for sending and receiving unreliable datagrams over a QUIC connection.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9221"/>
          <seriesInfo name="DOI" value="10.17487/RFC9221"/>
        </reference>
        <!-- QUIC unreliable datagram -->
      <reference anchor="RFC9287" target="https://www.rfc-editor.org/info/rfc9287" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9287.xml">
          <front>
            <title>Greasing the QUIC Bit</title>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document describes a method for negotiating the ability to send an arbitrary value for the second-most significant bit in QUIC packets.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9287"/>
          <seriesInfo name="DOI" value="10.17487/RFC9287"/>
        </reference>
        <!-- Greate Quic Bit -->
      <reference anchor="RFC9368" target="https://www.rfc-editor.org/info/rfc9368" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9368.xml">
          <front>
            <title>Compatible Version Negotiation for QUIC</title>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>QUIC does not provide a complete version negotiation mechanism but instead only provides a way for the server to indicate that the version the client chose is unacceptable. This document describes a version negotiation mechanism that allows a client and server to select a mutually supported version. Optionally, if the client's chosen version and the negotiated version share a compatible first flight format, the negotiation can take place without incurring an extra round trip. This document updates RFC 8999.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9368"/>
          <seriesInfo name="DOI" value="10.17487/RFC9368"/>
        </reference>
        <!-- QUIC vsn negotiation -->
      <reference anchor="RFC9369" target="https://www.rfc-editor.org/info/rfc9369" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9369.xml">
          <front>
            <title>QUIC Version 2</title>
            <author fullname="M. Duke" initials="M." surname="Duke"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies QUIC version 2, which is identical to QUIC version 1 except for some trivial details. Its purpose is to combat various ossification vectors and exercise the version negotiation framework. It also serves as a template for the minimum changes in any future version of QUIC.</t>
              <t>Note that "version 2" is an informal name for this proposal that indicates it is the second version of QUIC to be published as a Standards Track document. The protocol specified here uses a version number other than 2 in the wire image, in order to minimize ossification risks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9369"/>
          <seriesInfo name="DOI" value="10.17487/RFC9369"/>
        </reference>
        <!-- QUIC Version 2 -->
      <reference anchor="RFC9645" target="https://www.rfc-editor.org/info/rfc9645" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9645.xml">
          <front>
            <title>YANG Groupings for TLS Clients and TLS Servers</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="October" year="2024"/>
            <abstract>
              <t>This document presents four YANG 1.1 modules -- three IETF modules and one supporting IANA module.</t>
              <t>The three IETF modules are "ietf-tls-common", "ietf-tls-client", and "ietf-tls-server". The "ietf-tls-client" and "ietf-tls-server" modules are the primary productions of this work, supporting the configuration and monitoring of TLS clients and servers.</t>
              <t>The IANA module is "iana-tls-cipher-suite-algs". This module defines YANG enumerations that provide support for an IANA-maintained algorithm registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9645"/>
          <seriesInfo name="DOI" value="10.17487/RFC9645"/>
        </reference>
        <!-- tls-client-server -->
      <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-netconf-udp-client-server.xml"/>
        <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-netmod-yang-semver.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC6020" target="https://www.rfc-editor.org/info/rfc6020" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6020.xml">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
        <!-- YANG (orig) -->
      <reference anchor="RFC8340" target="https://www.rfc-editor.org/info/rfc8340" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8340.xml">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <!-- tree diagrams-->
      <!--<?rfc include="reference.RFC.9002.xml"?>--> <!-- QUIC loss/congestion-->
      <reference anchor="IANA-QUIC-VERSIONS" target="https://www.iana.org/assignments/quic/quic.xhtml#quic-versions">
          <front>
            <title>QUIC Versions</title>
            <author fullname="Internet Assigned Numbers Authority (IANA)"/>
          </front>
        </reference>
        <reference anchor="IANA-QUIC-TRANSPORT" target="https://www.iana.org/assignments/quic/quic.xhtml#quic-transport">
          <front>
            <title>QUIC Transport Parameters</title>
            <author fullname="Internet Assigned Numbers Authority (IANA)"/>
          </front>
        </reference>
      </references>
    </references>
    <section numbered="true" toc="default">
      <name>YANG Modules for IANA</name>
      <t>
        The initial YANG modules are created with the iana-yang tool from
        &lt;https://github.com/llhotka/iana-yang&gt;.
      </t>
      <section anchor="iana-quic-versions-module" numbered="true" toc="default">
        <name>Initial Module for the "QUIC Versions" Registry</name>
        <t>This YANG module has normative references to
          <xref target="RFC9000" format="default"/> and <xref target="RFC9369" format="default"/>.</t>
        <t keepWithNext="true">&lt;CODE BEGINS&gt; file "iana-quic-versions@2025-09-23.yang"</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
module iana-quic-versions {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:iana-quic-versions";
  prefix iana-quic-versions;

  organization
    "Internet Assigned Numbers Authority (IANA)";

  contact
    "Internet Assigned Numbers Authority

     ICANN
     12025 Waterfront Drive, Suite 300
     Los Angeles, CA 90094

     Tel: +1 424 254 5300

     <mailto:iana@iana.org>";

  description
    "This YANG module translates IANA registry 'QUIC Versions' to
     YANG derived types.

     Copyright (c) 2025 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 was generated from the
     corresponding IANA registry using an XSLT stylesheet from the
     'iana-yang' project (https://github.com/llhotka/iana-yang).";

  reference
    "QUIC (https://www.iana.org/assignments/quic/)";

  revision 2025-09-23 {
    description
      "Current revision as of the revision date specified in the XML
       representation of the registry page.";
    reference
      "https://www.iana.org/assignments/quic/quic.xml";
  }

  /* Typedefs */

  typedef quic-version {
    type enumeration {
      enum 0x00000000 {
        description
          "(permanent) Reserved for Version Negotiation";
        reference
          "RFC 9000";
      }
      enum 0x00000001 {
        description
          "(permanent)";
        reference
          "RFC 9000";
      }
      enum 0x51303433 {
        description
          "(provisional) Google QUIC Q043";
      }
      enum 0x51303436 {
        description
          "(provisional) Google QUIC Q046";
      }
      enum 0x51303530 {
        description
          "(provisional) Google QUIC Q050";
      }
      enum 0x6b3343cf {
        description
          "(permanent)";
        reference
          "RFC 9369";
      }
      enum 0x709a50c4 {
        description
          "(provisional) QUIC v2 draft codepoint";
        reference
          "RFC 9369";
      }
    }
    description
      "This enumeration type defines QUIC protocol versions.";
    reference
      "RFC 9000: QUIC: A UDP-Based Multiplexed and Secure
       Transport";
  }

  typedef version {
    type quic-version;
    description
      "This type allows reference to a QUIC version using the
       assigned value.";
  }
}
]]></artwork>
        <t keepWithPrevious="true">&lt;CODE ENDS&gt;</t>
      </section>
      <section anchor="iana-quic-transport-module" numbered="true" toc="default">
        <name>Initial Module for the "QUIC Transport Parameters" Registry</name>
        <t>
          This YANG module has normative references to
          <xref target="RFC9000" format="default"/>, <xref target="RFC9221" format="default"/>,
          <xref target="RFC9287" format="default"/>, <xref target="RFC9312" format="default"/>, and
          <xref target="RFC9368" format="default"/>,
        </t>
        <t keepWithNext="true">&lt;CODE BEGINS&gt; file "iana-quic-transport@2025-09-23.yang"</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
module iana-quic-transport {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:iana-quic-transport";
  prefix iana-quic-transport;

  organization
    "Internet Assigned Numbers Authority (IANA)";

  contact
    "Internet Assigned Numbers Authority

     ICANN
     12025 Waterfront Drive, Suite 300
     Los Angeles, CA 90094

     Tel: +1 424 254 5300

     <mailto:iana@iana.org>";

  description
    "This YANG module translates IANA registry 'QUIC Transport
     Parameters' to YANG derived types.

     Copyright (c) 2025 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 was generated from the
     corresponding IANA registry using an XSLT stylesheet from the
     'iana-yang' project (https://github.com/llhotka/iana-yang).";

  reference
    "QUIC (https://www.iana.org/assignments/quic/)";

  revision 2025-09-23 {
    description
      "Current revision as of the revision date specified in the XML
       representation of the registry page.";
    reference
      "https://www.iana.org/assignments/quic/quic.xml";
  }

  /* Typedefs */

  typedef quic-transport-parameter {
    type enumeration {
      enum original_destination_connection_id {
        description
          "0x00 (permanent)";
        reference
          "RFC 9000";
      }
      enum max_idle_timeout {
        description
          "0x01 (permanent)";
        reference
          "RFC 9000";
      }
      enum stateless_reset_token {
        description
          "0x02 (permanent)";
        reference
          "RFC 9000";
      }
      enum max_udp_payload_size {
        description
          "0x03 (permanent)";
        reference
          "RFC 9000";
      }
      enum initial_max_data {
        description
          "0x04 (permanent)";
        reference
          "RFC 9000";
      }
      enum initial_max_stream_data_bidi_local {
        description
          "0x05 (permanent)";
        reference
          "RFC 9000";
      }
      enum initial_max_stream_data_bidi_remote {
        description
          "0x06 (permanent)";
        reference
          "RFC 9000";
      }
      enum initial_max_stream_data_uni {
        description
          "0x07 (permanent)";
        reference
          "RFC 9000";
      }
      enum initial_max_streams_bidi {
        description
          "0x08 (permanent)";
        reference
          "RFC 9000";
      }
      enum initial_max_streams_uni {
        description
          "0x09 (permanent)";
        reference
          "RFC 9000";
      }
      enum ack_delay_exponent {
        description
          "0x0a (permanent)";
        reference
          "RFC 9000";
      }
      enum max_ack_delay {
        description
          "0x0b (permanent)";
        reference
          "RFC 9000";
      }
      enum disable_active_migration {
        description
          "0x0c (permanent)";
        reference
          "RFC 9000";
      }
      enum preferred_address {
        description
          "0x0d (permanent)";
        reference
          "RFC 9000";
      }
      enum active_connection_id_limit {
        description
          "0x0e (permanent)";
        reference
          "RFC 9000";
      }
      enum initial_source_connection_id {
        description
          "0x0f (permanent)";
        reference
          "RFC 9000";
      }
      enum retry_source_connection_id {
        description
          "0x10 (permanent)";
        reference
          "RFC 9000";
      }
      enum version_information {
        description
          "0x11 (permanent)";
        reference
          "RFC 9368";
      }
      enum max_datagram_frame_size {
        description
          "0x20 (permanent)";
        reference
          "RFC 9221";
      }
      enum discard {
        description
          "0x173e (provisional) Receiver silently discards.";
        reference
          "https://github.com/quicwg/base-drafts/wiki
           /Quantum-Readiness-test";
      }
      enum google_handshake_message {
        description
          "0x26ab (provisional) Used to carry Google internal
           handshake message";
      }
      enum grease_quic_bit {
        description
          "0x2ab2 (permanent)";
        reference
          "RFC 9287";
      }
      enum initial_rtt {
        description
          "0x3127 (provisional) Initial RTT in microseconds";
      }
      enum google_connection_options {
        description
          "0x3128 (provisional) Google connection options for
           experimentation";
      }
      enum user_agent {
        status deprecated;
        description
          "0x3129 (provisional) User agent string (deprecated)";
      }
      enum google_version {
        description
          "0x4752 (provisional) Google QUIC version downgrade
           prevention";
      }
      enum version_information_draft {
        status deprecated;
        description
          "0xff73db (provisional) Deprecated; use version_information
           instead";
        reference
          "draft-ietf-quic-version-negotiation-13";
      }
      enum google_debug_1 {
        description
          "0x219bbcd0 (provisional)";
      }
      enum min_ack_delay {
        description
          "0xff04de1b (provisional)";
        reference
          "draft-ietf-quic-ack-frequency-07";
      }
      enum enable_multipath {
        description
          "0x0f739bbc1b666d05 (provisional)";
        reference
          "draft-ietf-quic-multipath-05";
      }
      enum enable_multipath-06 {
        description
          "0x0f739bbc1b666d06 (provisional)";
        reference
          "draft-ietf-quic-multipath-06";
      }
      enum initial_max_path_id {
        description
          "0x0f739bbc1b666d0d (provisional)";
        reference
          "draft-ietf-quic-multipath-15";
      }
      enum bdp_frame {
        description
          "0x4143414213370002 (provisional)";
        reference
          "draft-misell-quic-bdp-token-02";
      }
    }
    description
      "This enumeration type defines QUIC transport parameters.";
    reference
      "RFC 9000: QUIC: A UDP-Based Multiplexed and Secure
       Transport";
  }

  typedef transport-parameter {
    type quic-transport-parameter;
    description
      "This type allows reference to a QUIC transport parameters
       using the assigned value.";
  }
}
]]></artwork>
        <t keepWithPrevious="true">&lt;CODE ENDS&gt;</t>
      </section>
    </section>
  </back>
</rfc>
