idnits 2.17.1 draft-lhotka-dnsop-iana-class-type-yang-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == There are 4 instances of lines with non-ascii characters in the document. == The page length should not exceed 58 lines per page, but there was 1 longer page, the longest (page 1) being 1140 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (27 February 2019) is 1885 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC6895' is mentioned on line 1072, but not defined == Missing Reference: 'RFCXXXX' is mentioned on line 1072, but not defined == Missing Reference: 'RFC1035' is mentioned on line 1072, but not defined -- Possible downref: Non-RFC (?) normative reference: ref. 'IANA-DNS-PARAMETERS' Summary: 0 errors (**), 0 flaws (~~), 6 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 DNSOP Working Group L. Lhotka 3 Internet-Draft P. Spacek 4 Intended status: Standards Track CZ.NIC 5 Expires: 31 August 2019 27 February 2019 7 YANG Types for DNS Classes and Resource Record Types 8 draft-lhotka-dnsop-iana-class-type-yang-01 10 Abstract 12 This document contains the initial revision of the YANG module iana- 13 dns-class-rr-type that contains derived types reflecting two IANA 14 registries: DNS CLASSes and Resource Record (RR) TYPEs. These YANG 15 types are intended as a minimum basis for future data modeling work. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at https://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on 31 August 2019. 34 Copyright Notice 36 Copyright (c) 2019 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents (http://trustee.ietf.org/ 41 license-info) in effect on the date of publication of this document. 42 Please review these documents carefully, as they describe your rights 43 and restrictions with respect to this document. Code Components 44 extracted from this document must include Simplified BSD License text 45 as described in Section 4.e of the Trust Legal Provisions and are 46 provided without warranty as described in the Simplified BSD License. 48 Table of Contents 50 1. Introduction 51 2. YANG Design Considerations 52 3. YANG Module 53 4. IANA Considerations 54 4.1. URI Registrations 55 4.2. YANG Module Registrations 56 5. Security Considerations 57 6. References 58 6.1. Normative References 59 6.2. Informative References 60 Authors' Addresses 62 1. Introduction 64 YANG [RFC7950] has become a de facto standard as a language for 65 modeling configuration and state data, as well as specifying 66 management operations and asynchronous notifications. It is 67 reasonable to expect that the approach based on utilizing such data 68 models along with standard management protocols such as NETCONF and 69 RESTCONF can be effectively used in DNS operations, too. In fact, 70 several efforts are currently underway that attempt to use NETCONF or 71 RESTCONF for configuring and managing 73 * authoritative servers 75 * resolvers 77 * zone data. 79 While it is possible to use the management protocols mentioned above 80 with ad hoc or proprietary data models, their real potential can be 81 realized only if there is a (completely or partly) unified data model 82 supported by multiple DNS software implementations. Operators can 83 then, for instance, run several different DNS servers in parallel, 84 and use a common configuration and management interface and data for 85 all of them. Also, it becomes considerably easier to migrate to 86 another implementation. 88 Based on the previous experience from the IETF Routing Area, it is to 89 be expected that the development of unified data models for DNS will 90 be a lengthy and complicated process that will require active 91 cooperation and compromises from the vendors and developers of major 92 DNS server platforms. Nevertheless, it is likely that any DNS- 93 related data modeling effort will need to use various DNS parameters 94 and enumerations that are specified in several IANA registries. For 95 use with YANG, these parameters and enumerations have to be 96 translated into corresponding YANG types or other structures. Such 97 translations should be straightforward and relatively 98 uncontroversial. 100 This document is a first step in translating DNS-related IANA 101 registries to YANG. It contains the initial revision of the YANG 102 module "iana-dns-class-rr-type" that defines derived types for the 103 common parameters of DNS resource records (RR): class and type. 104 These YANG types, "dns-class" and "rr-type", reflect the IANA 105 registries "DNS CLASSes" and "Resource Record (RR) TYPEs" [IANA-DNS- 106 PARAMETERS]. 108 It is worth emphasizing that the role of the DNSOP Working Group is 109 only in preparing and publishing this initial revision of the YANG 110 module. Subsequently, whenever a new class or RR type is added to 111 the above registries, IANA will also update the iana-dns-class-rr- 112 type YANG module, following the instructions in Section 4 below. 114 2. YANG Design Considerations 116 The IANA document "Domain Name System (DNS) Parameters" [IANA-DNS- 117 PARAMETERS] contains altogether thirteen registries. The YANG module 118 iana-dns-class-rr-type defines derived types corresponding to only 119 two of the registries that are essential for data models involving 120 zone data, namely "DNS CLASSes" and "Resource Record (RR) TYPEs". It 121 is expected that the remaining registries in [IANA-DNS-PARAMETERS], 122 as well as other DNS-related IANA registries, will be analogically 123 reflected in future YANG modules as necessary. This way, an 124 appropriate combination of YANG modules can be chosen depending on 125 which YANG types are needed for a given data modeling purpose. 127 [RFC3597] introduced the option of specifying a class or type via its 128 assigned decimal number, as an alternative to the mnemonic name. For 129 example, the "IN" class can be equivalently written as "CLASS1", and 130 "AAAA" type as "TYPE28". 132 Accordingly, the derived types "dns-class" and "rr-type" are defined 133 in the YANG module as a union of two member types: 135 * 16-bit decimal integer ("uint16") 137 * mnemonic name, represented by the enumeration type "dns-class- 138 name" and "rr-type-name", respectively. 140 As unassigned and reserved class and types values are not included in 141 the mnemonic name enumerations, they can be used only via their 142 decimal codes. 144 3. YANG Module 146 RFC Editor: In this section, replace all occurrences of "XXXX" with 147 the actual RFC number and all occurrences of the revision date below 148 with the date of RFC publication (and remove this note). 150 file "iana-dns-class-rr-type@2019-02-27.yang" 151 module iana-dns-class-rr-type { 153 yang-version 1.1; 155 namespace "urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type"; 157 prefix dnsct; 159 organization 160 "Internet Assigned Numbers Authority (IANA)"; 162 contact 163 " Internet Assigned Numbers Authority 165 Postal: ICANN 166 4676 Admiralty Way, Suite 330 167 Marina del Rey, CA 90292 169 Tel: +1 310 823 9358 171 "; 173 description 174 "This YANG module translates IANA registries 'DNS CLASSes' and 175 'Resource Record (RR) TYPEs' to YANG derived types. 177 Copyright (c) 2018 IETF Trust and the persons identified as 178 authors of the code. All rights reserved. 180 Redistribution and use in source and binary forms, with or 181 without modification, is permitted pursuant to, and subject to 182 the license terms contained in, the Simplified BSD License set 183 forth in Section 4.c of the IETF Trust's Legal Provisions 184 Relating to IETF Documents 185 (https://trustee.ietf.org/license-info). 187 This version of this YANG module is part of RFC XXXX 188 (https://tools.ietf.org/html/rfcXXXX); see the RFC itself for 189 full legal notices."; 191 reference 192 "IANA 'Domain Name System (DNS) Parameters' registry 193 https://www.iana.org/assignments/dns-parameters"; 195 revision 2019-02-27 { 196 description 197 "Initial revision."; 198 reference 199 "RFC XXXX: YANG Types for DNS Classes and Resource Record 200 Types"; 201 } 203 /* Typedefs */ 205 typedef dns-class-name { 206 type enumeration { 207 enum IN { 208 value "1"; 209 description 210 "Internet"; 211 reference 212 "RFC 1035: Domain Names - Implementation and 213 Specification"; 214 } 215 enum CH { 216 value "3"; 217 description 218 "Chaos"; 219 reference 220 "Moon, D., 'Chaosnet', A. I. Memo 628, MIT Artificial 221 Intelligence Laboratory, June 1981"; 222 } 223 enum HS { 224 value "4"; 225 description 226 "Hesiod"; 227 reference 228 "Dyer, S. and Hsu, F, 'Hesiod', Project Athena Technical 229 Plan - Name Service, April 1987"; 230 } 231 enum NONE { 232 value "254"; 233 description 234 "QCLASS NONE"; 235 reference 236 "RFC 2136: Dynamic Updates in the Domain Name System (DNS 237 UPDATE)"; 238 } 239 enum ANY { 240 value "255"; 241 description 242 "QCLASS * (ANY)"; 243 reference 244 "RFC 1035: Domain Names - Implementation and 245 Specification"; 246 } 247 } 248 description 249 "This enumeration type defines mnemonic names and corresponding 250 numeric values of DNS classes."; 251 reference 252 "RFC 6895: Domain Name System (DNS) IANA Considerations"; 253 } 255 typedef dns-class { 256 type union { 257 type uint16; 258 type dns-class-name; 259 } 260 description 261 "This type allows for referring to a DNS class using either the 262 assigned mnemonic name or numeric value."; 263 } 265 typedef rr-type-name { 266 type enumeration { 267 enum A { 268 value "1"; 269 description 270 "A host address."; 271 reference 272 "RFC 1035: Domain Names - Implementation and 273 Specification"; 274 } 275 enum NS { 276 value "2"; 277 description 278 "An authoritative name server."; 279 reference 280 "RFC 1035: Domain Names - Implementation and 281 Specification"; 282 } 283 enum MD { 284 value "3"; 285 status "obsolete"; 286 description 287 "A mail destination (obsolete – use MX)."; 288 reference 289 "RFC 1035: Domain Names - Implementation and 290 Specification"; 291 } 292 enum MF { 293 value "4"; 294 status "obsolete"; 295 description 296 "A mail forwarder (obsolete – use MX)."; 297 reference 298 "RFC 1035: Domain Names - Implementation and 299 Specification"; 300 } 301 enum CNAME { 302 value "5"; 303 description 304 "The canonical name for an alias."; 305 reference 306 "RFC 1035: Domain Names - Implementation and 307 Specification"; 308 } 309 enum SOA { 310 value "6"; 311 description 312 "Start of a zone of authority."; 313 reference 314 "RFC 1035: Domain Names - Implementation and 315 Specification"; 316 } 317 enum MB { 318 value "7"; 319 description 320 "A mailbox domain name (experimental)."; 321 reference 322 "RFC 1035: Domain Names - Implementation and 323 Specification"; 324 } 325 enum MG { 326 value "8"; 327 description 328 "A mail group member (experimental)."; 329 reference 330 "RFC 1035: Domain Names - Implementation and 331 Specification"; 332 } 333 enum MR { 334 value "9"; 335 description 336 "A mail rename domain name (experimental)."; 337 reference 338 "RFC 1035: Domain Names - Implementation and 339 Specification"; 340 } 341 enum NULL { 342 value "10"; 343 description 344 "A null RR (experimental)."; 345 reference 346 "RFC 1035: Domain Names - Implementation and 347 Specification"; 348 } 349 enum WKS { 350 value "11"; 351 description 352 "A well known service description."; 353 reference 354 "RFC 1035: Domain Names - Implementation and 355 Specification"; 356 } 357 enum PTR { 358 value "12"; 359 description 360 "A domain name pointer."; 361 reference 362 "RFC 1035: Domain Names - Implementation and 363 Specification"; 364 } 365 enum HINFO { 366 value "13"; 367 description 368 "Host information."; 369 reference 370 "RFC 1035: Domain Names - Implementation and 371 Specification"; 372 } 373 enum MINFO { 374 value "14"; 375 description 376 "Mailbox or mail list information."; 377 reference 378 "RFC 1035: Domain Names - Implementation and 379 Specification"; 380 } 381 enum MX { 382 value "15"; 383 description 384 "Mail exchange."; 385 reference 386 "RFC 1035: Domain Names - Implementation and 387 Specification"; 388 } 389 enum TXT { 390 value "16"; 391 description 392 "Text strings."; 393 reference 394 "RFC 1035: Domain Names - Implementation and 395 Specification"; 396 } 397 enum RP { 398 value "17"; 399 description 400 "Responsible person."; 401 reference 402 "RFC 1183: New DNS RR Definitions"; 403 } 404 enum AFSDB { 405 value "18"; 406 description 407 "AFS data base location."; 408 reference 409 "- RFC 1183: New DNS RR Definitions 411 - RFC 5864: DNS SRV Resource Records for AFS"; 412 } 413 enum X25 { 414 value "19"; 415 description 416 "X.25 PSDN address."; 417 reference 418 "RFC 1183: New DNS RR Definitions"; 419 } 420 enum ISDN { 421 value "20"; 422 description 423 "ISDN address."; 424 reference 425 "RFC 1183: New DNS RR Definitions"; 426 } 427 enum RT { 428 value "21"; 429 description 430 "Route through."; 431 reference 432 "RFC 1183: New DNS RR Definitions"; 433 } 434 enum NSAP { 435 value "22"; 436 description 437 "NSAP address, NSAP style A record."; 438 reference 439 "RFC 1706: DNS NSAP Resource Records"; 440 } 441 enum NSAP-PTR { 442 value "23"; 443 description 444 "Domain name pointer, NSAP style."; 445 reference 446 "- RFC 1348: DNS NSAP RRs 448 - RFC 1637: DNS NSAP Resource Records 450 - RFC 1706: DNS NSAP Resource Records"; 451 } 452 enum SIG { 453 value "24"; 454 description 455 "Security signature."; 456 reference 457 "- RFC 4034: Resource Records for the DNS Security 458 Extensions 460 - RFC 3755: Legacy Resolver Compatibility for Delegation 461 Signer (DS) 463 - RFC 2535: Domain Name System Security Extensions 465 - RFC 2536: DSA KEYs and SIGs in the Domain Name System 466 (DNS) 468 - RFC 2537: RSA/MD5 KEYs and SIGs in the Domain Name 469 System (DNS) 471 - RFC 2931: DNS Request and Transaction Signatures 472 (SIG(0)s) 474 - RFC 3110: RSA/SHA-1 SIGs and RSA KEYs in the Domain Name 475 System (DNS) 477 - RFC 3008: Domain Name System Security (DNSSEC) Signing 478 Authority"; 479 } 480 enum KEY { 481 value "25"; 482 description 483 "Security key."; 484 reference 485 "- RFC 4034: Resource Records for the DNS Security 486 Extensions 488 - RFC 3755: Legacy Resolver Compatibility for Delegation 489 Signer (DS) 491 - RFC 2535: Domain Name System Security Extensions 493 - RFC 2536: DSA KEYs and SIGs in the Domain Name System 494 (DNS) 496 - RFC 2537: RSA/MD5 KEYs and SIGs in the Domain Name 497 System (DNS) 499 - RFC 2539: Storage of Diffie-Hellman Keys in the Domain 500 Name System (DNS) 502 - RFC 3008: Domain Name System Security (DNSSEC) Signing 503 Authority 505 - RFC 3110: RSA/SHA-1 SIGs and RSA KEYs in the Domain Name 506 System (DNS)"; 507 } 508 enum PX { 509 value "26"; 510 description 511 "X.400 mail mapping information."; 512 reference 513 "RFC 2163: Using the Internet DNS to Distribute MIXER 514 Conformant Global Address Mapping (MCGAM)"; 515 } 516 enum GPOS { 517 value "27"; 518 description 519 "Geographical position."; 520 reference 521 "RFC 1712: DNS Encoding of Geographical Location"; 522 } 523 enum AAAA { 524 value "28"; 525 description 526 "IPv6 address."; 527 reference 528 "RFC 3596: DNS Extensions to Support IP Version 6"; 529 } 530 enum LOC { 531 value "29"; 532 description 533 "Location information."; 534 reference 535 "RFC 1876: A Means for Expressing Location Information in 536 the Domain Name System"; 537 } 538 enum NXT { 539 value "30"; 540 status "obsolete"; 541 description 542 "Next domain (obsolete)."; 543 reference 544 "- RFC 3755: Legacy Resolver Compatibility for Delegation 545 Signer (DS) 547 - RFC 2535: Domain Name System Security Extensions"; 548 } 549 enum EID { 550 value "31"; 551 description 552 "Endpoint identifier."; 553 } 554 enum NIMLOC { 555 value "32"; 556 description 557 "Nimrod locator."; 558 } 559 enum SRV { 560 value "33"; 561 description 562 "Server selection."; 563 reference 564 "RFC 2782: A DNS RR for specifying the location of services 565 (DNS SRV)"; 566 } 567 enum ATMA { 568 value "34"; 569 description 570 "ATM address."; 571 reference 572 "ATM Forum Technical Committee, 'ATM Name System V2.0', 573 AF-DANS-0152.00, July 2000"; 574 } 575 enum NAPTR { 576 value "35"; 577 description 578 "Naming authority pointer."; 579 reference 580 "- RFC 2915: The Naming Authority Pointer (NAPTR) DNS 581 Resource Record 583 - RFC 2168: Resolution of Uniform Resource Identifiers 584 using the Domain Name System 586 - RFC 3403: Dynamic Delegation Discovery System (DDDS) 587 Part Three: The Domain Name System (DNS) Database"; 588 } 589 enum KX { 590 value "36"; 591 description 592 "Key exchanger."; 593 reference 594 "RFC 2230: Key Exchange Delegation Record for the DNS"; 595 } 596 enum CERT { 597 value "37"; 598 description 599 "Certificate."; 600 reference 601 "RFC 4398: Storing Certificates in the Domain Name System 602 (DNS)"; 603 } 604 enum A6 { 605 value "38"; 606 status "obsolete"; 607 description 608 "IPv6 address (obsolete – use AAAA)."; 609 reference 610 "- RFC 3226: DNSSEC and IPv6 A6 Aware Server/Resolver 611 Message Size Requirements 613 - RFC 2874: DNS Extensions to Support IPv6 Address 614 Aggregation and Renumbering 616 - RFC 6563: Moving A6 to Historic Status"; 617 } 618 enum DNAME { 619 value "39"; 620 description 621 "DNAME."; 622 reference 623 "- RFC 2672: Non-Terminal DNS Name Redirection 625 - RFC 6672: DNAME Redirection in the DNS"; 626 } 627 enum SINK { 628 value "40"; 629 description 630 "Kitchen sink."; 631 } 632 enum OPT { 633 value "41"; 634 description 635 "OPT pseudo-RR."; 636 reference 637 "- RFC 6891: Extension Mechanisms for DNS (EDNS(0)) 639 - RFC 3225: Indicating Resolver Support of DNSSEC"; 640 } 641 enum APL { 642 value "42"; 643 description 644 "Address prefix list."; 645 reference 646 "RFC 3123: A DNS RR Type for Lists of Address Prefixes (APL 647 RR)"; 648 } 649 enum DS { 650 value "43"; 651 description 652 "Delegation signer."; 653 reference 654 "- RFC 4034: Resource Records for the DNS Security 655 Extensions 657 - RFC 3658: Delegation Signer (DS) Resource Record (RR)"; 658 } 659 enum SSHFP { 660 value "44"; 661 description 662 "SSH key fingerprint."; 663 reference 664 "RFC 4255: Using DNS to Securely Publish Secure Shell (SSH) 665 Key Fingerprints"; 666 } 667 enum IPSECKEY { 668 value "45"; 669 description 670 "IPSec key."; 671 reference 672 "RFC 4025: A Method for Storing IPsec Keying Material in 673 DNS"; 674 } 675 enum RRSIG { 676 value "46"; 677 description 678 "RR signature."; 679 reference 680 "- RFC 4034: Resource Records for the DNS Security 681 Extensions 683 - RFC 3755: Legacy Resolver Compatibility for Delegation 684 Signer (DS)"; 685 } 686 enum NSEC { 687 value "47"; 688 description 689 "NSEC resource record."; 690 reference 691 "- RFC 4034: Resource Records for the DNS Security 692 Extensions 694 - RFC 3755: Legacy Resolver Compatibility for Delegation 695 Signer (DS)"; 696 } 697 enum DNSKEY { 698 value "48"; 699 description 700 "DNSKEY resource record."; 701 reference 702 "- RFC 4034: Resource Records for the DNS Security 703 Extensions 705 - RFC 3755: Legacy Resolver Compatibility for Delegation 706 Signer (DS)"; 707 } 708 enum DHCID { 709 value "49"; 710 description 711 "DHCID resource record."; 712 reference 713 "RFC 4701: A DNS Resource Record (RR) for Encoding Dynamic 714 Host Configuration Protocol (DHCP) Information (DHCID 715 RR)"; 716 } 717 enum NSEC3 { 718 value "50"; 719 description 720 "NSEC3 resource record."; 721 reference 722 "RFC 5155: DNS Security (DNSSEC) Hashed Authenticated 723 Denial of Existence"; 724 } 725 enum NSEC3PARAM { 726 value "51"; 727 description 728 "NSEC3PARAM resource record."; 729 reference 730 "RFC 5155: DNS Security (DNSSEC) Hashed Authenticated 731 Denial of Existence"; 732 } 733 enum TLSA { 734 value "52"; 735 description 736 "TLSA resource record."; 737 reference 738 "RFC 6698: The DNS-Based Authentication of Named Entities 739 (DANE) Transport Layer Security (TLS) Protocol: TLSA"; 740 } 741 enum SMIMEA { 742 value "53"; 743 description 744 "S/MIME cert association"; 745 reference 746 "RFC 8162: Using Secure DNS to Associate Certificates with 747 Domain Names for S/MIME"; 748 } 749 enum HIP { 750 value "55"; 751 description 752 "Host identity protocol."; 753 reference 754 "RFC 5205: Host Identity Protocol (HIP) Domain Name System 755 (DNS) Extension"; 756 } 757 enum NINFO { 758 value "56"; 759 description 760 "NINFO resource record."; 761 } 762 enum RKEY { 763 value "57"; 764 description 765 "RKEY resource record."; 766 } 767 enum TALINK { 768 value "58"; 769 description 770 "Trust anchor LINK."; 771 } 772 enum CDS { 773 value "59"; 774 description 775 "Child DS."; 776 reference 777 "RFC 7344: Automating DNSSEC Delegation Trust 778 Maintenance"; 779 } 780 enum CDNSKEY { 781 value "60"; 782 description 783 "DNSKEY(s) the child wants reflected in DS."; 784 reference 785 "RFC 7344: Automating DNSSEC Delegation Trust 786 Maintenance"; 787 } 788 enum OPENPGPKEY { 789 value "61"; 790 description 791 "OpenPGP key."; 792 reference 793 "RFC 7929: DNS-Based Authentication of Named Entities 794 (DANE) Bindings for OpenPGP"; 795 } 796 enum CSYNC { 797 value "62"; 798 description 799 "Child-to-parent synchronization."; 800 reference 801 "RFC 7477: Child-to-Parent Synchronization in DNS"; 802 } 803 enum SPF { 804 value "99"; 805 description 806 "SPF (sender policy framework) resource record."; 807 reference 808 "RFC 7208: Sender Policy Framework (SPF) for Authorizing 809 Use of Domains in Email, Version 1"; 810 } 811 enum UINFO { 812 value "100"; 813 description 814 "IANA-reserved."; 815 } 816 enum UID { 817 value "101"; 818 description 819 "IANA-reserved."; 820 } 821 enum GID { 822 value "102"; 823 description 824 "IANA-reserved."; 825 } 826 enum UNSPEC { 827 value "103"; 828 description 829 "IANA-reserved."; 830 } 831 enum NID { 832 value "104"; 833 description 834 "Node identifier."; 835 reference 836 "RFC 6742: DNS Resource Records for the Identifier-Locator 837 Network Protocol (ILNP)"; 838 } 839 enum L32 { 840 value "105"; 841 description 842 "L32 resource record."; 843 reference 844 "RFC 6742: DNS Resource Records for the Identifier-Locator 845 Network Protocol (ILNP)"; 846 } 847 enum L64 { 848 value "106"; 849 description 850 "L64 resource record."; 851 reference 852 "RFC 6742: DNS Resource Records for the Identifier-Locator 853 Network Protocol (ILNP)"; 854 } 855 enum LP { 856 value "107"; 857 description 858 "LP resource record."; 859 reference 860 "RFC 6742: DNS Resource Records for the Identifier-Locator 861 Network Protocol (ILNP)"; 862 } 863 enum EUI48 { 864 value "108"; 865 description 866 "An EUI-48 address."; 867 reference 868 "RFC 7043: Resource Records for EUI-48 and EUI-64 Addresses 869 in the DNS"; 870 } 871 enum EUI64 { 872 value "109"; 873 description 874 "An EUI-64 address."; 875 reference 876 "RFC 7043: Resource Records for EUI-48 and EUI-64 Addresses 877 in the DNS"; 878 } 879 enum TKEY { 880 value "249"; 881 description 882 "Transaction key."; 883 reference 884 "RFC 2930: Secret Key Establishment for DNS (TKEY RR)"; 885 } 886 enum TSIG { 887 value "250"; 888 description 889 "Transaction signature."; 890 reference 891 "RFC 2845: Secret Key Transaction Authentication for DNS 892 (TSIG)"; 893 } 894 enum IXFR { 895 value "251"; 896 description 897 "Incremental transfer."; 898 reference 899 "RFC 1995: Incremental Zone Transfer in DNS"; 900 } 901 enum AXFR { 902 value "252"; 903 description 904 "Transfer of an entire zone."; 905 reference 906 "- RFC 1035: Domain Names - Implementation and 907 Specification 909 - RFC 5936: DNS Zone Transfer Protocol (AXFR)"; 910 } 911 enum MAILB { 912 value "253"; 913 description 914 "Mailbox-related RRs (MB, MG or MR)."; 915 reference 916 "RFC 1035: Domain Names - Implementation and 917 Specification"; 918 } 919 enum MAILA { 920 value "254"; 921 status "obsolete"; 922 description 923 "Mail agent RRs (obsolete – see MX)."; 924 reference 925 "RFC 1035: Domain Names - Implementation and 926 Specification"; 927 } 928 enum * { 929 value "255"; 930 description 931 "A request for all records the server/cache has 932 available."; 933 reference 934 "- RFC 1035: Domain Names - Implementation and 935 Specification 937 - RFC 6895: Domain Name System (DNS) IANA 938 Considerations"; 939 } 940 enum URI { 941 value "256"; 942 description 943 "URI resource record."; 944 reference 945 "RFC 7553: The Uniform Resource Identifier (URI) DNS 946 Resource Record"; 947 } 948 enum CAA { 949 value "257"; 950 description 951 "Certification authority authorization."; 952 reference 953 "RFC 6844: DNS Certification Authority Authorization (CAA) 954 Resource Record"; 955 } 956 enum AVC { 957 value "258"; 958 description 959 "Application visibility and control."; 960 } 961 enum DOA { 962 value "259"; 963 description 964 "Digital object architecture"; 965 reference 966 "draft-durand-doa-over-dns: DOA over DNS"; 967 } 968 enum TA { 969 value "32768"; 970 description 971 "DNSSEC trust authorities."; 972 } 973 enum DLV { 974 value "32769"; 975 description 976 "DNSSEC lookaside validation."; 977 reference 978 "RFC 4431: The DNSSEC Lookaside Validation (DLV) DNS 979 Resource Record"; 980 } 981 } 982 description 983 "This enumeration type defines mnemonic names and corresponding 984 numeric values of DNS resource record types."; 985 reference 986 "- RFC 6895: Domain Name System (DNS) IANA Considerations 988 - RFC 1035: Domain Names - Implementation and Specification"; 989 } 991 typedef rr-type { 992 type union { 993 type uint16; 994 type rr-type-name; 995 } 996 description 997 "This type allows for referring to a DNS resource record type 998 using either the assigned mnemonic name or numeric value."; 999 } 1000 } 1001 1003 4. IANA Considerations 1005 RFC Editor: In this section, replace all occurrences of "XXXX" with 1006 the actual RFC number (and remove this note). 1008 This document defines the initial version of the IANA-maintained 1009 iana-dns-class-rr-type YANG module. 1011 The iana-dns-class-rr-type YANG module is intended to reflect the 1012 "DNS CLASSes" and "Resource Record (RR) TYPEs" registries in [IANA- 1013 DNS-PARAMETERS]. 1015 IANA has added this new note to the "iana-dns-class-rr-type YANG 1016 Module" registry: 1018 Classes and types of DNS resource records must not be directly 1019 added to the iana-dns-class-rr-type YANG module. They must instead 1020 be added to the "DNS CLASSes" and "Resource Record (RR) TYPEs" 1021 registries, respectively. 1023 When a new DNS class or RR type is added to the "DNS CLASSes" or 1024 "Resource Record (RR) TYPEs" registry, a new "enum" statement must be 1025 added to the "dns-class-name" or "rr-type-name" type, respectively. 1026 The assigned name defined by the "enum" statement is the same as the 1027 mnemonic name of the new class or type. The following substatements 1028 to the "enum" statement should be defined: 1030 "value": Use the decimal value from the registry. 1032 "status": Include only if a class or type registration has been 1033 deprecated (use the value "deprecated") or obsoleted 1034 (use the value "obsolete"). 1036 "description": Replicate the corresponding information from the 1037 registry, namely the full name of the new DNS class, 1038 or the meaning of the new RR type, if any. 1040 "reference": Replicate the reference from the registry, if any, 1041 and add the title of the document, if applicable. 1043 Unassigned or reserved values are not included in the "dns-class- 1044 name" and "rr-type-name" enumeration types. 1046 Each time the iana-dns-class-rr-type YANG module is updated, a new 1047 "revision" statement must be added before the existing "revision" 1048 statements. 1050 IANA has added this new note to the "DNS CLASSes" and "Resource 1051 Record (RR) TYPEs" registries: 1053 When this registry is modified, the YANG module 1054 iana-dns-class-rr-type must be updated as defined in RFC XXXX. 1056 The "Reference" text in the "DNS CLASSes" registry has been updated 1057 as follows: 1059 OLD: 1060 [RFC6895] 1062 NEW: 1063 [RFC6895][RFCXXXX] 1065 The "Reference" text in the "Resource Record (RR) TYPEs" registry has 1066 been updated as follows: 1068 OLD: 1069 [RFC6895][RFC1035] 1071 NEW: 1072 [RFC6895][RFC1035][RFCXXXX] 1074 4.1. URI Registrations 1076 This document registers a URI in the "IETF XML Registry" [RFC3688]. 1077 The following registration has been made: 1079 URI: urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type 1080 Registrant Contact: The IESG. 1081 XML: N/A, the requested URI is an XML namespace. 1083 4.2. YANG Module Registrations 1085 This document registers a YANG module in the "YANG Module Names" 1086 registry [RFC6020]. The following registration has been made: 1088 name: iana-dns-class-rr-type 1089 namespace: urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type 1090 prefix: dnsct 1091 reference: RFC XXXX 1093 5. Security Considerations 1095 This documents translates two IANA registries into YANG data types 1096 and otherwise introduces no technology or protocol. Consequently, 1097 there are no security issues to be considered for this document. 1099 6. References 1101 6.1. Normative References 1103 [IANA-DNS-PARAMETERS] 1104 Internet Assigned Numbers Authority, "Domain Name System 1105 (DNS) Parameters", 8 January 2018, 1106 . 1108 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 1109 DOI 10.17487/RFC3688, January 2004, . 1112 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 1113 the Network Configuration Protocol (NETCONF)", RFC 6020, 1114 DOI 10.17487/RFC6020, October 2010, . 1117 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1118 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1119 . 1121 6.2. Informative References 1123 [RFC3597] Gustafsson, A., "Handling of Unknown DNS Resource Record 1124 (RR) Types", RFC 3597, DOI 10.17487/RFC3597, September 1125 2003, . 1127 Authors' Addresses 1129 Ladislav Lhotka 1130 CZ.NIC 1131 Email: lhotka@nic.cz 1133 Petr Spacek 1134 CZ.NIC 1135 Email: petr.spacek@nic.cz