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