| < draft-ietf-netmod-rfc6021-bis-00.txt | draft-ietf-netmod-rfc6021-bis-01.txt > | |||
|---|---|---|---|---|
| Network Working Group J. Schoenwaelder, Ed. | Network Working Group J. Schoenwaelder, Ed. | |||
| Internet-Draft Jacobs University | Internet-Draft Jacobs University | |||
| Obsoletes: 6021 (if approved) February 6, 2013 | Obsoletes: 6021 (if approved) March 25, 2013 | |||
| Intended status: Standards Track | Intended status: Standards Track | |||
| Expires: August 10, 2013 | Expires: September 26, 2013 | |||
| Common YANG Data Types | Common YANG Data Types | |||
| draft-ietf-netmod-rfc6021-bis-00 | draft-ietf-netmod-rfc6021-bis-01 | |||
| Abstract | Abstract | |||
| This document introduces a collection of common data types to be used | This document introduces a collection of common data types to be used | |||
| with the YANG data modeling language. This document obsoletes RFC | with the YANG data modeling language. This document obsoletes RFC | |||
| 6021. | 6021. | |||
| Status of this Memo | Status of this Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| skipping to change at page 1, line 33 ¶ | skipping to change at page 1, line 33 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on August 10, 2013. | This Internet-Draft will expire on September 26, 2013. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2013 IETF Trust and the persons identified as the | Copyright (c) 2013 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 23 ¶ | skipping to change at page 2, line 23 ¶ | |||
| not be created outside the IETF Standards Process, except to format | not be created outside the IETF Standards Process, except to format | |||
| it for publication as an RFC or to translate it into languages other | it for publication as an RFC or to translate it into languages other | |||
| than English. | than English. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. Core YANG Derived Types . . . . . . . . . . . . . . . . . . . 6 | 3. Core YANG Derived Types . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. Internet-Specific Derived Types . . . . . . . . . . . . . . . 17 | 4. Internet-Specific Derived Types . . . . . . . . . . . . . . . 17 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 28 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 29 | |||
| 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 29 | 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 30 | 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 31 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 31 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . . 31 | 9.1. Normative References . . . . . . . . . . . . . . . . . . . 32 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . . 31 | 9.2. Informative References . . . . . . . . . . . . . . . . . . 32 | |||
| Appendix A. Changes from RFC 6021 . . . . . . . . . . . . . . . . 35 | Appendix A. Changes from RFC 6021 . . . . . . . . . . . . . . . . 36 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 36 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 1. Introduction | 1. Introduction | |||
| YANG [RFC6020] is a data modeling language used to model | YANG [RFC6020] is a data modeling language used to model | |||
| configuration and state data manipulated by the Network Configuration | configuration and state data manipulated by the Network Configuration | |||
| Protocol (NETCONF) [RFC6241]. The YANG language supports a small set | Protocol (NETCONF) [RFC6241]. The YANG language supports a small set | |||
| of built-in data types and provides mechanisms to derive other types | of built-in data types and provides mechanisms to derive other types | |||
| from the built-in types. | from the built-in types. | |||
| This document introduces a collection of common data types derived | This document introduces a collection of common data types derived | |||
| skipping to change at page 6, line 11 ¶ | skipping to change at page 6, line 11 ¶ | |||
| +----------------------+--------------------------------------------+ | +----------------------+--------------------------------------------+ | |||
| Table 2: ietf-inet-types | Table 2: ietf-inet-types | |||
| 3. Core YANG Derived Types | 3. Core YANG Derived Types | |||
| The ietf-yang-types YANG module references [IEEE802], [ISO9834-1], | The ietf-yang-types YANG module references [IEEE802], [ISO9834-1], | |||
| [RFC2578], [RFC2579], [RFC2856], [RFC3339], [RFC4122], [RFC4502], | [RFC2578], [RFC2579], [RFC2856], [RFC3339], [RFC4122], [RFC4502], | |||
| [RFC6020], [XPATH], and [XSD-TYPES]. | [RFC6020], [XPATH], and [XSD-TYPES]. | |||
| <CODE BEGINS> file "ietf-yang-types@2013-01-20.yang" | <CODE BEGINS> file "ietf-yang-types@2013-03-25.yang" | |||
| module ietf-yang-types { | module ietf-yang-types { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types"; | namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types"; | |||
| prefix "yang"; | prefix "yang"; | |||
| organization | organization | |||
| "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; | "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; | |||
| contact | contact | |||
| skipping to change at page 6, line 51 ¶ | skipping to change at page 6, line 51 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| revision 2013-01-20 { | revision 2013-03-25 { | |||
| description | description | |||
| "This revision adds the following new data types: | "This revision adds the following new data types: | |||
| - yang-identifier | - yang-identifier | |||
| - hex-string | - hex-string | |||
| - uuid | - uuid | |||
| - dotted-quad"; | - dotted-quad"; | |||
| reference | reference | |||
| "RFC XXXX: Common YANG Data Types"; | "RFC XXXX: Common YANG Data Types"; | |||
| } | } | |||
| skipping to change at page 17, line 13 ¶ | skipping to change at page 17, line 13 ¶ | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 4. Internet-Specific Derived Types | 4. Internet-Specific Derived Types | |||
| The ietf-inet-types YANG module references [RFC0768], [RFC0791], | The ietf-inet-types YANG module references [RFC0768], [RFC0791], | |||
| [RFC0793], [RFC0952], [RFC1034], [RFC1123], [RFC1930], [RFC2460], | [RFC0793], [RFC0952], [RFC1034], [RFC1123], [RFC1930], [RFC2460], | |||
| [RFC2474], [RFC2780], [RFC2782], [RFC3289], [RFC3305], [RFC3492], | [RFC2474], [RFC2780], [RFC2782], [RFC3289], [RFC3305], [RFC3492], | |||
| [RFC3595], [RFC3986], [RFC4001], [RFC4007], [RFC4271], [RFC4291], | [RFC3595], [RFC3986], [RFC4001], [RFC4007], [RFC4271], [RFC4291], | |||
| [RFC4340], [RFC4960], [RFC5017], [RFC5891], [RFC5952], and [RFC6793]. | [RFC4340], [RFC4960], [RFC5017], [RFC5891], [RFC5952], and [RFC6793]. | |||
| <CODE BEGINS> file "ietf-inet-types@2013-01-20.yang" | <CODE BEGINS> file "ietf-inet-types@2013-03-25.yang" | |||
| module ietf-inet-types { | module ietf-inet-types { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types"; | namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types"; | |||
| prefix "inet"; | prefix "inet"; | |||
| organization | organization | |||
| "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; | "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; | |||
| contact | contact | |||
| skipping to change at page 18, line 5 ¶ | skipping to change at page 18, line 5 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| revision 2013-01-20 { | revision 2013-03-25 { | |||
| description | description | |||
| "This revision adds the following new data types: | "This revision adds the following new data types: | |||
| - ip-address-no-zone | - ip-address-no-zone | |||
| - ipv4-address-no-zone | - ipv4-address-no-zone | |||
| - ipv6-address-no-zone"; | - ipv6-address-no-zone"; | |||
| reference | reference | |||
| "RFC XXXX: Common YANG Data Types"; | "RFC XXXX: Common YANG Data Types"; | |||
| } | } | |||
| revision 2010-09-24 { | revision 2010-09-24 { | |||
| skipping to change at page 21, line 6 ¶ | skipping to change at page 21, line 6 ¶ | |||
| /*** collection of IP address and hostname related types ***/ | /*** collection of IP address and hostname related types ***/ | |||
| typedef ip-address { | typedef ip-address { | |||
| type union { | type union { | |||
| type inet:ipv4-address; | type inet:ipv4-address; | |||
| type inet:ipv6-address; | type inet:ipv6-address; | |||
| } | } | |||
| description | description | |||
| "The ip-address type represents an IP address and is IP | "The ip-address type represents an IP address and is IP | |||
| version neutral. The format of the textual representations | version neutral. The format of the textual representation | |||
| implies the IP version."; | implies the IP version. This type supports scoped addresses | |||
| by allowing zone identifiers in the address format."; | ||||
| reference | ||||
| "RFC 4007: IPv6 Scoped Address Architecture"; | ||||
| } | } | |||
| typedef ipv4-address { | typedef ipv4-address { | |||
| type string { | type string { | |||
| pattern | pattern | |||
| '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}' | '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}' | |||
| + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])' | + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])' | |||
| + '(%[\p{N}\p{L}]+)?'; | + '(%[\p{N}\p{L}]+)?'; | |||
| } | } | |||
| description | description | |||
| skipping to change at page 22, line 30 ¶ | skipping to change at page 22, line 33 ¶ | |||
| RFC 5952: A Recommendation for IPv6 Address Text | RFC 5952: A Recommendation for IPv6 Address Text | |||
| Representation"; | Representation"; | |||
| } | } | |||
| typedef ip-address-no-zone { | typedef ip-address-no-zone { | |||
| type union { | type union { | |||
| type inet:ipv4-address-no-zone; | type inet:ipv4-address-no-zone; | |||
| type inet:ipv6-address-no-zone; | type inet:ipv6-address-no-zone; | |||
| } | } | |||
| description | description | |||
| "The ip-address-no-zone type represents an IP address without | "The ip-address-no-zone type represents an IP address and is | |||
| zone information in an IP version neutral way. The format | IP version neutral. The format of the textual representation | |||
| of the textual representations implies the IP version."; | implies the IP version. This type does not support scoped | |||
| addresses since it does not allow zone identifiers in the | ||||
| address format."; | ||||
| reference | ||||
| "RFC 4007: IPv6 Scoped Address Architecture"; | ||||
| } | } | |||
| typedef ipv4-address-no-zone { | typedef ipv4-address-no-zone { | |||
| type inet:ipv4-address { | type inet:ipv4-address { | |||
| pattern "[\.0-9]*"; | pattern '[\.0-9]*'; | |||
| } | } | |||
| description | description | |||
| "An IPv4 address without a zone index. This type may be used | "An IPv4 address without a zone index. This type may be used | |||
| in situations where the zone is known from the context and | in situations where the zone is known from the context and | |||
| hence no zone index is needed."; | hence no zone index is needed."; | |||
| } | } | |||
| typedef ipv6-address-no-zone { | typedef ipv6-address-no-zone { | |||
| type inet:ipv6-address { | type inet:ipv6-address { | |||
| pattern '[0-9a-fA-F:]*'; | pattern '[0-9a-fA-F:]*'; | |||
| } | } | |||
| description | description | |||
| "An IPv6 address without a zone index. This type may be used | "An IPv6 address without a zone index. This type may be used | |||
| in situations where the zone is known from the context and | in situations where the zone is known from the context and | |||
| hence no zone index is needed."; | hence no zone index is needed."; | |||
| reference | ||||
| "RFC 4291: IP Version 6 Addressing Architecture | ||||
| RFC 4007: IPv6 Scoped Address Architecture | ||||
| RFC 5952: A Recommendation for IPv6 Address Text | ||||
| Representation"; | ||||
| } | } | |||
| typedef ip-prefix { | typedef ip-prefix { | |||
| type union { | type union { | |||
| type inet:ipv4-prefix; | type inet:ipv4-prefix; | |||
| type inet:ipv6-prefix; | type inet:ipv6-prefix; | |||
| } | } | |||
| description | description | |||
| "The ip-prefix type represents an IP prefix and is IP | "The ip-prefix type represents an IP prefix and is IP | |||
| version neutral. The format of the textual representations | version neutral. The format of the textual representations | |||
| skipping to change at page 35, line 7 ¶ | skipping to change at page 36, line 7 ¶ | |||
| December 2012. | December 2012. | |||
| [XSD-TYPES] | [XSD-TYPES] | |||
| Malhotra, A. and P. Biron, "XML Schema Part 2: Datatypes | Malhotra, A. and P. Biron, "XML Schema Part 2: Datatypes | |||
| Second Edition", World Wide Web Consortium | Second Edition", World Wide Web Consortium | |||
| Recommendation REC-xmlschema-2-20041028, October 2004, | Recommendation REC-xmlschema-2-20041028, October 2004, | |||
| <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>. | <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>. | |||
| Appendix A. Changes from RFC 6021 | Appendix A. Changes from RFC 6021 | |||
| This version adds new type definitions to the YANG modules. For the | This version adds new type definitions to the YANG modules. The | |||
| further details, see the revision statement of the YANG modules. | following new data types have been added to the ietf-yang-types | |||
| module: | ||||
| o yang-identifier | ||||
| o hex-string | ||||
| o uuid | ||||
| o dotted-quad | ||||
| The following new data types have been added to the ietf-inet-types | ||||
| module: | ||||
| o ip-address-no-zone | ||||
| o ipv4-address-no-zone | ||||
| o ipv6-address-no-zone | ||||
| Author's Address | Author's Address | |||
| Juergen Schoenwaelder (editor) | Juergen Schoenwaelder (editor) | |||
| Jacobs University | Jacobs University | |||
| Email: j.schoenwaelder@jacobs-university.de | Email: j.schoenwaelder@jacobs-university.de | |||
| End of changes. 15 change blocks. | ||||
| 26 lines changed or deleted | 55 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||