<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" docName="draft-ietf-netconf-udp-client-server-10" number="9984" updates="" obsoletes="" ipr="trust200902" submissionType="IETF" consensus="true" tocInclude="true" tocDepth="2" symRefs="true" sortRefs="true" xml:lang="en" prepTime="2026-06-15T22:56:53" indexInclude="true" scripts="Common,Latin">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-netconf-udp-client-server-10" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9984" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Groupings for UDP Clients and Servers">YANG Groupings for UDP Clients and UDP Servers</title>
    <seriesInfo name="RFC" value="9984" stream="IETF"/>
    <author fullname="Alex Huang Feng" initials="A." surname="Huang-Feng">
      <organization showOnFrontPage="true">INSA-Lyon</organization>
      <address>
        <postal>
          <city>Lyon</city>
          <country>France</country>
        </postal>
        <email>alex.huang-feng@insa-lyon.fr</email>
      </address>
    </author>
    <author fullname="Pierre Francois" initials="P." surname="Francois">
      <organization showOnFrontPage="true">INSA-Lyon</organization>
      <address>
        <postal>
          <city>Lyon</city>
          <country>France</country>
        </postal>
        <email>pierre.francois@insa-lyon.fr</email>
      </address>
    </author>
    <author fullname="Kent Watsen" initials="K." surname="Watsen">
      <organization showOnFrontPage="true">Watsen Networks</organization>
      <address>
        <email>kent+ietf@watsen.net</email>
      </address>
    </author>
    <date month="06" year="2026"/>
    <area>OPS</area>
    <workgroup>netconf</workgroup>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document presents two YANG 1.1 modules with reusable
      groupings for managing UDP clients and UDP servers.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9984" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2026 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.2.1"><xref derivedContent="1.2" format="counter" sectionFormat="of" target="section-1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-adherence-to-the-nmda">Adherence to the NMDA</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.3">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.3.1"><xref derivedContent="1.3" format="counter" sectionFormat="of" target="section-1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions">Conventions</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-ietf-udp-client-module">The "ietf-udp-client" Module</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-data-model-overview">Data Model Overview</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-example-usage">Example Usage</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.3">
                <t indent="0" pn="section-toc.1-1.2.2.3.1"><xref derivedContent="2.3" format="counter" sectionFormat="of" target="section-2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-yang-module">YANG Module</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-ietf-udp-server-module">The "ietf-udp-server" Module</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-data-model-overview-2">Data Model Overview</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-example-usage-2">Example Usage</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-yang-module-2">YANG Module</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-ietf-xml-registry">The "IETF XML Registry"</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-yang-module-names-regis">The "YANG Module Names" Registry</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">This document presents two YANG 1.1 <xref target="RFC7950" format="default" sectionFormat="of" derivedContent="RFC7950"/> modules with reusable groupings
      for managing UDP clients and UDP servers <xref target="RFC768" format="default" sectionFormat="of" derivedContent="RFC768"/>.
      These modules may be used directly (e.g., define
      a specific UDP client or UDP server) or in conjunction with the configuration defined
      for higher-level protocols that depend on UDP.</t>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-1.1">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-1.1-1">
    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" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-1.2">
        <name slugifiedName="name-adherence-to-the-nmda">Adherence to the NMDA</name>
        <t indent="0" pn="section-1.2-1">This document is compliant with the Network Management Datastore
        Architecture (NMDA) <xref target="RFC8342" format="default" sectionFormat="of" derivedContent="RFC8342"/>. It does not define
        any protocol-accessible nodes that are "config false".</t>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-1.3">
        <name slugifiedName="name-conventions">Conventions</name>
        <t indent="0" pn="section-1.3-1">Various examples in this document use the XML <xref target="W3C.REC-xml-20081126" format="default" sectionFormat="of" derivedContent="W3C.REC-xml-20081126"/>
        encoding. Other encodings, such as JSON <xref target="RFC8259" format="default" sectionFormat="of" derivedContent="RFC8259"/>, could alternatively be used.</t>
      </section>
    </section>
    <section anchor="udp-client" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-the-ietf-udp-client-module">The "ietf-udp-client" Module</name>
      <t indent="0" pn="section-2-1">This section defines a YANG 1.1 module called "ietf-udp-client".
      This YANG module defines the "udp-client"
      grouping for providing UDP clients with remote server information.</t>
      <t indent="0" pn="section-2-2"><xref target="udp-client-overview" format="default" sectionFormat="of" derivedContent="Section 2.1"/> provides the overview of the
      YANG module. An example of usage is illustrated
      in <xref target="example-client" format="default" sectionFormat="of" derivedContent="Section 2.2"/>. <xref target="udp-client-ym" format="default" sectionFormat="of" derivedContent="Section 2.3"/> defines the
      YANG module itself.</t>
      <section anchor="udp-client-overview" numbered="true" removeInRFC="false" toc="include" pn="section-2.1">
        <name slugifiedName="name-data-model-overview">Data Model Overview</name>
        <t indent="0" pn="section-2.1-1">This section provides an overview of the features and the grouping defined in the
        "ietf-udp-client" YANG module.
        </t>
        <section numbered="true" removeInRFC="false" toc="exclude" pn="section-2.1.1">
          <name slugifiedName="name-features">Features</name>
          <t indent="0" pn="section-2.1.1-1">The "ietf-udp-client" module defines the following "feature" statement:</t>
          <sourcecode type="yangtree" markers="false" pn="section-2.1.1-2">
Features:
  +-- local-binding</sourcecode>
          <t indent="0" pn="section-2.1.1-3">The diagram above uses syntax that is similar to the syntax used in <xref target="RFC8340" format="default" sectionFormat="of" derivedContent="RFC8340"/>; but the syntax from the diagram is not defined in
          <xref target="RFC8340" format="default" sectionFormat="of" derivedContent="RFC8340"/>.</t>
          <t indent="0" pn="section-2.1.1-4">This feature indicates that the client supports
            configuring local bindings (i.e., the local address and local port number) for UDP clients.</t>
        </section>
        <section anchor="udp-client-grouping" numbered="true" removeInRFC="false" toc="exclude" pn="section-2.1.2">
          <name slugifiedName="name-the-udp-client-grouping">The "udp-client" Grouping</name>
          <t indent="0" pn="section-2.1.2-1">The following tree diagram <xref target="RFC8340" format="default" sectionFormat="of" derivedContent="RFC8340"/> illustrates the tree
          structure of the "udp-client" grouping:</t>
          <sourcecode type="yangtree" markers="false" pn="section-2.1.2-2">
module: ietf-udp-client

  grouping udp-client:
    +-- remote-address    inet:host
    +-- remote-port?      inet:port-number
    +-- local-address?    inet:ip-address {local-binding}?
    +-- local-port?       inet:port-number {local-binding}?</sourcecode>
          <t indent="0" pn="section-2.1.2-3">The description of these parameters is provided below:</t>
          <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-2.1.2-4">
            <li pn="section-2.1.2-4.1">The "remote-address", which is mandatory, may be configured as
              an IPv4 address, an IPv6 address, or a hostname. The resolved address should be
              compatible with the local address family, if also provided.</li>
            <li pn="section-2.1.2-4.2">The "remote-port" is defined with neither a "default"
              nor a "mandatory" statement.  YANG modules using this grouping
              <bcp14>SHOULD</bcp14> refine the grouping with a "default" statement
              when the port number is well-known (e.g., a port number allocated by IANA)
              or with a "mandatory" statement if a port number needs to always be configured.
              This <bcp14>MAY</bcp14> be ignored when the port number is neither
              well-known nor mandatory to configure, such as might be the case when this grouping
              is used by another grouping.</li>
            <li pn="section-2.1.2-4.3">The "local-address", which is enabled by the "local-binding"
              feature, may be configured as
              an IPv4 address, an IPv6 address, or a wildcard value.
              In normal operation, the local and configured remote addresses
              <bcp14>SHOULD</bcp14> be from the same address family. Differences between address families may
              occur in abnormal or error conditions; therefore, they are allowed to be reported.</li>
            <li pn="section-2.1.2-4.4">The "local-port", which depends on the "local-binding"
              feature, is not mandatory. Its default
              value is "0", indicating that the operating system can select an
              arbitrary port number.</li>
          </ul>
        </section>
      </section>
      <section anchor="example-client" numbered="true" removeInRFC="false" toc="include" pn="section-2.2">
        <name slugifiedName="name-example-usage">Example Usage</name>
        <t indent="0" pn="section-2.2-1">This section presents an example of usage of the "udp-client"
        grouping.</t>
        <sourcecode type="xml" markers="false" pn="section-2.2-2">
&lt;!-- The outermost element below doesn't exist in the data model. --&gt;
&lt;!--  It simulates if the "grouping" were a "container" instead.  --&gt;

&lt;udp-client xmlns="urn:ietf:params:xml:ns:yang:ietf-udp-client"&gt;
  &lt;remote-address&gt;www.example.com&lt;/remote-address&gt;
  &lt;remote-port&gt;10000&lt;/remote-port&gt;
  &lt;local-address&gt;192.0.2.2&lt;/local-address&gt;
  &lt;local-port&gt;12345&lt;/local-port&gt;
&lt;/udp-client&gt;</sourcecode>
      </section>
      <section anchor="udp-client-ym" numbered="true" removeInRFC="false" toc="include" pn="section-2.3">
        <name slugifiedName="name-yang-module">YANG Module</name>
        <t indent="0" pn="section-2.3-1">This module imports types defined in <xref target="RFC9911" format="default" sectionFormat="of" derivedContent="RFC9911"/>.</t>
        <sourcecode name="ietf-udp-client@2026-06-15.yang" type="yang" markers="true" pn="section-2.3-2">
module ietf-udp-client {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-udp-client";
  prefix udpc;

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

  organization
    "IETF NETCONF (Network Configuration) Working Group";
  contact
    "WG Web:   &lt;https://datatracker.ietf.org/group/netconf/&gt;
     WG List:  &lt;mailto:netconf@ietf.org&gt;

     Authors:  Alex Huang Feng
               &lt;mailto:alex.huang-feng@insa-lyon.fr&gt;
               Pierre Francois
               &lt;mailto:pierre.francois@insa-lyon.fr&gt;";
  description
     "Defines a generic grouping for UDP-based client applications.

     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.

     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).

     All revisions of IETF and IANA published modules can be found
     at the YANG Parameters registry group
     (https://www.iana.org/assignments/yang-parameters).

     This version of this YANG module is part of RFC 9984; see
     the RFC itself for full legal notices.";

  revision 2026-06-15 {
    description
      "Initial revision";
    reference
      "RFC 9984: YANG Groupings for UDP Clients and UDP Servers";
  }

  feature local-binding {
    description
      "Indicates that the UDP client supports configuring local
       bindings (i.e., the local address and local port number)
       for UDP clients.";
  }

  grouping udp-client {
    description
      "A reusable grouping for UDP clients.

       Note that this grouping uses fairly typical descendant
       node names such that a stack of 'uses' statements will
       have name conflicts.  It is intended that the consuming
       data model will resolve the issue (e.g., by wrapping
       the 'uses' statement in a container called
       'udp-client-parameters').  This module purposely does
       not do this itself so as to provide maximum flexibility
       to consuming models.";
    leaf remote-address {
      type inet:host;
      mandatory true;
      description
        "The IP address or hostname of the remote UDP server.";
    }
    leaf remote-port {
      type inet:port-number;
      description
        "The port number of the remote UDP server.";
    }
    leaf local-address {
      if-feature "local-binding";
      type inet:ip-address;
      description
        "The local IP address to bind to when sending UDP
         datagrams to the remote server. INADDR_ANY ('0.0.0.0') or
         INADDR6_ANY ('0:0:0:0:0:0:0:0' a.k.a. '::') may be used
         so that the client can bind to any IPv4 or IPv6 address.
         In normal operation, the local and configured
         remote addresses SHOULD be from the same address family.
         Differences between address families may occur in
         abnormal or error conditions; therefore, they are allowed to
         be reported.";
    }

    leaf local-port {
      if-feature "local-binding";
      type inet:port-number;
      default "0";
      description
        "The local port number to bind to when sending UDP
         datagrams to the remote server. The port number '0',
         which is the default value, indicates that any available
         local port number may be used.";
    }
  }
}
</sourcecode>
      </section>
    </section>
    <section anchor="udp-server" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-the-ietf-udp-server-module">The "ietf-udp-server" Module</name>
      <t indent="0" pn="section-3-1">This section defines a YANG 1.1 module called "ietf-udp-server".
      This YANG module defines the "udp-server" grouping for
      managing UDP servers.</t>
      <t indent="0" pn="section-3-2"><xref target="udp-server-overview" format="default" sectionFormat="of" derivedContent="Section 3.1"/> provides an overview of the
      "ietf-udp-server" YANG module. An example of usage is illustrated in
      <xref target="example-server" format="default" sectionFormat="of" derivedContent="Section 3.2"/>.  <xref target="udp-server-ym" format="default" sectionFormat="of" derivedContent="Section 3.3"/> defines the YANG
      module itself.</t>
      <section anchor="udp-server-overview" numbered="true" removeInRFC="false" toc="include" pn="section-3.1">
        <name slugifiedName="name-data-model-overview-2">Data Model Overview</name>
        <t indent="0" pn="section-3.1-1">This section provides an overview of the grouping defined in the 
        "ietf-udp-server" module.</t>
        <section anchor="udp-server-grouping" numbered="true" removeInRFC="false" toc="exclude" pn="section-3.1.1">
          <name slugifiedName="name-the-udp-server-grouping">The "udp-server" Grouping</name>
          <t indent="0" pn="section-3.1.1-1">The following tree diagram <xref target="RFC8340" format="default" sectionFormat="of" derivedContent="RFC8340"/> illustrates the tree structure of
          "udp-server" grouping:</t>
          <sourcecode type="yangtree" markers="false" pn="section-3.1.1-2">
module: ietf-udp-server

  grouping udp-server:
    +-- local-bind* [local-address]
       +-- local-address    inet:ip-address
       +-- local-port?      inet:port-number</sourcecode>
          <t indent="0" pn="section-3.1.1-3">The description of these parameters is provided below:</t>
          <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-3.1.1-4">
            <li pn="section-3.1.1-4.1">The "local-address", which is mandatory, may be configured as
              an IPv4 address, an IPv6 address, or a wildcard value.</li>
            <li pn="section-3.1.1-4.2">The "local-port" is defined with neither a "default" nor a
              "mandatory" statement. YANG modules using this grouping <bcp14>SHOULD</bcp14> refine the 
              grouping with a "default" statement when the port number is well-known
              (e.g., a port number allocated by IANA) or with a "mandatory" statement
              if a port number needs to always be configured. This <bcp14>MAY</bcp14> be ignored
              when the port number is neither well-known nor mandatory to configure, such
              as might be the case when this grouping is used by another grouping.</li>
          </ul>
        </section>
      </section>
      <section anchor="example-server" numbered="true" removeInRFC="false" toc="include" pn="section-3.2">
        <name slugifiedName="name-example-usage-2">Example Usage</name>
        <t indent="0" pn="section-3.2-1">This section presents two examples of usage of the "udp-server"
        grouping.</t>
        <t indent="0" pn="section-3.2-2">The following shows an example of a server configured for listening
        to an IPv4 address:</t>
        <sourcecode type="xml" markers="false" pn="section-3.2-3">
&lt;!-- The outermost element below doesn't exist in the data model. --&gt;
&lt;!--  It simulates if the "grouping" were a "container" instead.  --&gt;

&lt;udp-server xmlns="urn:ietf:params:xml:ns:yang:ietf-udp-server"&gt;
  &lt;local-bind&gt;
    &lt;local-address&gt;192.0.2.2&lt;/local-address&gt;
    &lt;local-port&gt;49152&lt;/local-port&gt;
  &lt;/local-bind&gt;
&lt;/udp-server&gt;</sourcecode>
        <t indent="0" pn="section-3.2-4">The following shows an example of a server configured for listening to an IPv4 and
        IPv6 together:</t>
        <sourcecode type="xml" markers="false" pn="section-3.2-5">
&lt;!-- The outermost element below doesn't exist in the data model. --&gt;
&lt;!--  It simulates if the "grouping" were a "container" instead.  --&gt;

&lt;udp-server xmlns="urn:ietf:params:xml:ns:yang:ietf-udp-server"&gt;
  &lt;local-bind&gt;
    &lt;local-address&gt;192.0.2.2&lt;/local-address&gt;
    &lt;local-port&gt;49152&lt;/local-port&gt;
  &lt;/local-bind&gt;
  &lt;local-bind&gt;
    &lt;local-address&gt;2001:db8::0&lt;/local-address&gt;
    &lt;local-port&gt;49153&lt;/local-port&gt;
  &lt;/local-bind&gt;
&lt;/udp-server&gt;</sourcecode>
      </section>
      <section anchor="udp-server-ym" numbered="true" removeInRFC="false" toc="include" pn="section-3.3">
        <name slugifiedName="name-yang-module-2">YANG Module</name>
        <t indent="0" pn="section-3.3-1">This module imports types defined in <xref target="RFC9911" format="default" sectionFormat="of" derivedContent="RFC9911"/>.</t>
        <sourcecode name="ietf-udp-server@2026-06-15.yang" type="yang" markers="true" pn="section-3.3-2">
module ietf-udp-server {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-udp-server";
  prefix udps;

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

  organization
    "IETF NETCONF (Network Configuration) Working Group";
  contact
    "WG Web:   &lt;https://datatracker.ietf.org/group/netconf/&gt;
     WG List:  &lt;mailto:netconf@ietf.org&gt;

     Authors:  Alex Huang Feng
               &lt;mailto:alex.huang-feng@insa-lyon.fr&gt;
               Pierre Francois
               &lt;mailto:pierre.francois@insa-lyon.fr&gt;";
  description
    "Defines a generic grouping for UDP-based server applications.

     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).

     All revisions of IETF and IANA published modules can be found
     at the YANG Parameters registry group
     (https://www.iana.org/assignments/yang-parameters).

     This version of this YANG module is part of RFC 9984; see
     the RFC itself for full legal notices.";

  revision 2026-06-15 {
    description
      "Initial revision";
    reference
      "RFC 9984: YANG Groupings for UDP Clients and UDP Servers";
  }

  grouping udp-server {
    description
      "A reusable grouping for managing UDP servers.

       Note that this grouping uses fairly typical descendant
       node names such that a stack of 'uses' statements will
       have name conflicts.  It is intended that the consuming
       data model will resolve the issue (e.g., by wrapping
       the 'uses' statement in a container called
       'udp-server-parameters').  This module purposely does
       not do this itself so as to provide maximum flexibility
       to consuming models.";
    list local-bind {
      key "local-address";
      min-elements 1;
      description
        "A list of bind (listen) points for this server
         instance.  A server instance may have multiple
         bind points to support, e.g., the same port number in
         different address families or different port numbers
         in the same address family.";
      leaf local-address {
        type inet:ip-address;
        mandatory true;
        description
          "The local IP address to listen on for incoming
           UDP datagrams.  INADDR_ANY ('0.0.0.0') or
           INADDR6_ANY ('0:0:0:0:0:0:0:0' a.k.a. '::') may be used
           so that the server can listen to any IPv4 or IPv6
           address.";
      }
      leaf local-port {
        type inet:port-number;
        description
          "The local port number to listen on for incoming UDP
           datagrams.";
      }
    }
  }
}
</sourcecode>
      </section>
    </section>
    <section anchor="security" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-4-1">This section uses the template described in <xref section="3.7.1" sectionFormat="of" target="RFC9907" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9907#section-3.7.1" derivedContent="RFC9907"/>.</t>
      <t indent="0" pn="section-4-2">The "ietf-udp-client" and "ietf-udp-server" YANG modules define a data model that is
      designed to be accessed via YANG-based management protocols, such as
      the Network Configuration Protocol (NETCONF) <xref target="RFC6241" format="default" sectionFormat="of" derivedContent="RFC6241"/> and RESTCONF <xref target="RFC8040" format="default" sectionFormat="of" derivedContent="RFC8040"/>. These YANG-based management protocols (1) have to
      use a secure transport layer (e.g., Secure Shell (SSH) <xref target="RFC4252" format="default" sectionFormat="of" derivedContent="RFC4252"/>, TLS <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/>, and
      QUIC <xref target="RFC9000" format="default" sectionFormat="of" derivedContent="RFC9000"/>) and (2) have to use mutual authentication.
      </t>
      <t indent="0" pn="section-4-3">The Network Configuration Access Control Model (NACM) <xref target="RFC8341" format="default" sectionFormat="of" derivedContent="RFC8341"/>
        provides the means to restrict access for particular NETCONF or
        RESTCONF users to a preconfigured subset of all available NETCONF or
        RESTCONF protocol operations and content.
      </t>
      <t indent="0" pn="section-4-4">These YANG modules define a set of identities, types, and
        groupings. These nodes are intended to be reused by other YANG
        modules. The modules by themselves do not expose any data nodes that
        are writable, data nodes that contain read-only state, or RPCs.
        As such, there are no additional security issues related to
        the YANG modules that need to be considered.
      </t>
      <t indent="0" pn="section-4-5">Modules that use the groupings that are defined in this document
        should identify the corresponding security considerations. For
        example, reusing some of these groupings will expose privacy-related
        information (e.g., 'remote-address', 'remote-port', 'local-address',
        or 'local-port').

      </t>
    </section>
    <section anchor="IANA_Considerations" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-5-1">This document describes the URIs from the "IETF
      XML Registry" and the registration of two new YANG module names.</t>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-5.1">
        <name slugifiedName="name-the-ietf-xml-registry">The "IETF XML Registry"</name>
        <t indent="0" pn="section-5.1-1">IANA has assigned two new URIs from the <xref target="RFC3688" format="default" sectionFormat="of" derivedContent="RFC3688">"IETF XML Registry"</xref>:</t>
        <dl spacing="compact" newline="false" indent="3" pn="section-5.1-2">
          <dt pn="section-5.1-2.1">URI:</dt>
          <dd pn="section-5.1-2.2">urn:ietf:params:xml:ns:yang:ietf-udp-client</dd>
          <dt pn="section-5.1-2.3">Registrant Contact:</dt>
          <dd pn="section-5.1-2.4">The IESG.</dd>
          <dt pn="section-5.1-2.5">XML:</dt>
          <dd pn="section-5.1-2.6">N/A; the requested URI is an XML namespace.</dd>
        </dl>
        <dl spacing="compact" newline="false" indent="3" pn="section-5.1-3">
          <dt pn="section-5.1-3.1">URI:</dt>
          <dd pn="section-5.1-3.2">urn:ietf:params:xml:ns:yang:ietf-udp-server</dd>
          <dt pn="section-5.1-3.3">Registrant Contact:</dt>
          <dd pn="section-5.1-3.4">The IESG.</dd>
          <dt pn="section-5.1-3.5">XML:</dt>
          <dd pn="section-5.1-3.6">N/A; the requested URI is an XML namespace.</dd>
        </dl>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-5.2">
        <name slugifiedName="name-the-yang-module-names-regis">The "YANG Module Names" Registry</name>
        <t indent="0" pn="section-5.2-1">IANA has registered the following YANG modules in the
        <xref target="RFC6020" format="default" sectionFormat="of" derivedContent="RFC6020">"YANG Module Names" registry</xref> within the "YANG Parameters"
        registry group:</t>
        <dl spacing="compact" newline="false" indent="3" pn="section-5.2-2">
          <dt pn="section-5.2-2.1">Name:</dt>
          <dd pn="section-5.2-2.2">ietf-udp-client</dd>
          <dt pn="section-5.2-2.3">Maintained by IANA?</dt>
          <dd pn="section-5.2-2.4">N</dd>
          <dt pn="section-5.2-2.5">Namespace:</dt>
          <dd pn="section-5.2-2.6">urn:ietf:params:xml:ns:yang:ietf-udp-client</dd>
          <dt pn="section-5.2-2.7">Prefix:</dt>
          <dd pn="section-5.2-2.8">udpc</dd>
          <dt pn="section-5.2-2.9">Reference:</dt>
          <dd pn="section-5.2-2.10">RFC 9984</dd>
        </dl>
        <dl spacing="compact" newline="false" indent="3" pn="section-5.2-3">
          <dt pn="section-5.2-3.1">Name:</dt>
          <dd pn="section-5.2-3.2">ietf-udp-server</dd>
          <dt pn="section-5.2-3.3">Maintained by IANA?</dt>
          <dd pn="section-5.2-3.4">N</dd>
          <dt pn="section-5.2-3.5">Namespace:</dt>
          <dd pn="section-5.2-3.6">urn:ietf:params:xml:ns:yang:ietf-udp-server</dd>
          <dt pn="section-5.2-3.7">Prefix:</dt>
          <dd pn="section-5.2-3.8">udps</dd>
          <dt pn="section-5.2-3.9">Reference:</dt>
          <dd pn="section-5.2-3.10">RFC 9984</dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <references pn="section-6">
      <name slugifiedName="name-references">References</name>
      <references pn="section-6.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC3688" target="https://www.rfc-editor.org/info/rfc3688" quoteTitle="true" derivedAnchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t indent="0">This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC6020" target="https://www.rfc-editor.org/info/rfc6020" quoteTitle="true" derivedAnchor="RFC6020">
          <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 indent="0">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>
        <reference anchor="RFC768" target="https://www.rfc-editor.org/info/rfc768" quoteTitle="true" derivedAnchor="RFC768">
          <front>
            <title>User Datagram Protocol</title>
            <author fullname="J. Postel" initials="J." surname="Postel"/>
            <date month="August" year="1980"/>
          </front>
          <seriesInfo name="STD" value="6"/>
          <seriesInfo name="RFC" value="768"/>
          <seriesInfo name="DOI" value="10.17487/RFC0768"/>
        </reference>
        <reference anchor="RFC7950" target="https://www.rfc-editor.org/info/rfc7950" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="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 indent="0">RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8341" target="https://www.rfc-editor.org/info/rfc8341" quoteTitle="true" derivedAnchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t indent="0">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 indent="0">This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="RFC9911" target="https://www.rfc-editor.org/info/rfc9911" quoteTitle="true" derivedAnchor="RFC9911">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schönwälder" initials="J." role="editor" surname="Schönwälder"/>
            <date month="December" year="2025"/>
            <abstract>
              <t indent="0">This document defines a collection of common data types to be used with the YANG data modeling language. It includes several new type definitions and obsoletes RFC 6991.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9911"/>
          <seriesInfo name="DOI" value="10.17487/RFC9911"/>
        </reference>
      </references>
      <references pn="section-6.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC4252" target="https://www.rfc-editor.org/info/rfc4252" quoteTitle="true" derivedAnchor="RFC4252">
          <front>
            <title>The Secure Shell (SSH) Authentication Protocol</title>
            <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
            <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
            <date month="January" year="2006"/>
            <abstract>
              <t indent="0">The Secure Shell Protocol (SSH) is a protocol for secure remote login and other secure network services over an insecure network. This document describes the SSH authentication protocol framework and public key, password, and host-based client authentication methods. Additional authentication methods are described in separate documents. The SSH authentication protocol runs on top of the SSH transport layer protocol and provides a single authenticated tunnel for the SSH connection protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4252"/>
          <seriesInfo name="DOI" value="10.17487/RFC4252"/>
        </reference>
        <reference anchor="RFC6241" target="https://www.rfc-editor.org/info/rfc6241" quoteTitle="true" derivedAnchor="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 indent="0">The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC8040" target="https://www.rfc-editor.org/info/rfc8040" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC8259" target="https://www.rfc-editor.org/info/rfc8259" quoteTitle="true" derivedAnchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t indent="0">JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t indent="0">This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC8340" target="https://www.rfc-editor.org/info/rfc8340" quoteTitle="true" derivedAnchor="RFC8340">
          <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 indent="0">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>
        <reference anchor="RFC8342" target="https://www.rfc-editor.org/info/rfc8342" quoteTitle="true" derivedAnchor="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t indent="0">Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" quoteTitle="true" derivedAnchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t indent="0">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 indent="0">This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC9000" target="https://www.rfc-editor.org/info/rfc9000" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC9907" target="https://www.rfc-editor.org/info/rfc9907" quoteTitle="true" derivedAnchor="RFC9907">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="March" year="2026"/>
            <abstract>
              <t indent="0">This document provides guidelines for authors and reviewers of specifications containing YANG data models, including IANA-maintained 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.</t>
              <t indent="0">This document obsoletes RFC 8407; it also updates RFC 8126 by providing additional guidelines for writing the IANA considerations for RFCs that specify IANA-maintained YANG modules.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="216"/>
          <seriesInfo name="RFC" value="9907"/>
          <seriesInfo name="DOI" value="10.17487/RFC9907"/>
        </reference>
        <reference anchor="W3C.REC-xml-20081126" target="https://www.w3.org/TR/2008/REC-xml-20081126/" quoteTitle="true" derivedAnchor="W3C.REC-xml-20081126">
          <front>
            <title>Extensible Markup Language (XML) 1.0 (Fifth Edition)</title>
            <author initials="T." surname="Bray" fullname="Tim Bray" role="editor"/>
            <author initials="J." surname="Paoli" fullname="Jean Paoli" role="editor"/>
            <author initials="C.M." surname="Sperberg-McQueen" fullname="C. M. Sperberg McQueen" role="editor"/>
            <author initials="E." surname="Maler" fullname="Eve Maler" role="editor"/>
            <author initials="F." surname="Yergeau" fullname="Francois Yergeau" role="editor"/>
            <date day="26" month="November" year="2008"/>
          </front>
          <refcontent>W3C Recommendation</refcontent>
          <annotation>Latest version available at <eref brackets="angle" target="https://www.w3.org/TR/xml/"/>.</annotation>
        </reference>
      </references>
    </references>
    <section anchor="acknowledgements" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">The authors would like to thank <contact fullname="Mohamed       Boucadair"/>, <contact fullname="Ran Chen"/>, <contact fullname="Benoit       Claise"/>, <contact fullname="Mahesh Jethanandani"/>, <contact fullname="Qiufang Ma"/>, <contact fullname="Jürgen Schönwälder"/>,
      <contact fullname="Ketan Talaulikar"/>, <contact fullname="Éric       Vyncke"/>, <contact fullname="Paul Wouters"/>, and <contact fullname="Qin Wu"/> for their reviews and valuable comments.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Alex Huang Feng" initials="A." surname="Huang-Feng">
        <organization showOnFrontPage="true">INSA-Lyon</organization>
        <address>
          <postal>
            <city>Lyon</city>
            <country>France</country>
          </postal>
          <email>alex.huang-feng@insa-lyon.fr</email>
        </address>
      </author>
      <author fullname="Pierre Francois" initials="P." surname="Francois">
        <organization showOnFrontPage="true">INSA-Lyon</organization>
        <address>
          <postal>
            <city>Lyon</city>
            <country>France</country>
          </postal>
          <email>pierre.francois@insa-lyon.fr</email>
        </address>
      </author>
      <author fullname="Kent Watsen" initials="K." surname="Watsen">
        <organization showOnFrontPage="true">Watsen Networks</organization>
        <address>
          <email>kent+ietf@watsen.net</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
