Internet DRAFT - draft-lhotka-dnsop-iana-class-type-yang
draft-lhotka-dnsop-iana-class-type-yang
DNSOP Working Group L. Lhotka
Internet-Draft P. Spacek
Intended status: Standards Track CZ.NIC
Expires: December 29, 2019 June 27, 2019
YANG Types for DNS Classes and Resource Record Types
draft-lhotka-dnsop-iana-class-type-yang-02
Abstract
This document contains the initial revision of the YANG module iana-
dns-class-rr-type that contains derived types reflecting two IANA
registries: DNS CLASSes and Resource Record (RR) TYPEs. These YANG
types are intended as a minimum basis for future data modeling work.
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 of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents 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 December 29, 2019.
Copyright Notice
Copyright (c) 2019 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 Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Lhotka & Spacek Expires December 29, 2019 [Page 1]
Internet-Draft iana-dns-class-rr-type-yang June 2019
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. YANG Design Considerations . . . . . . . . . . . . . . . . . 3
3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22
4.1. URI Registrations . . . . . . . . . . . . . . . . . . . . 23
4.2. YANG Module Registrations . . . . . . . . . . . . . . . . 23
5. Security Considerations . . . . . . . . . . . . . . . . . . . 24
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.1. Normative References . . . . . . . . . . . . . . . . . . 24
6.2. Informative References . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24
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 and
RESTCONF 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
o authoritative servers
o resolvers
o zone data.
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. Operators can
then, for instance, run several different DNS servers in parallel,
and use a common configuration and management interface and data for
all of them. Also, it becomes considerably easier to migrate to
another implementation.
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 compromises 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
Lhotka & Spacek Expires December 29, 2019 [Page 2]
Internet-Draft iana-dns-class-rr-type-yang June 2019
translated into corresponding YANG types or other structures. Such
translations should be straightforward and relatively
uncontroversial.
This document is a first step in translating DNS-related IANA
registries to YANG. It contains the initial revision of the YANG
module "iana-dns-class-rr-type" that defines derived types for the
common parameters of DNS resource records (RR): class and type.
These YANG types, "dns-class" and "rr-type", reflect the IANA
registries "DNS CLASSes" and "Resource Record (RR) TYPEs"
[IANA-DNS-PARAMETERS].
It is worth emphasizing that the role of the DNSOP Working Group is
only in preparing and publishing this initial revision of the YANG
module. Subsequently, whenever a new class or RR type is added to
the above registries, IANA will also update the iana-dns-class-rr-
type YANG module, following the instructions in Section 4 below.
2. YANG Design Considerations
The IANA document "Domain Name System (DNS) Parameters"
[IANA-DNS-PARAMETERS] contains altogether thirteen registries. The
YANG module iana-dns-class-rr-type defines derived types
corresponding to only two of the registries that are essential for
data models involving zone data, namely "DNS CLASSes" and "Resource
Record (RR) TYPEs". It is expected that the remaining registries in
[IANA-DNS-PARAMETERS], as well as other DNS-related IANA registries,
will be analogically reflected in future YANG modules as necessary.
This way, an appropriate combination of YANG modules can be chosen
depending on which YANG types are needed for a given data modeling
purpose.
[RFC3597] introduced the option of specifying a class or 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 as "TYPE28".
Accordingly, the derived types "dns-class" and "rr-type" are defined
in the YANG module as a union of two member types:
o 16-bit decimal integer ("uint16")
o mnemonic name, represented by the enumeration type "dns-class-
name" and "rr-type-name", respectively.
As unassigned and reserved class and types values are not included in
the mnemonic name enumerations, they can be used only via their
decimal codes.
Lhotka & Spacek Expires December 29, 2019 [Page 3]
Internet-Draft iana-dns-class-rr-type-yang June 2019
3. YANG Module
RFC Editor: In this section, replace all occurrences of "XXXX" with
the actual RFC number and all occurrences of the revision date below
with the date of RFC publication (and remove this note).
<CODE BEGINS> file "ietf-iana-dns-class-rr-type@2019-06-27.yang"
module iana-dns-class-rr-type {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type";
prefix dnsct;
organization
"Internet Assigned Numbers Authority (IANA)";
contact
" Internet Assigned Numbers Authority
Postal: ICANN
4676 Admiralty Way, Suite 330
Marina del Rey, CA 90292
Tel: +1 310 823 9358
<mailto:iana@iana.org>";
description
"This YANG module translates IANA registries 'DNS CLASSes' and
'Resource Record (RR) TYPEs' to YANG derived types.
Copyright (c) 2018 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 Simplified 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).
This version of this YANG module is part of RFC XXXX
(https://tools.ietf.org/html/rfcXXXX); see the RFC itself for
full legal notices.";
Lhotka & Spacek Expires December 29, 2019 [Page 4]
Internet-Draft iana-dns-class-rr-type-yang June 2019
reference
"IANA 'Domain Name System (DNS) Parameters' registry
https://www.iana.org/assignments/dns-parameters";
revision 2019-06-27 {
description
"Initial revision.";
reference
"RFC XXXX: YANG Types for DNS Classes and Resource Record
Types";
}
/* Typedefs */
typedef dns-class-name {
type enumeration {
enum IN {
value "1";
description
"Internet";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum CH {
value "3";
description
"Chaos";
reference
"Moon, D., 'Chaosnet', A. I. Memo 628, MIT Artificial
Intelligence Laboratory, June 1981";
}
enum HS {
value "4";
description
"Hesiod";
reference
"Dyer, S. and Hsu, F, 'Hesiod', Project Athena Technical
Plan - Name Service, April 1987";
}
enum NONE {
value "254";
description
"QCLASS NONE";
reference
"RFC 2136: Dynamic Updates in the Domain Name System (DNS
UPDATE)";
}
Lhotka & Spacek Expires December 29, 2019 [Page 5]
Internet-Draft iana-dns-class-rr-type-yang June 2019
enum ANY {
value "255";
description
"QCLASS * (ANY)";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
}
description
"This enumeration type defines mnemonic names and corresponding
numeric values of DNS classes.";
reference
"RFC 6895: Domain Name System (DNS) IANA Considerations";
}
typedef dns-class {
type union {
type uint16;
type dns-class-name;
}
description
"This type allows for referring to a DNS class using either the
assigned mnemonic name or numeric value.";
}
typedef rr-type-name {
type enumeration {
enum A {
value "1";
description
"A host address.";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum NS {
value "2";
description
"An authoritative name server.";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum MD {
value "3";
status "obsolete";
description
Lhotka & Spacek Expires December 29, 2019 [Page 6]
Internet-Draft iana-dns-class-rr-type-yang June 2019
"A mail destination (obsolete - use MX).";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum MF {
value "4";
status "obsolete";
description
"A mail forwarder (obsolete - use MX).";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum CNAME {
value "5";
description
"The canonical name for an alias.";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum SOA {
value "6";
description
"Start of a zone of authority.";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum MB {
value "7";
description
"A mailbox domain name (experimental).";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum MG {
value "8";
description
"A mail group member (experimental).";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum MR {
value "9";
Lhotka & Spacek Expires December 29, 2019 [Page 7]
Internet-Draft iana-dns-class-rr-type-yang June 2019
description
"A mail rename domain name (experimental).";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum NULL {
value "10";
description
"A null RR (experimental).";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum WKS {
value "11";
description
"A well known service description.";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum PTR {
value "12";
description
"A domain name pointer.";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum HINFO {
value "13";
description
"Host information.";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum MINFO {
value "14";
description
"Mailbox or mail list information.";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum MX {
value "15";
Lhotka & Spacek Expires December 29, 2019 [Page 8]
Internet-Draft iana-dns-class-rr-type-yang June 2019
description
"Mail exchange.";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum TXT {
value "16";
description
"Text strings.";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum RP {
value "17";
description
"Responsible person.";
reference
"RFC 1183: New DNS RR Definitions";
}
enum AFSDB {
value "18";
description
"AFS data base location.";
reference
"- RFC 1183: New DNS RR Definitions
- RFC 5864: DNS SRV Resource Records for AFS";
}
enum X25 {
value "19";
description
"X.25 PSDN address.";
reference
"RFC 1183: New DNS RR Definitions";
}
enum ISDN {
value "20";
description
"ISDN address.";
reference
"RFC 1183: New DNS RR Definitions";
}
enum RT {
value "21";
description
"Route through.";
Lhotka & Spacek Expires December 29, 2019 [Page 9]
Internet-Draft iana-dns-class-rr-type-yang June 2019
reference
"RFC 1183: New DNS RR Definitions";
}
enum NSAP {
value "22";
description
"NSAP address, NSAP style A record.";
reference
"RFC 1706: DNS NSAP Resource Records";
}
enum NSAP-PTR {
value "23";
description
"Domain name pointer, NSAP style.";
reference
"- RFC 1348: DNS NSAP RRs
- RFC 1637: DNS NSAP Resource Records
- RFC 1706: DNS NSAP Resource Records";
}
enum SIG {
value "24";
description
"Security signature.";
reference
"- RFC 4034: Resource Records for the DNS Security
Extensions
- RFC 3755: Legacy Resolver Compatibility for Delegation
Signer (DS)
- RFC 2535: Domain Name System Security Extensions
- RFC 2536: DSA KEYs and SIGs in the Domain Name System
(DNS)
- RFC 2537: RSA/MD5 KEYs and SIGs in the Domain Name
System (DNS)
- RFC 2931: DNS Request and Transaction Signatures
(SIG(0)s)
- RFC 3110: RSA/SHA-1 SIGs and RSA KEYs in the Domain Name
System (DNS)
- RFC 3008: Domain Name System Security (DNSSEC) Signing
Authority";
Lhotka & Spacek Expires December 29, 2019 [Page 10]
Internet-Draft iana-dns-class-rr-type-yang June 2019
}
enum KEY {
value "25";
description
"Security key.";
reference
"- RFC 4034: Resource Records for the DNS Security
Extensions
- RFC 3755: Legacy Resolver Compatibility for Delegation
Signer (DS)
- RFC 2535: Domain Name System Security Extensions
- RFC 2536: DSA KEYs and SIGs in the Domain Name System
(DNS)
- RFC 2537: RSA/MD5 KEYs and SIGs in the Domain Name
System (DNS)
- RFC 2539: Storage of Diffie-Hellman Keys in the Domain
Name System (DNS)
- RFC 3008: Domain Name System Security (DNSSEC) Signing
Authority
- RFC 3110: RSA/SHA-1 SIGs and RSA KEYs in the Domain Name
System (DNS)";
}
enum PX {
value "26";
description
"X.400 mail mapping information.";
reference
"RFC 2163: Using the Internet DNS to Distribute MIXER
Conformant Global Address Mapping (MCGAM)";
}
enum GPOS {
value "27";
description
"Geographical position.";
reference
"RFC 1712: DNS Encoding of Geographical Location";
}
enum AAAA {
value "28";
description
"IPv6 address.";
Lhotka & Spacek Expires December 29, 2019 [Page 11]
Internet-Draft iana-dns-class-rr-type-yang June 2019
reference
"RFC 3596: DNS Extensions to Support IP Version 6";
}
enum LOC {
value "29";
description
"Location information.";
reference
"RFC 1876: A Means for Expressing Location Information in
the Domain Name System";
}
enum NXT {
value "30";
status "obsolete";
description
"Next domain (obsolete).";
reference
"- RFC 3755: Legacy Resolver Compatibility for Delegation
Signer (DS)
- RFC 2535: Domain Name System Security Extensions";
}
enum EID {
value "31";
description
"Endpoint identifier.";
}
enum NIMLOC {
value "32";
description
"Nimrod locator.";
}
enum SRV {
value "33";
description
"Server selection.";
reference
"RFC 2782: A DNS RR for specifying the location of services
(DNS SRV)";
}
enum ATMA {
value "34";
description
"ATM address.";
reference
"ATM Forum Technical Committee, 'ATM Name System V2.0',
AF-DANS-0152.00, July 2000";
}
Lhotka & Spacek Expires December 29, 2019 [Page 12]
Internet-Draft iana-dns-class-rr-type-yang June 2019
enum NAPTR {
value "35";
description
"Naming authority pointer.";
reference
"- RFC 2915: The Naming Authority Pointer (NAPTR) DNS
Resource Record
- RFC 2168: Resolution of Uniform Resource Identifiers
using the Domain Name System
- RFC 3403: Dynamic Delegation Discovery System (DDDS)
Part Three: The Domain Name System (DNS) Database";
}
enum KX {
value "36";
description
"Key exchanger.";
reference
"RFC 2230: Key Exchange Delegation Record for the DNS";
}
enum CERT {
value "37";
description
"Certificate.";
reference
"RFC 4398: Storing Certificates in the Domain Name System
(DNS)";
}
enum A6 {
value "38";
status "obsolete";
description
"IPv6 address (obsolete - use AAAA).";
reference
"- RFC 3226: DNSSEC and IPv6 A6 Aware Server/Resolver
Message Size Requirements
- RFC 2874: DNS Extensions to Support IPv6 Address
Aggregation and Renumbering
- RFC 6563: Moving A6 to Historic Status";
}
enum DNAME {
value "39";
description
"DNAME.";
reference
Lhotka & Spacek Expires December 29, 2019 [Page 13]
Internet-Draft iana-dns-class-rr-type-yang June 2019
"- RFC 2672: Non-Terminal DNS Name Redirection
- RFC 6672: DNAME Redirection in the DNS";
}
enum SINK {
value "40";
description
"Kitchen sink.";
}
enum OPT {
value "41";
description
"OPT pseudo-RR.";
reference
"- RFC 6891: Extension Mechanisms for DNS (EDNS(0))
- RFC 3225: Indicating Resolver Support of DNSSEC";
}
enum APL {
value "42";
description
"Address prefix list.";
reference
"RFC 3123: A DNS RR Type for Lists of Address Prefixes (APL
RR)";
}
enum DS {
value "43";
description
"Delegation signer.";
reference
"- RFC 4034: Resource Records for the DNS Security
Extensions
- RFC 3658: Delegation Signer (DS) Resource Record (RR)";
}
enum SSHFP {
value "44";
description
"SSH key fingerprint.";
reference
"RFC 4255: Using DNS to Securely Publish Secure Shell (SSH)
Key Fingerprints";
}
enum IPSECKEY {
value "45";
description
"IPSec key.";
Lhotka & Spacek Expires December 29, 2019 [Page 14]
Internet-Draft iana-dns-class-rr-type-yang June 2019
reference
"RFC 4025: A Method for Storing IPsec Keying Material in
DNS";
}
enum RRSIG {
value "46";
description
"RR signature.";
reference
"- RFC 4034: Resource Records for the DNS Security
Extensions
- RFC 3755: Legacy Resolver Compatibility for Delegation
Signer (DS)";
}
enum NSEC {
value "47";
description
"NSEC resource record.";
reference
"- RFC 4034: Resource Records for the DNS Security
Extensions
- RFC 3755: Legacy Resolver Compatibility for Delegation
Signer (DS)";
}
enum DNSKEY {
value "48";
description
"DNSKEY resource record.";
reference
"- RFC 4034: Resource Records for the DNS Security
Extensions
- RFC 3755: Legacy Resolver Compatibility for Delegation
Signer (DS)";
}
enum DHCID {
value "49";
description
"DHCID resource record.";
reference
"RFC 4701: A DNS Resource Record (RR) for Encoding Dynamic
Host Configuration Protocol (DHCP) Information (DHCID
RR)";
}
enum NSEC3 {
value "50";
Lhotka & Spacek Expires December 29, 2019 [Page 15]
Internet-Draft iana-dns-class-rr-type-yang June 2019
description
"NSEC3 resource record.";
reference
"RFC 5155: DNS Security (DNSSEC) Hashed Authenticated
Denial of Existence";
}
enum NSEC3PARAM {
value "51";
description
"NSEC3PARAM resource record.";
reference
"RFC 5155: DNS Security (DNSSEC) Hashed Authenticated
Denial of Existence";
}
enum TLSA {
value "52";
description
"TLSA resource record.";
reference
"RFC 6698: The DNS-Based Authentication of Named Entities
(DANE) Transport Layer Security (TLS) Protocol: TLSA";
}
enum SMIMEA {
value "53";
description
"S/MIME cert association";
reference
"RFC 8162: Using Secure DNS to Associate Certificates with
Domain Names for S/MIME";
}
enum HIP {
value "55";
description
"Host identity protocol.";
reference
"RFC 5205: Host Identity Protocol (HIP) Domain Name System
(DNS) Extension";
}
enum NINFO {
value "56";
description
"NINFO resource record.";
}
enum RKEY {
value "57";
description
"RKEY resource record.";
}
Lhotka & Spacek Expires December 29, 2019 [Page 16]
Internet-Draft iana-dns-class-rr-type-yang June 2019
enum TALINK {
value "58";
description
"Trust anchor LINK.";
}
enum CDS {
value "59";
description
"Child DS.";
reference
"RFC 7344: Automating DNSSEC Delegation Trust
Maintenance";
}
enum CDNSKEY {
value "60";
description
"DNSKEY(s) the child wants reflected in DS.";
reference
"RFC 7344: Automating DNSSEC Delegation Trust
Maintenance";
}
enum OPENPGPKEY {
value "61";
description
"OpenPGP key.";
reference
"RFC 7929: DNS-Based Authentication of Named Entities
(DANE) Bindings for OpenPGP";
}
enum CSYNC {
value "62";
description
"Child-to-parent synchronization.";
reference
"RFC 7477: Child-to-Parent Synchronization in DNS";
}
enum SPF {
value "99";
description
"SPF (sender policy framework) resource record.";
reference
"RFC 7208: Sender Policy Framework (SPF) for Authorizing
Use of Domains in Email, Version 1";
}
enum UINFO {
value "100";
description
"IANA-reserved.";
Lhotka & Spacek Expires December 29, 2019 [Page 17]
Internet-Draft iana-dns-class-rr-type-yang June 2019
}
enum UID {
value "101";
description
"IANA-reserved.";
}
enum GID {
value "102";
description
"IANA-reserved.";
}
enum UNSPEC {
value "103";
description
"IANA-reserved.";
}
enum NID {
value "104";
description
"Node identifier.";
reference
"RFC 6742: DNS Resource Records for the Identifier-Locator
Network Protocol (ILNP)";
}
enum L32 {
value "105";
description
"L32 resource record.";
reference
"RFC 6742: DNS Resource Records for the Identifier-Locator
Network Protocol (ILNP)";
}
enum L64 {
value "106";
description
"L64 resource record.";
reference
"RFC 6742: DNS Resource Records for the Identifier-Locator
Network Protocol (ILNP)";
}
enum LP {
value "107";
description
"LP resource record.";
reference
"RFC 6742: DNS Resource Records for the Identifier-Locator
Network Protocol (ILNP)";
}
Lhotka & Spacek Expires December 29, 2019 [Page 18]
Internet-Draft iana-dns-class-rr-type-yang June 2019
enum EUI48 {
value "108";
description
"An EUI-48 address.";
reference
"RFC 7043: Resource Records for EUI-48 and EUI-64 Addresses
in the DNS";
}
enum EUI64 {
value "109";
description
"An EUI-64 address.";
reference
"RFC 7043: Resource Records for EUI-48 and EUI-64 Addresses
in the DNS";
}
enum TKEY {
value "249";
description
"Transaction key.";
reference
"RFC 2930: Secret Key Establishment for DNS (TKEY RR)";
}
enum TSIG {
value "250";
description
"Transaction signature.";
reference
"RFC 2845: Secret Key Transaction Authentication for DNS
(TSIG)";
}
enum IXFR {
value "251";
description
"Incremental transfer.";
reference
"RFC 1995: Incremental Zone Transfer in DNS";
}
enum AXFR {
value "252";
description
"Transfer of an entire zone.";
reference
"- RFC 1035: Domain Names - Implementation and
Specification
- RFC 5936: DNS Zone Transfer Protocol (AXFR)";
}
Lhotka & Spacek Expires December 29, 2019 [Page 19]
Internet-Draft iana-dns-class-rr-type-yang June 2019
enum MAILB {
value "253";
description
"Mailbox-related RRs (MB, MG or MR).";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum MAILA {
value "254";
status "obsolete";
description
"Mail agent RRs (obsolete - see MX).";
reference
"RFC 1035: Domain Names - Implementation and
Specification";
}
enum * {
value "255";
description
"A request for all records the server/cache has
available.";
reference
"- RFC 1035: Domain Names - Implementation and
Specification
- RFC 6895: Domain Name System (DNS) IANA
Considerations";
}
enum URI {
value "256";
description
"URI resource record.";
reference
"RFC 7553: The Uniform Resource Identifier (URI) DNS
Resource Record";
}
enum CAA {
value "257";
description
"Certification authority authorization.";
reference
"RFC 6844: DNS Certification Authority Authorization (CAA)
Resource Record";
}
enum AVC {
value "258";
description
Lhotka & Spacek Expires December 29, 2019 [Page 20]
Internet-Draft iana-dns-class-rr-type-yang June 2019
"Application visibility and control.";
}
enum DOA {
value "259";
description
"Digital object architecture";
reference
"draft-durand-doa-over-dns: DOA over DNS";
}
enum AMTRELAY {
value "260";
description
"Automatic multicast tunneling relay.";
reference
"J. Holland: DNS Reverse IP AMT Discovery.
draft-ietf-mboned-driad-amt-discovery.";
}
enum TA {
value "32768";
description
"DNSSEC trust authorities.";
}
enum DLV {
value "32769";
description
"DNSSEC lookaside validation.";
reference
"RFC 4431: The DNSSEC Lookaside Validation (DLV) DNS
Resource Record";
}
}
description
"This enumeration type defines mnemonic names and corresponding
numeric values of DNS resource record types.";
reference
"- RFC 6895: Domain Name System (DNS) IANA Considerations
- RFC 1035: Domain Names - Implementation and Specification";
}
typedef rr-type {
type union {
type uint16;
type rr-type-name;
}
description
"This type allows for referring to a DNS resource record type
using either the assigned mnemonic name or numeric value.";
Lhotka & Spacek Expires December 29, 2019 [Page 21]
Internet-Draft iana-dns-class-rr-type-yang June 2019
}
}
<CODE ENDS>
4. IANA Considerations
RFC Editor: In this section, replace all occurrences of "XXXX" with
the actual RFC number (and remove this note).
This document defines the initial version of the IANA-maintained
iana-dns-class-rr-type YANG module.
The iana-dns-class-rr-type YANG module is intended to reflect the
"DNS CLASSes" and "Resource Record (RR) TYPEs" registries in
[IANA-DNS-PARAMETERS].
IANA has added this new note to the "iana-dns-class-rr-type YANG
Module" registry:
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 must be
added to the "dns-class-name" or "rr-type-name" type, respectively.
The assigned name defined by the "enum" statement is the same as the
mnemonic name of the new class or type. The following substatements
to the "enum" statement should be defined:
"value": Use the decimal value from the registry.
"status": Include only if a class or type registration has been
deprecated (use the value "deprecated") or obsoleted
(use the value "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 from the registry, if any, and
add the title of the document, if applicable.
Unassigned or reserved values are not included in the "dns-class-
name" and "rr-type-name" enumeration types.
Lhotka & Spacek Expires December 29, 2019 [Page 22]
Internet-Draft iana-dns-class-rr-type-yang June 2019
Each time the iana-dns-class-rr-type YANG module is updated, a new
"revision" statement must be added before the existing "revision"
statements.
IANA has added this new 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 RFC XXXX.
The "Reference" text in the "DNS CLASSes" registry has been updated
as follows:
OLD:
[RFC6895]
NEW:
[RFC6895][RFCXXXX]
The "Reference" text in the "Resource Record (RR) TYPEs" registry has
been updated as follows:
OLD:
[RFC6895][RFC1035]
NEW:
[RFC6895][RFC1035][RFCXXXX]
4.1. URI Registrations
This document registers a URI in the "IETF XML Registry" [RFC3688].
The following registration has been made:
URI: urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace.
4.2. YANG Module Registrations
This document registers a YANG module in the "YANG Module Names"
registry [RFC6020]. The following registration has been made:
name: iana-dns-class-rr-type
namespace: urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type
prefix: dnsct
reference: RFC XXXX
Lhotka & Spacek Expires December 29, 2019 [Page 23]
Internet-Draft iana-dns-class-rr-type-yang June 2019
5. Security Considerations
This documents translates two IANA registries into YANG data types
and otherwise introduces no technology or protocol. Consequently,
there are no security issues to be considered for this document.
6. References
6.1. Normative References
[IANA-DNS-PARAMETERS]
Internet Assigned Numbers Authority, "Domain Name System
(DNS) Parameters", January 2018,
<https://www.iana.org/assignments/dns-parameters>.
[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>.
[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>.
6.2. Informative References
[RFC3597] Gustafsson, A., "Handling of Unknown DNS Resource Record
(RR) Types", RFC 3597, DOI 10.17487/RFC3597, September
2003, <https://www.rfc-editor.org/info/rfc3597>.
Authors' Addresses
Ladislav Lhotka
CZ.NIC
Email: lhotka@nic.cz
Petr Spacek
CZ.NIC
Email: petr.spacek@nic.cz
Lhotka & Spacek Expires December 29, 2019 [Page 24]