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]