rfc-9108

YANG Types for DNS Classes and Resource Record Types

L. Lhotka, P. Špaček
date2021-09 streamIETF areaops wgdnsop statusPROPOSED STANDARD pages14 canonicalhttps://www.rfc-editor.org/rfc/rfc9108 doi10.17487/RFC9108
This document introduces the YANG module "iana-dns-class-rr-type", which contains derived types reflecting two IANA registries: DNS CLASSes and Resource Record (RR) TYPEs. These YANG types are intended as the minimum basis for future data modeling work.

Extracted elements (18)

design-rationale §1

An XSLT 1.0 stylesheet (Appendix A) is provided so IANA can mechanically generate the initial and subsequent versions of the 'iana-dns-class-rr-type' module from the XML version of the IANA DNS Parameters registry, ensuring the YANG module stays synchronized with the authoritative registry without manual transcription.

dns, yang, registry

design-rationale §3

Of the thirteen registries in 'Domain Name System (DNS) Parameters', only 'DNS CLASSes' and 'Resource Record (RR) TYPEs' are translated here because they are essential for data models involving zone data. Remaining registries are expected to be addressed in future YANG modules as needed, enabling modular composition.

dns, yang

design-rationale §3

The 'dns-class' and 'rr-type' types are defined as unions of uint16 and an enumeration name because RFC 3597 permits specifying class or RR type via assigned decimal number as an alternative to the mnemonic (e.g., 'CLASS1' for IN, 'TYPE28' for AAAA). Unassigned and reserved values not present in enumerations can only be expressed numerically.

dns, yang

interoperability-note §3

The YANG module is intended as the minimum basis for future DNS data modeling; it covers only dns-class and rr-type. Other DNS-related IANA registries are expected to be translated in separate future YANG modules, allowing data models to import only the specific types they require.

dns, yang, netconf

normative-requirement §4 MUST NOT

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' IANA registries respectively, which then trigger module updates.

dns, yang, registry

normative-requirement §4 REQUIRED

Each time the 'iana-dns-class-rr-type' YANG module is updated, a new 'revision' statement SHALL be added before the existing 'revision' statements.

dns, yang

normative-requirement §4 REQUIRED

For each new enum added to the YANG module, the substatements SHALL be populated as follows: 'value' from the registry decimal value; 'status' only if the registration is deprecated or obsoleted (mapping IANA 'deprecated'→YANG 'deprecated', IANA 'obsolete'→YANG 'obsolete'); 'description' replicating the registry full name or meaning; 'reference' replicating the registry references.

dns, yang, registry

normative-requirement §4 MUST NOT

Unassigned or reserved values SHALL NOT be included in the 'dns-class-name' and 'rr-type-name' enumeration types.

dns, yang, registry

normative-requirement §4 REQUIRED

When a new DNS class or RR type is added to the IANA registries, a new 'enum' statement SHALL be added to the 'dns-class-name' or 'rr-type-name' type respectively. The enum's assigned name SHALL match the registry mnemonic.

dns, yang, registry

protocol-element §3

The typedef 'dns-class' is a YANG union type combining uint16 (16-bit decimal integer) and the dns-class-name enumeration, allowing reference to a DNS class by either numeric value or mnemonic name.

dns, yang

protocol-element §3

The typedef 'dns-class-name' is a YANG enumeration type mapping mnemonic names (e.g., IN) to their assigned decimal values for DNS classes, derived from the IANA 'DNS CLASSes' registry.

dns, yang

protocol-element §3

The typedef 'rr-type' is a YANG union type combining uint16 (16-bit decimal integer) and the rr-type-name enumeration, allowing reference to a DNS RR type by either numeric value or mnemonic name.

dns, yang

protocol-element §3

The typedef 'rr-type-name' is a YANG enumeration type mapping mnemonic names (e.g., AAAA) to their assigned decimal values for DNS resource record types, derived from the IANA 'Resource Record (RR) TYPEs' registry.

dns, yang

protocol-element §1

The YANG module 'iana-dns-class-rr-type' defines derived types reflecting two IANA registries: 'DNS CLASSes' and 'Resource Record (RR) TYPEs'. It provides the minimum basis for DNS data modeling work using NETCONF/RESTCONF.

dns, yang, netconf, registry

registry §4.1

A URI registration was made in the IETF XML Registry (RFC 3688): URI 'urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type', registrant IESG, representing an XML namespace.

dns, yang, registry

registry §4.2

IANA created the 'iana-dns-class-rr-type' YANG module entry in the 'YANG Module Names' registry (RFC 6020) with name 'iana-dns-class-rr-type', namespace 'urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type', prefix 'dnsct', and reference RFC 9108.

dns, yang, registry

registry §4

The 'DNS CLASSes' and 'Resource Record (RR) TYPEs' IANA registries were updated to add a note referencing RFC 9108 and to include RFC 9108 in their 'Reference' fields, establishing the linkage between registry updates and YANG module maintenance.

dns, registry

security-consideration §5

The document translates two IANA registries into YANG data types and introduces no new technology or protocol. The definitions themselves have no security impact on the Internet, but their use in concrete YANG modules might; the security considerations of the YANG specification (RFC 7950) apply.

dns, yang, security