RFC 9108: YANG Types for DNS Classes and Resource Record Types
- L. Lhotka,
- P. Špaček
Abstract
This document introduces the YANG
module "iana
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://
Copyright Notice
Copyright (c) 2021 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://
1. Introduction
YANG [RFC7950] has become a de facto standard as a language for modeling configuration and state data, as well as specifying management operations and asynchronous notifications. It is reasonable to expect that the approach based on utilizing such data models along with standard management protocols such as NETCONF [RFC6241] and RESTCONF [RFC8040] can be effectively used in DNS operations, too. In fact, several efforts are currently underway that attempt to use NETCONF or RESTCONF for configuring and managing¶
While it is possible to use the management protocols
mentioned above with ad hoc or proprietary data models, their
real potential can be realized only if there is a (completely or
partly) unified data model supported by multiple DNS software
implementations
Based on the previous experience from the IETF Routing Area,
it is to be expected that the development of unified data models
for DNS will be a lengthy and complicated process that will
require active cooperation and compromise from the vendors and
developers of major DNS server platforms. Nevertheless, it is
likely that any DNS-related data modeling effort will need to
use various DNS parameters and enumerations that are specified
in several IANA registries. For use with YANG, these parameters
and enumerations have to be translated into corresponding YANG
types or other structures. Such translations should be
straightforward and relatively uncontroversial
This document provides a translation of two fundamental
DNS-related IANA registries to YANG. It contains the initial
version of the YANG module "iana
Appendix A contains an XSLT 1.0 stylesheet
that is intended to be used by IANA for generating the initial
version of the "iana
2. Terminology
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.¶
The terminology for describing YANG data models can be found in [RFC7950]. DNS terminology used in this document can be found in [RFC1035] and [RFC8499].¶
3. YANG Design Considerations
At the time of writing, the "Domain Name System
(DNS) Parameters" [IANA
The registries "DNS CLASSes" and "Resource Record (RR) TYPEs"
are transformed into YANG enumeration types "dns
The other derived type, "rr-type-name", is defined similarly.¶
[RFC3597] introduced the option of specifying a class or RR type via its assigned decimal number as an alternative to the mnemonic name. For example, the "IN" class can be equivalently written as "CLASS1", and "AAAA" type can be written as "TYPE28".¶
Accordingly, the derived types "dns-class" and "rr-type" are defined in the YANG module as a union of two member types:¶
For instance, the "rr-type" type is defined as follows:¶
As unassigned and reserved class and RR type values are not included in the mnemonic name enumerations, they can only be specified using their decimal values.¶
4. IANA Considerations
This section deals with actions and processes necessary for
IANA to undertake to maintain the "iana
With the publication of this document, IANA has created and posted the initial version
of the "iana
IANA has added this note to the "iana
Classes and types of DNS resource records must not be directly added to the "iana-dns -class -rr -type" YANG module. They must instead be added to the "DNS CLASSes" and "Resource Record (RR) TYPEs" registries, respectively.¶
When a new DNS class or RR type is added to the "DNS CLASSes"
or "Resource Record (RR) TYPEs" registry, a new "enum" statement
SHALL be added to the "dns
- "value":
- Use the decimal value from the registry.¶
- "status":
- Include only if a class or type registration has been deprecated or obsoleted. IANA "deprecated" maps to YANG status "deprecated", and IANA "obsolete" maps to YANG status "obsolete".¶
- "description":
- Replicate the corresponding information from the registry, namely the full name of the new DNS class, or the meaning of the new RR type, if any.¶
- "reference":
- Replicate the reference(s) from the registry.¶
Unassigned or reserved values SHALL NOT be included in the
"dns
Each time the "iana
IANA has added this note to the "DNS CLASSes" and "Resource Record (RR) TYPEs" registries:¶
When this registry is modified, the YANG module "iana-dns -class -rr -type" must be updated as defined in [RFC9108].¶
The "Reference" text in the "DNS CLASSes" registry has been updated as follows:¶
OLD:¶
[RFC6895]¶
NEW:¶
[RFC6895][RFC9108] ¶
The "Reference" text in the "Resource Record (RR) TYPEs" registry has been updated as follows:¶
OLD:¶
[RFC6895][RFC1035] ¶
NEW:¶
[RFC6895][RFC1035][RFC9108] ¶
4.1. URI Registrations
This document registers a URI in the "IETF XML Registry" [RFC3688]. The following registration has been made:¶
4.2. YANG Module Registrations
This document registers a YANG module in the "YANG Module Names" registry [RFC6020]. The following registration has been made:¶
5. Security Considerations
This document translates two IANA registries into YANG data types and otherwise introduces no technology or protocol. The definitions themselves have no security impact on the Internet, but their use in concrete YANG modules might have. The security considerations spelled out in the YANG specification [RFC7950] apply to this document as well.¶
6. References
6.1. Normative References
- [IANA
-DNS -PARAMETERS] -
IANA, "Domain Name System (DNS) Parameters", <https://
www >..iana .org /assignments /dns -parameters - [IANA
-YANG -PARAMETERS] -
IANA, "YANG Parameters", <https://
www >..iana .org /assignments /yang -parameters - [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC3688]
-
Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10
.17487 , , <https:///RFC3688 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 , , <https:///RFC6020 www >..rfc -editor .org /info /rfc6020 - [RFC7950]
-
Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10
.17487 , , <https:///RFC7950 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 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [W3C
.REC -xslt -19991116] -
Clark, J., "XSL Transformations (XSLT) Version 1.0", W3C Recommendation REC
-xslt , , <https://-19991116 www >..w3 .org /TR /1999 /REC -xslt -19991116
6.2. Informative References
- [RFC1035]
-
Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, DOI 10
.17487 , , <https:///RFC1035 www >..rfc -editor .org /info /rfc1035 - [RFC3597]
-
Gustafsson, A., "Handling of Unknown DNS Resource Record (RR) Types", RFC 3597, DOI 10
.17487 , , <https:///RFC3597 www >..rfc -editor .org /info /rfc3597 - [RFC6241]
-
Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10
.17487 , , <https:///RFC6241 www >..rfc -editor .org /info /rfc6241 - [RFC8040]
-
Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10
.17487 , , <https:///RFC8040 www >..rfc -editor .org /info /rfc8040 - [RFC8499]
-
Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS Terminology", BCP 219, RFC 8499, DOI 10
.17487 , , <https:///RFC8499 www >..rfc -editor .org /info /rfc8499
Appendix A. XSLT Stylesheet
This appendix contains an XSLT 1.0 stylesheet [W3C
Using the ubiquitous xsltproc tool, the YANG module text can be generated with this command:¶