Network Working Group

Internet Engineering Task Force (IETF)                     A. Huang-Feng
Internet-Draft
Request for Comments: 9984                                   P. Francois
Intended status:
Category: Standards Track                                      INSA-Lyon
Expires: 19 June 2026
ISSN: 2070-1721                                                K. Watsen
                                                         Watsen Networks
                                                        16 December 2025
                                                                May 2026

             YANG Groupings for UDP Clients and UDP Servers
                draft-ietf-netconf-udp-client-server-10

Abstract

   This document defines two YANG 1.1 modules with reusable groupings
   for managing UDP clients and UDP servers.

Notes to the RFC editor

   This note is to be removed before publishing as an RFC.

   Please replace "RFC XXXX" with the assigned RFC number prior to
   publication.  Note that there are also several occurrences of "RFC
   XXXX" in the YANG modules.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list  It represents the consensus of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid the IETF community.  It has
   received public review and has been approved for a maximum publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of six months this document, any errata,
   and how to provide feedback on it may be updated, replaced, or obsoleted by other documents obtained at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 19 June 2026.
   https://www.rfc-editor.org/info/rfc9984.

Copyright Notice

   Copyright (c) 2025 2026 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info)
   (https://trustee.ietf.org/license-info) 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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   2
     1.2.  Adherence to the NMDA . . . . . . . . . . . . . . . . . .   3
     1.3.  Conventions . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  The "ietf-udp-client" Module  . . . . . . . . . . . . . . . .   3
     2.1.  Data Model Overview . . . . . . . . . . . . . . . . . . .   3
     2.2.  Example Usage . . . . . . . . . . . . . . . . . . . . . .   4
     2.3.  YANG Module . . . . . . . . . . . . . . . . . . . . . . .   5
   3.  The "ietf-udp-server" Module  . . . . . . . . . . . . . . . .   7
     3.1.  Data Model Overview . . . . . . . . . . . . . . . . . . .   7
     3.2.  Example Usage . . . . . . . . . . . . . . . . . . . . . .   8
     3.3.  YANG Module . . . . . . . . . . . . . . . . . . . . . . .   9
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .  11
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  11
     5.1.  URI . . . . . . . . . . . . . . . . . . . . . . . . . . .  12  The "IETF XML Registry"
     5.2.  YANG  The "YANG Module Name  . . . . . . . . . . . . . . . . . . . .  12 Names" Registry
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  12
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  12
     7.1.
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .  12
     7.2.
     6.2.  Informative References  . . . . . . . . . . . . . . . . .  13
   Acknowledgements
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  14

1.  Introduction

   This document defines two YANG 1.1 [RFC7950] modules with reusable
   groupings for managing UDP clients and UDP servers [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
   higher-level protocols that depend on UDP.

1.1.  Requirements Language

   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 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

1.2.  Adherence to the NMDA

   This document is compliant with the Network Management Datastore
   Architecture (NMDA) [RFC8342].  It does not define any protocol protocol-
   accessible nodes that are "config false".

1.3.  Conventions

   Various examples in this document use the XML [W3C.REC-xml-20081126]
   encoding.  Other encodings, such as JSON [RFC8259], could
   alternatively be used.

2.  The "ietf-udp-client" Module

   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.

   Section 2.1 provides the overview of the YANG module.  An example of
   usage is illustrated in Section 2.2, while 2.2.  Section 2.3 defines the YANG
   module itself.

2.1.  Data Model Overview

   This section provides an overview of the features and the grouping
   defined in the "ietf-udp-client" YANG module.

2.1.1.  Features

   The "ietf-udp-client" module defines the following "feature"
   statement:

   Features:
   +-- local-binding

   The diagram above uses syntax that is similar to the syntax used in
   [RFC8340]; but the syntax from the diagram is not defined in
   [RFC8340].

   This feature indicates that the client supports configuring local
   bindings (i.e., the local address and local port number) for UDP
   clients.

2.1.2.  The "udp-client" Grouping

   The following tree diagram [RFC8340] illustrates the tree structure
   of the "udp-client" grouping:

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

   The description of these parameters is provided below:

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

   *  The "remote-port" is defined with neither a "default" nor a
      "mandatory" statement.  YANG modules using this grouping SHOULD
      refine the grouping with a "default" statement, statement when the port
      number is well-known (e.g., a port number allocated by IANA), IANA) or
      with a "mandatory" statement, statement if a port number needs to always be
      configured.  This MAY 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.

   *  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 SHOULD be from the same address family.
      Differences between address families may occur in abnormal or
      error conditions and conditions; therefore, they are therefore allowed to be reported.

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

2.2.  Example Usage

   This section presents an example of usage of the "udp-client"
   grouping.

   <!-- The outermost element below doesn't exist in the data model. -->
   <!--  It simulates if the "grouping" were a "container" instead.  -->

   <udp-client xmlns="urn:ietf:params:xml:ns:yang:ietf-udp-client">
     <remote-address>www.example.com</remote-address>
     <remote-port>10000</remote-port>
     <local-address>192.0.2.2</local-address>
     <local-port>12345</local-port>
   </udp-client>

2.3.  YANG Module

   This module imports types defined in [I-D.ietf-netmod-rfc6991-bis]. [RFC9911].

   <CODE BEGINS> file "ietf-udp-client@2025-12-16.yang" "ietf-udp-client@2026-05-13.yang"
   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:   <https://datatracker.ietf.org/group/netconf/>
        WG List:  <mailto:netconf@ietf.org>

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

        Copyright (c) 2025 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 XXXX; 9984; 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 2025-12-16 2026-05-13 {
       description
         "Initial revision";
       reference
         "RFC XXXX: 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 model 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 and conditions; therefore, they are therefore 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.";
       }
     }
   }
   <CODE ENDS>

3.  The "ietf-udp-server" Module

   This section defines a YANG 1.1 module called "ietf-udp-server".
   This YANG module defines the "udp-server" grouping for managing UDP
   servers.

   Section 3.1 provides an overview of the "ietf-udp-server" YANG
   module.  An example of usage is illustrated in Section 3.2 while 3.2.
   Section 3.3 defines the YANG module itself.

3.1.  Data Model Overview

   This section provides an overview of the grouping defined in the
   "ietf-udp-server" module.

3.1.1.  The "udp-server" Grouping

   The following tree diagram [RFC8340] illustrates the tree structure
   of "udp-server" grouping:

   module: ietf-udp-server

     grouping udp-server:
       +-- local-bind* [local-address]
          +-- local-address    inet:ip-address
          +-- local-port?      inet:port-number

   The description of these parameters is provided below:

   *  The "local-address", which is mandatory, may be configured as an
      IPv4 address, an IPv6 address, or a wildcard value.

   *  The "local-port" is defined with neither a "default" nor a
      "mandatory" statement.  YANG modules using this grouping SHOULD
      refine the grouping with a "default" statement, statement when the port
      number is well-known (e.g., a port number allocated by IANA), IANA) or
      with a "mandatory" statement, statement if a port number needs to always be
      configured.  This MAY 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.

3.2.  Example Usage

   This section presents two examples of usage of the "udp-server"
   grouping.

   This

   The following shows an example of a server configured for listening
   to an IPv4 address:

   <!-- The outermost element below doesn't exist in the data model. -->
   <!--  It simulates if the "grouping" were a "container" instead.  -->

   <udp-server xmlns="urn:ietf:params:xml:ns:yang:ietf-udp-server">
     <local-bind>
       <local-address>192.0.2.2</local-address>
       <local-port>49152</local-port>
     </local-bind>
   </udp-server>

   This

   The following shows an example of a server configured to listen for listening
   to an IPv4 and IPv6 together:

   <!-- The outermost element below doesn't exist in the data model. -->
   <!--  It simulates if the "grouping" were a "container" instead.  -->

   <udp-server xmlns="urn:ietf:params:xml:ns:yang:ietf-udp-server">
     <local-bind>
       <local-address>192.0.2.2</local-address>
       <local-port>49152</local-port>
     </local-bind>
     <local-bind>
       <local-address>2001:db8::0</local-address>
       <local-port>49153</local-port>
     </local-bind>
   </udp-server>

3.3.  YANG Module

   The "ietf-udp-server"

   This module imports types defined in
   [I-D.ietf-netmod-rfc6991-bis]. [RFC9911].

   <CODE BEGINS> file "ietf-udp-server@2025-12-16.yang" "ietf-udp-server@2026-05-13.yang"
   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:   <https://datatracker.ietf.org/group/netconf/>
        WG List:  <mailto:netconf@ietf.org>

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

        Copyright (c) 2025 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 XXXX; 9984; see
        the RFC itself for full legal notices.";

     revision 2025-12-16 2026-05-13 {
       description
         "Initial revision";
       reference
         "RFC XXXX: 9984: YANG Groupings for UDP Clients and UDP Servers";
     }

     grouping udp-server {
       description
         "Provides a
         "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 model 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.";
         }
       }
     }
   }
   <CODE ENDS>

4.  Security Considerations

   This section uses the template described in Section 3.7 3.7.1 of
   [I-D.ietf-netmod-rfc8407bis].
   [RFC9907].

   The "ietf-udp-client" and "ietf-udp-server" YANG modules defines define a
   data model that is designed to be accessed via YANG-based management
   protocols, such as NETCONF Network Configuration Protocol (NETCONF) [RFC6241]
   and RESTCONF [RFC8040].  These YANG-based management protocols (1)
   have to use a secure transport layer (e.g., SSH [RFC6242], [RFC4252], TLS
   [RFC8446], and QUIC [RFC9000]) and (2) have to use mutual
   authentication.

   The Network Configuration Access Control Model (NACM) [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.

   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 module modules that need
   to be considered.

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

5.  IANA Considerations

   This document describes the URIs from IETF the "IETF XML Registry Registry" and the
   registration of a two new YANG module names names.

5.1.  URI  The "IETF XML Registry"

   IANA is requested to assign has assigned two new URIs from the IETF "IETF XML Registry Registry"
   [RFC3688]:

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

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

5.2.  YANG  The "YANG Module Name

   This document also requests Names" Registry

   IANA to register has registered the following YANG modules in the YANG "YANG Module Names
   Names" registry [RFC6020] within the "YANG Parameters" registry
   group:

   name:

   Name:  ietf-udp-client
   namespace: urn:ietf:params:xml:ns:yang:ietf-udp-client
   prefix: udpc
   maintained
   Maintained by IANA?  N
   reference:
   Namespace:  urn:ietf:params:xml:ns:yang:ietf-udp-client
   Prefix:  udpc
   Reference:  RFC XXXX

   name: 9984

   Name:  ietf-udp-server
   namespace: urn:ietf:params:xml:ns:yang:ietf-udp-server
   prefix: udps
   maintained
   Maintained by IANA?  N
   reference:
   Namespace:  urn:ietf:params:xml:ns:yang:ietf-udp-server
   Prefix:  udps
   Reference:  RFC XXXX 9984

6.  Acknowledgements

   The authors would like to thank Mohamed Boucadair, Ran Chen, Benoit
   Claise, Mahesh Jethanandani, Qiufang Ma, Jürgen Schönwälder, Ketan
   Talaulikar, Eric Vyncke, Paul Wouters and Qin Wu for their review and
   valuable comments.

7.  References

7.1.

6.1.  Normative References

   [I-D.ietf-netmod-rfc6991-bis]
              Schönwälder, J., "Common YANG Data Types", Work in
              Progress, Internet-Draft, draft-ietf-netmod-rfc6991-bis-
              18, 23 June 2025, <https://datatracker.ietf.org/doc/html/
              draft-ietf-netmod-rfc6991-bis-18>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              DOI 10.17487/RFC3688, January 2004,
              <https://www.rfc-editor.org/info/rfc3688>.

   [RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
              the Network Configuration Protocol (NETCONF)", RFC 6020,
              DOI 10.17487/RFC6020, October 2010,
              <https://www.rfc-editor.org/info/rfc6020>.

   [RFC768]   Postel, J., "User Datagram Protocol", STD 6, RFC 768,
              DOI 10.17487/RFC0768, August 1980,
              <https://www.rfc-editor.org/info/rfc768>.

   [RFC7950]  Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
              RFC 7950, DOI 10.17487/RFC7950, August 2016,
              <https://www.rfc-editor.org/info/rfc7950>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8341]  Bierman, A. and M. Bjorklund, "Network Configuration
              Access Control Model", STD 91, RFC 8341,
              DOI 10.17487/RFC8341, March 2018,
              <https://www.rfc-editor.org/info/rfc8341>.

7.2.  Informative References

   [I-D.ietf-netmod-rfc8407bis]
              Bierman, A., Boucadair, M., and Q. Wu, "Guidelines for
              Authors and Reviewers of Documents Containing

   [RFC9911]  Schönwälder, J., Ed., "Common YANG Data
              Models", Work in Progress, Internet-Draft, draft-ietf-
              netmod-rfc8407bis-28, 5 June Types", RFC 9911,
              DOI 10.17487/RFC9911, December 2025,
              <https://datatracker.ietf.org/doc/html/draft-ietf-netmod-
              rfc8407bis-28>.
              <https://www.rfc-editor.org/info/rfc9911>.

6.2.  Informative References

   [RFC4252]  Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH)
              Authentication Protocol", RFC 4252, DOI 10.17487/RFC4252,
              January 2006, <https://www.rfc-editor.org/info/rfc4252>.

   [RFC6241]  Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
              and A. Bierman, Ed., "Network Configuration Protocol
              (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
              <https://www.rfc-editor.org/info/rfc6241>.

   [RFC6242]  Wasserman, M., "Using the NETCONF Protocol over Secure
              Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
              <https://www.rfc-editor.org/info/rfc6242>.

   [RFC8040]  Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
              Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
              <https://www.rfc-editor.org/info/rfc8040>.

   [RFC8259]  Bray, T., Ed., "The JavaScript Object Notation (JSON) Data
              Interchange Format", STD 90, RFC 8259,
              DOI 10.17487/RFC8259, December 2017,
              <https://www.rfc-editor.org/info/rfc8259>.

   [RFC8340]  Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
              BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
              <https://www.rfc-editor.org/info/rfc8340>.

   [RFC8342]  Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
              and R. Wilton, "Network Management Datastore Architecture
              (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018,
              <https://www.rfc-editor.org/info/rfc8342>.

   [RFC8446]  Rescorla, E., "The Transport Layer Security (TLS) Protocol
              Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
              <https://www.rfc-editor.org/info/rfc8446>.

   [RFC9000]  Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based
              Multiplexed and Secure Transport", RFC 9000,
              DOI 10.17487/RFC9000, May 2021,
              <https://www.rfc-editor.org/info/rfc9000>.

   [RFC9907]  Bierman, A., Boucadair, M., Ed., and Q. Wu, "Guidelines
              for Authors and Reviewers of Documents Containing YANG
              Data Models", BCP 216, RFC 9907, DOI 10.17487/RFC9907,
              March 2026, <https://www.rfc-editor.org/info/rfc9907>.

   [W3C.REC-xml-20081126]
              Bray, T., Ed., Paoli, J., Ed., Sperberg-McQueen, C.M.,
              Ed., Maler, E., Ed., and F. Yergeau, Ed., "Extensible
              Markup Language (XML) 1.0 (Fifth Edition)", World Wide Web Consortium
              Recommendation REC-xml-20081126, W3C
              Recommendation, 26 November 2008,
              <https://www.w3.org/TR/2008/REC-xml-20081126/>.  Latest
              version available at <https://www.w3.org/TR/xml/>.

Acknowledgements

   The authors would like to thank Mohamed Boucadair, Ran Chen, Benoit
   Claise, Mahesh Jethanandani, Qiufang Ma, Jürgen Schönwälder, Ketan
   Talaulikar, Éric Vyncke, Paul Wouters, and Qin Wu for their reviews
   and valuable comments.

Authors' Addresses

   Alex Huang Feng
   INSA-Lyon
   Lyon
   France
   Email: alex.huang-feng@insa-lyon.fr

   Pierre Francois
   INSA-Lyon
   Lyon
   France
   Email: pierre.francois@insa-lyon.fr

   Kent Watsen
   Watsen Networks
   Email: kent+ietf@watsen.net