YANG UDP groupings: YANG Groupings for UDP Clients and UDP Servers
Reusable YANG building blocks for describing how a UDP client or UDP server is configured.
Huang-Feng, A., Francois, P., and K. Watsen, "YANG Groupings for UDP Clients and UDP Servers", RFC 9984, DOI 10.17487/RFC9984, June 2026, <https://www.rfc-editor.org/info/rfc9984>.
@misc{rfc9984,
series = {Request for Comments},
number = 9984,
howpublished = {RFC 9984},
publisher = {RFC Editor},
doi = {10.17487/RFC9984},
url = {https://www.rfc-editor.org/info/rfc9984},
author = {A. Huang-Feng and P. Francois and K. Watsen},
title = {{YANG Groupings for UDP Clients and UDP Servers}},
pagetotal = 15,
year = 2026,
month = jun,
} RFC text
Contents
Internet Engineering Task Force (IETF) A. Huang-Feng
Request for Comments: 9984 P. Francois
Category: Standards Track INSA-Lyon
ISSN: 2070-1721 K. Watsen
Watsen Networks
June 2026
YANG Groupings for UDP Clients and UDP Servers
Abstract
This document presents two YANG 1.1 modules with reusable groupings
for managing UDP clients and UDP servers.
Status of This Memo
This is an Internet Standards Track document.
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.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9984.
Copyright Notice
Copyright (c) 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) 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
1.1. Requirements Language
1.2. Adherence to the NMDA
1.3. Conventions
2. The "ietf-udp-client" Module
2.1. Data Model Overview
2.2. Example Usage
2.3. YANG Module
3. The "ietf-udp-server" Module
3.1. Data Model Overview
3.2. Example Usage
3.3. YANG Module
4. Security Considerations
5. IANA Considerations
5.1. The "IETF XML Registry"
5.2. The "YANG Module Names" Registry
6. References
6.1. Normative References
6.2. Informative References
Acknowledgements
Authors' Addresses
1. Introduction
This document presents 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 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-
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. 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 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 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; therefore, they are 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 [RFC9911].
<CODE BEGINS> file "ietf-udp-client@2026-06-15.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.
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.";
}
}
}
<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.
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 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 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.
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>
The following shows an example of a server configured 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
This module imports types defined in [RFC9911].
<CODE BEGINS> file "ietf-udp-server@2026-06-15.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) 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.";
}
}
}
}
<CODE ENDS>
4. Security Considerations
This section uses the template described in Section 3.7.1 of
[RFC9907].
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)
[RFC6241] and RESTCONF [RFC8040]. These YANG-based management
protocols (1) have to use a secure transport layer (e.g., Secure
Shell (SSH) [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 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 the "IETF XML Registry" and the
registration of two new YANG module names.
5.1. The "IETF XML Registry"
IANA has assigned two new URIs from the "IETF XML 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. The "YANG Module Names" Registry
IANA has registered the following YANG modules in the "YANG Module
Names" registry [RFC6020] within the "YANG Parameters" registry
group:
Name: ietf-udp-client
Maintained by IANA? N
Namespace: urn:ietf:params:xml:ns:yang:ietf-udp-client
Prefix: udpc
Reference: RFC 9984
Name: ietf-udp-server
Maintained by IANA? N
Namespace: urn:ietf:params:xml:ns:yang:ietf-udp-server
Prefix: udps
Reference: RFC 9984
6. References
6.1. Normative References
[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>.
[RFC9911] Schönwälder, J., Ed., "Common YANG Data Types", RFC 9911,
DOI 10.17487/RFC9911, December 2025,
<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>.
[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)", 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
AI ELI5
On this page
§1What the Document Provides
RFC 9984 presents two YANG 1.1 modules with reusable groupings for managing UDP clients and UDP servers, where UDP is the protocol of RFC 768. A grouping is a named bundle of configuration nodes that other modules can include.
The modules may be used directly, to define a specific UDP client or server, or together with the configuration of higher-level protocols that depend on UDP. The document also states that it complies with the Network Management Datastore Architecture (NMDA) and defines no protocol-accessible nodes that are config false.
It is a box of ready-made pieces for describing how a computer talks over UDP, so nobody has to rebuild them.
§2The udp-client Grouping
The ietf-udp-client module defines the udp-client grouping, which gives a UDP client information about the remote server. It has four nodes: remote-address, remote-port, local-address and local-port.
The remote-address is mandatory and may be an IPv4 address, an IPv6 address or a hostname. The remote-port has neither a default nor a mandatory statement. Modules that use the grouping SHOULD refine it with a default when the port is well known, or with mandatory when a port must always be configured.
The two local nodes sit behind a feature called local-binding, which says the client supports configuring the local address and local port. The local-port defaults to 0, meaning the operating system may pick any port. The local and remote addresses SHOULD be from the same address family in normal operation; differences may occur in abnormal or error conditions, so they are allowed to be reported.
The client form asks where to send messages and, if you want, which of your own doors and numbers to send from. If you leave your own number as zero, the computer picks one.
- grouping udp-client
- remote-address mandatory; inet:host
- remote-port optional; inet:port-number
- local-address needs local-binding feature
- local-port needs local-binding feature; default 0
§3Client and Server Examples
The client example in the RFC sets remote-address to www.example.com, remote-port to 10000, local-address to 192.0.2.2 and local-port to 12345. The outer udp-client element is only a stand-in: it does not exist in the data model and simulates the grouping being a container.
The server examples show a server listening on one IPv4 address, 192.0.2.2 port 49152, and a server listening on that IPv4 address together with an IPv6 address, 2001:db8::0 port 49153. Examples are written in XML, though the RFC notes other encodings such as JSON could be used.
The examples are filled-in forms: one client that names who to talk to, and servers that say which addresses and numbers they wait at.
§4The udp-server Grouping
The ietf-udp-server module defines the udp-server grouping for managing UDP servers. Its core is a list called local-bind, keyed by local-address, with at least one element. Each entry is a bind (listen) point holding a mandatory local-address and an optional local-port.
A server instance may have several bind points, for example the same port number in different address families or different port numbers in the same address family. The local-address may be an IPv4 address, an IPv6 address or a wildcard (0.0.0.0 or ::), so the server can listen on any address. As in the client grouping, local-port has no default or mandatory statement, and users of the grouping SHOULD refine it in the same way.
Both groupings use fairly typical node names, so stacking several uses statements can cause name conflicts. The consuming model is expected to resolve this, for example by wrapping the uses statement in a container; the modules deliberately do not do it themselves, for maximum flexibility.
A server can wait at several doors at once. The server form is a list of those doors, each with an address and a number.
- grouping udp-server
- local-bind list keyed by local-address; at least one entry
- local-address mandatory; inet:ip-address
- local-port optional; inet:port-number
- local-bind list keyed by local-address; at least one entry
§5Security Considerations
The modules are designed to be accessed through YANG-based management protocols such as NETCONF and RESTCONF. Those protocols have to use a secure transport layer (for example SSH, TLS or QUIC) and have to use mutual authentication. The Network Configuration Access Control Model (NACM) can restrict which users may reach which operations and content.
The modules define identities, types and groupings meant for reuse, and by themselves expose no writable data nodes, no read-only state and no RPCs. So they raise no additional security issues. Modules that reuse the groupings should state their own security considerations, since nodes such as remote-address, remote-port, local-address and local-port can expose privacy-related information.
The forms are blank, so they hold no secrets. Whoever fills them in must protect them, because addresses and numbers can say a lot about a computer.
§6IANA Registrations
IANA has assigned two URIs in the IETF XML Registry, urn:ietf:params:xml:ns:yang:ietf-udp-client and urn:ietf:params:xml:ns:yang:ietf-udp-server, each with the IESG as registrant contact.
IANA has also registered the two module names in the YANG Module Names registry. ietf-udp-client uses the prefix udpc and ietf-udp-server uses the prefix udps. Neither is maintained by IANA, and both cite RFC 9984. Both modules carry the revision date 2026-06-15 and import types from RFC 9911.
The names of the two forms were written in an official list so nobody else uses the same names.