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