| rfc9911.original.xml | rfc9911.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="utf-8"?> | |||
| <?xml-stylesheet type="text/xsl" href="rfc2629.xslt"?> | ||||
| <?rfc toc="yes"?> | <!DOCTYPE rfc [ | |||
| <?rfc compact="no"?> | <!ENTITY nbsp " "> | |||
| <?rfc subcompact="no"?> | <!ENTITY zwsp "​"> | |||
| <?rfc symrefs="yes" ?> | <!ENTITY nbhy "‑"> | |||
| <?rfc sortrefs="yes"?> | <!ENTITY wj "⁠"> | |||
| <?rfc iprnotified="no"?> | ]> | |||
| <?rfc strict="yes"?> | ||||
| <rfc ipr="pre5378Trust200902" | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="pre5378Trust200902" categor | |||
| category="std" | y="std" docName="draft-ietf-netmod-rfc6991-bis-18" number="9911" updates="" obso | |||
| docName="draft-ietf-netmod-rfc6991-bis-18" obsoletes="6991" | letes="6991" submissionType="IETF" sortRefs="false" symRefs="true" consensus="tr | |||
| submissionType="IETF" | ue" tocInclude="true" xml:lang="en" version="3"> | |||
| consensus="true" tocInclude="true" version="3"> | ||||
| <!-- [rfced] Regarding how you would like your name to appear: | ||||
| It appears as "Jürgen Schönwälder" in the Authors' Addresses section | ||||
| but as "Juergen Schoenwaelder" in the YANG modules. It looks like | ||||
| "Juergen Schoenwaelder" was used in other RFCs that you have authored, | ||||
| but those were prior to the current format. At this point, non-ASCII characters | ||||
| can be used. | ||||
| Which form do you prefer for this document and going forward? | ||||
| --> | ||||
| <front> | <front> | |||
| <title abbrev="Common YANG Data Types">Common YANG Data Types</title> | <title abbrev="Common YANG Data Types">Common YANG Data Types</title> | |||
| <author role="editor" initials='J.' surname='Schönwälder' fullname='Jürgen Schön | <seriesInfo name="RFC" value="9911"/> | |||
| wälder'><organization>Constructor University</organization><address><email>jscho | <author role="editor" initials="J." surname="Schönwälder" fullname="Jürgen S | |||
| enwaelder@constructor.university</email></address></author> <date/><abstract><t | chönwälder"> | |||
| >This document defines a collection of common data types to be used | <organization>Constructor University</organization> | |||
| <address> | ||||
| <email>jschoenwaelder@constructor.university</email> | ||||
| </address> | ||||
| </author> | ||||
| <date month="December" year="2025"/> | ||||
| <area>OPS</area> | ||||
| <workgroup>netmod</workgroup> | ||||
| <!-- [rfced] Please insert any keywords (beyond those that appear in | ||||
| the title) for use on https://www.rfc-editor.org/search. --> | ||||
| <keyword>example</keyword> | ||||
| <!--[rfced] Abstract: May we update "version of the document" to simply | ||||
| "This document"? Also, perhaps "includes" is better than "adds". | ||||
| Original: | ||||
| This version of the document | ||||
| adds several new type definitions and obsoletes RFC 6991. | ||||
| Perhaps: | ||||
| This document | ||||
| includes several new type definitions and obsoletes RFC 6991. | ||||
| --> | ||||
| <abstract> | ||||
| <t>This document defines a collection of common data types to be used | ||||
| with the YANG data modeling language. This version of the document | with the YANG data modeling language. This version of the document | |||
| adds several new type definitions and obsoletes RFC 6991.</t></abstract> </fron | adds several new type definitions and obsoletes RFC 6991.</t> | |||
| t> <middle> | </abstract> | |||
| </front> | ||||
| <middle> | ||||
| <section title="Introduction"> | <section> | |||
| <name>Introduction</name> | ||||
| <t>YANG <xref target="RFC7950"/> is a data modeling language used to model confi guration | <t>YANG <xref target="RFC7950"/> is a data modeling language used to model confi guration | |||
| and state data manipulated by the Network Configuration Protocol | and state data manipulated by the Network Configuration Protocol | |||
| (NETCONF) <xref target="RFC6241"/>. The YANG language supports a small set of | (NETCONF) <xref target="RFC6241"/>. The YANG language supports a small set of | |||
| built-in data types and provides mechanisms to derive other types from | built-in data types and provides mechanisms to derive other types from | |||
| the built-in types.</t> | the built-in types.</t> | |||
| <t>This document defines a collection of common data types. The | <t>This document defines a collection of common data types. The | |||
| definitions are organized into two YANG modules:</t> | definitions are organized into two YANG modules:</t> | |||
| <!-- [rfced] We updated the "types for counters, gauges, date and time related | ||||
| types" as follows to improve readability of the sentence. We also updated | ||||
| "uuids, dotted-quads, or language tags" to "UUIDs, dotted-quad notation, | ||||
| and language tags". Please review and let us know any concerns. | ||||
| Original: | ||||
| * The "ietf-yang-types" module defines generally useful data types | ||||
| such as types for counters, gauges, date and time related types, | ||||
| or types for common string values such as uuids, dotted-quads, or | ||||
| language tags. | ||||
| Current: | ||||
| * The "ietf-yang-types" module defines generally useful data types | ||||
| such as types for counters and gauges, types related to date and | ||||
| time, and types for common string values (e.g., UUIDs, dotted-quad | ||||
| notation, and language tags). | ||||
| --> | ||||
| <!-- [rfced] We updated "IP address related types, domain-name and host-name | ||||
| types, uri and email types" as follows for clarity. Please review. | ||||
| Original: | ||||
| * The "ietf-inet-types" module defines data types relevant for the | ||||
| Internet protocol suite such as IP address related types, domain- | ||||
| name and host-name types, uri and email types, as well as types | ||||
| for values in common protocol fields such as port numbers. | ||||
| Updated: | ||||
| * The "ietf-inet-types" module defines data types relevant for the | ||||
| Internet protocol suite such as types related to IP address, types | ||||
| for domain name, host name, URI, and email, and types for values | ||||
| in common protocol fields (e.g., port numbers). | ||||
| --> | ||||
| <ul> | <ul> | |||
| <li><t>The "ietf-yang-types" module defines generally useful data types | <li><t>The "ietf-yang-types" module defines generally useful data types | |||
| such as types for counters, gauges, date and time related types, or | such as types for counters and gauges, types related to date and time, and | |||
| types for common string values such as uuids, dotted-quads, or | types for common string values (e.g., UUIDs, dotted-quad notation, and | |||
| language tags.</t></li> | language tags).</t></li> | |||
| <li><t>The "ietf-inet-types" module defines data types relevant for the | <li><t>The "ietf-inet-types" module defines data types relevant for the | |||
| Internet protocol suite such as IP address related types, | Internet protocol suite such as types related to IP address, | |||
| domain-name and host-name types, uri and email types, as well as | types for domain name, host name, URI, and email, and | |||
| types for values in common protocol fields such as port numbers.</t></li> | types for values in common protocol fields (e.g., port numbers).</t></li> | |||
| </ul> | </ul> | |||
| <t>The initial version of these YANG modules were published as <xref target="RFC | <t>The initial version of these YANG modules was published as <xref target="RFC6 | |||
| 6021"/>. | 021"/>. | |||
| The first revision of <xref target="RFC6021"/>, published as <xref target="RFC69 | The first revision of <xref target="RFC6021"/>, published as <xref target="RFC69 | |||
| 91"/>, added several new | 91"/>, added several | |||
| type definitions to the YANG modules. This second revision adds | type definitions to the YANG modules. This second revision adds | |||
| further new type definitions and addresses errata 4076 <xref target="ERR4076"/> | further new type definitions and addresses Erratum IDs 4076 <xref target="E | |||
| and | rr4076"/> and | |||
| 5105 <xref target="ERR5105"/> of <xref target="RFC6991"/>. Furthermore, the yang | 5105 <xref target="Err5105"/>. Furthermore, the yang-identifier definition | |||
| -identifier definition | has been aligned with YANG 1.1 <xref target="RFC7950"/>, and some pattern statem | |||
| has been aligned with YANG 1.1 <xref target="RFC7950"/> and some pattern stateme | ents | |||
| nts | ||||
| have been improved. For further details, see the revision statements | have been improved. For further details, see the revision statements | |||
| of the YANG modules in <xref target="sec-core-yang-types"></xref> and <xref targ | of the YANG modules in Sections <xref target="sec-core-yang-types" format="count | |||
| et="sec-internet-protocol-suite-types"></xref>. A brief overview of all types an | er"/> and <xref target="sec-internet-protocol-suite-types" format="counter"/>. A | |||
| d when they were introduced | brief overview of all types and when they were introduced | |||
| can be found in <xref target="sec-overview"></xref>. Additional type definitions | can be found in <xref target="sec-overview"/>. Additional type definitions may b | |||
| may be added in | e added in | |||
| the future by submitting proposals to the NETMOD working group.</t> | the future by submitting proposals to the NETMOD Working Group.</t> | |||
| <t>This document uses the YANG terminology defined in Section 3 of | <t>This document uses the YANG terminology defined in | |||
| <xref target="RFC7950"/>.</t> | <xref target="RFC7950" section="3"/>.</t> | |||
| <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | <t> | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
| 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they a | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | |||
| ppear in all | RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
| capitals, as shown here.</t> | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
| be interpreted as | ||||
| described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
| when, and only when, they appear in all capitals, as shown here. | ||||
| </t> | ||||
| </section> | </section> | |||
| <section title="Overview" anchor="sec-overview"> | <section anchor="sec-overview"> | |||
| <t>Table 1 and Table 2 list the types defined in the YANG modules | <name>Overview</name> | |||
| <t>Tables <xref target="T1" format="counter"/> and <xref target="T2" format="cou | ||||
| nter"/> list the types defined in the YANG modules | ||||
| "ietf-yang-types" and "ietf-inet-types". For each type, the name of | "ietf-yang-types" and "ietf-inet-types". For each type, the name of | |||
| the type, the base type it was derived from, and the RFC introducing | the type, the base type it was derived from, and the RFC introducing | |||
| the type is listed.</t> | the type is listed.</t> | |||
| <table> | <!--[rfced] In Tables 1 and 2, for clarity may we change the column title | |||
| <name>Types defined in ietf-yang-types</name> | from "Introduced" to "Introduced in", where it lists the RFC that | |||
| introduced the type? | ||||
| --> | ||||
| <table anchor="T1"> | ||||
| <name>Types Defined in the "ietf-yang-types" Module</name> | ||||
| <thead><tr><th>Type</th><th>Base Type</th><th>Introduced</th></tr> | <thead><tr><th>Type</th><th>Base Type</th><th>Introduced</th></tr> | |||
| </thead> | </thead> | |||
| <tbody><tr><td>counter32</td><td>uint32</td><td>RFC 6021</td></tr> | <tbody><tr><td>counter32</td><td>uint32</td><td>RFC 6021</td></tr> | |||
| <tr><td>zero-based-counter32</td><td>uint32</td><td>RFC 6021</td></tr> | <tr><td>zero-based-counter32</td><td>uint32</td><td>RFC 6021</td></tr> | |||
| <tr><td>counter64</td><td>uint64</td><td>RFC 6021</td></tr> | <tr><td>counter64</td><td>uint64</td><td>RFC 6021</td></tr> | |||
| <tr><td>zero-based-counter64</td><td>uint64</td><td>RFC 6021</td></tr> | <tr><td>zero-based-counter64</td><td>uint64</td><td>RFC 6021</td></tr> | |||
| <tr><td>gauge32</td><td>uint32</td><td>RFC 6021</td></tr> | <tr><td>gauge32</td><td>uint32</td><td>RFC 6021</td></tr> | |||
| <tr><td>gauge64</td><td>uint64</td><td>RFC 6021</td></tr> | <tr><td>gauge64</td><td>uint64</td><td>RFC 6021</td></tr> | |||
| </tbody> | </tbody> | |||
| <tbody><tr><td>object-identifier</td><td>string</td><td>RFC 6021</td></tr> | <tbody><tr><td>object-identifier</td><td>string</td><td>RFC 6021</td></tr> | |||
| <tr><td>object-identifier-128</td><td>object-identifier</td><td>RFC 6021</td></t r> | <tr><td>object-identifier-128</td><td>object-identifier</td><td>RFC 6021</td></t r> | |||
| </tbody> | </tbody> | |||
| <tbody><tr><td>date-and-time</td><td>string</td><td>RFC 6021</td></tr> | <tbody><tr><td>date-and-time</td><td>string</td><td>RFC 6021</td></tr> | |||
| <tr><td>date</td><td>string</td><td>RFC XXXX</td></tr> | <tr><td>date</td><td>string</td><td>RFC 9911</td></tr> | |||
| <tr><td>date-no-zone</td><td>string</td><td>RFC XXXX</td></tr> | <tr><td>date-no-zone</td><td>string</td><td>RFC 9911</td></tr> | |||
| <tr><td>time</td><td>string</td><td>RFC XXXX</td></tr> | <tr><td>time</td><td>string</td><td>RFC 9911</td></tr> | |||
| <tr><td>time-no-zone</td><td>string</td><td>RFC XXXX</td></tr> | <tr><td>time-no-zone</td><td>string</td><td>RFC 9911</td></tr> | |||
| </tbody> | </tbody> | |||
| <tbody><tr><td>hours32</td><td>int32</td><td>RFC XXXX</td></tr> | <tbody><tr><td>hours32</td><td>int32</td><td>RFC 9911</td></tr> | |||
| <tr><td>minutes32</td><td>int32</td><td>RFC XXXX</td></tr> | <tr><td>minutes32</td><td>int32</td><td>RFC 9911</td></tr> | |||
| <tr><td>seconds32</td><td>int32</td><td>RFC XXXX</td></tr> | <tr><td>seconds32</td><td>int32</td><td>RFC 9911</td></tr> | |||
| <tr><td>centiseconds32</td><td>int32</td><td>RFC XXXX</td></tr> | <tr><td>centiseconds32</td><td>int32</td><td>RFC 9911</td></tr> | |||
| <tr><td>milliseconds32</td><td>int32</td><td>RFC XXXX</td></tr> | <tr><td>milliseconds32</td><td>int32</td><td>RFC 9911</td></tr> | |||
| <tr><td>microseconds32</td><td>int32</td><td>RFC XXXX</td></tr> | <tr><td>microseconds32</td><td>int32</td><td>RFC 9911</td></tr> | |||
| <tr><td>microseconds64</td><td>int64</td><td>RFC XXXX</td></tr> | <tr><td>microseconds64</td><td>int64</td><td>RFC 9911</td></tr> | |||
| <tr><td>nanoseconds32</td><td>int32</td><td>RFC XXXX</td></tr> | <tr><td>nanoseconds32</td><td>int32</td><td>RFC 9911</td></tr> | |||
| <tr><td>nanoseconds64</td><td>int64</td><td>RFC XXXX</td></tr> | <tr><td>nanoseconds64</td><td>int64</td><td>RFC 9911</td></tr> | |||
| <tr><td>timeticks</td><td>int32</td><td>RFC 6021</td></tr> | <tr><td>timeticks</td><td>int32</td><td>RFC 6021</td></tr> | |||
| <tr><td>timestamp</td><td>timeticks</td><td>RFC 6021</td></tr> | <tr><td>timestamp</td><td>timeticks</td><td>RFC 6021</td></tr> | |||
| </tbody> | </tbody> | |||
| <tbody><tr><td>phys-address</td><td>string</td><td>RFC 6021</td></tr> | <tbody><tr><td>phys-address</td><td>string</td><td>RFC 6021</td></tr> | |||
| <tr><td>mac-address</td><td>string</td><td>RFC 6021</td></tr> | <tr><td>mac-address</td><td>string</td><td>RFC 6021</td></tr> | |||
| </tbody> | </tbody> | |||
| <tbody><tr><td>xpath1.0</td><td>string</td><td>RFC 6021</td></tr> | <tbody><tr><td>xpath1.0</td><td>string</td><td>RFC 6021</td></tr> | |||
| <tr><td>hex-string</td><td>string</td><td>RFC 6991</td></tr> | <tr><td>hex-string</td><td>string</td><td>RFC 6991</td></tr> | |||
| <tr><td>uuid</td><td>string</td><td>RFC 6991</td></tr> | <tr><td>uuid</td><td>string</td><td>RFC 6991</td></tr> | |||
| <tr><td>dotted-quad</td><td>string</td><td>RFC 6991</td></tr> | <tr><td>dotted-quad</td><td>string</td><td>RFC 6991</td></tr> | |||
| <tr><td>language-tag</td><td>string</td><td>RFC XXXX</td></tr> | <tr><td>language-tag</td><td>string</td><td>RFC 9911</td></tr> | |||
| <tr><td>yang-identifier</td><td>string</td><td>RFC 6991</td></tr> | <tr><td>yang-identifier</td><td>string</td><td>RFC 6991</td></tr> | |||
| </tbody> | </tbody> | |||
| </table> | </table> | |||
| <table> | <table anchor="T2"> | |||
| <name>Types defined in ietf-inet-types</name> | <name>Types Defined in the "ietf-inet-types" Module</name> | |||
| <thead><tr><th>Type</th><th>Base Type</th><th>Introduced</th></tr> | <thead><tr><th>Type</th><th>Base Type</th><th>Introduced</th></tr> | |||
| </thead> | </thead> | |||
| <tbody><tr><td>ip-version</td><td>enum</td><td>RFC 6021</td></tr> | <tbody><tr><td>ip-version</td><td>enum</td><td>RFC 6021</td></tr> | |||
| <tr><td>dscp</td><td>uint8</td><td>RFC 6021</td></tr> | <tr><td>dscp</td><td>uint8</td><td>RFC 6021</td></tr> | |||
| <tr><td>ipv6-flow-label</td><td>uint32</td><td>RFC 6021</td></tr> | <tr><td>ipv6-flow-label</td><td>uint32</td><td>RFC 6021</td></tr> | |||
| <tr><td>port-number</td><td>uint16</td><td>RFC 6021</td></tr> | <tr><td>port-number</td><td>uint16</td><td>RFC 6021</td></tr> | |||
| <tr><td>protocol-number</td><td>uint8</td><td>RFC XXXX</td></tr> | <tr><td>protocol-number</td><td>uint8</td><td>RFC 9911</td></tr> | |||
| <tr><td>upper-layer-protocol-number</td><td>protocol-number</td><td>RFC XXXX</td | <tr><td>upper-layer-protocol-number</td><td>protocol-number</td><td>RFC 9911</td | |||
| ></tr> | ></tr> | |||
| <tr><td>as-number</td><td>uint32</td><td>RFC 6021</td></tr> | <tr><td>as-number</td><td>uint32</td><td>RFC 6021</td></tr> | |||
| </tbody> | </tbody> | |||
| <tbody><tr><td>ip-address</td><td>union</td><td>RFC 6021</td></tr> | <tbody><tr><td>ip-address</td><td>union</td><td>RFC 6021</td></tr> | |||
| <tr><td>ipv4-address</td><td>string</td><td>RFC 6021</td></tr> | <tr><td>ipv4-address</td><td>string</td><td>RFC 6021</td></tr> | |||
| <tr><td>ipv6-address</td><td>string</td><td>RFC 6021</td></tr> | <tr><td>ipv6-address</td><td>string</td><td>RFC 6021</td></tr> | |||
| <tr><td>ip-address-no-zone</td><td>union</td><td>RFC 6991</td></tr> | <tr><td>ip-address-no-zone</td><td>union</td><td>RFC 6991</td></tr> | |||
| <tr><td>ipv4-address-no-zone</td><td>ipv4-address</td><td>RFC 6991</td></tr> | <tr><td>ipv4-address-no-zone</td><td>ipv4-address</td><td>RFC 6991</td></tr> | |||
| <tr><td>ipv6-address-no-zone</td><td>ipv6-address</td><td>RFC 6991</td></tr> | <tr><td>ipv6-address-no-zone</td><td>ipv6-address</td><td>RFC 6991</td></tr> | |||
| <tr><td>ip-address-link-local</td><td>union</td><td>RFC XXXX</td></tr> | <tr><td>ip-address-link-local</td><td>union</td><td>RFC 9911</td></tr> | |||
| <tr><td>ipv4-address-link-local</td><td>ipv4-address</td><td>RFC XXXX</td></tr> | <tr><td>ipv4-address-link-local</td><td>ipv4-address</td><td>RFC 9911</td></tr> | |||
| <tr><td>ipv6-address-link-local</td><td>ipv6-address</td><td>RFC XXXX</td></tr> | <tr><td>ipv6-address-link-local</td><td>ipv6-address</td><td>RFC 9911</td></tr> | |||
| <tr><td>ip-prefix</td><td>union</td><td>RFC 6021</td></tr> | <tr><td>ip-prefix</td><td>union</td><td>RFC 6021</td></tr> | |||
| <tr><td>ipv4-prefix</td><td>string</td><td>RFC 6021</td></tr> | <tr><td>ipv4-prefix</td><td>string</td><td>RFC 6021</td></tr> | |||
| <tr><td>ipv6-prefix</td><td>string</td><td>RFC 6021</td></tr> | <tr><td>ipv6-prefix</td><td>string</td><td>RFC 6021</td></tr> | |||
| <tr><td>ip-address-and-prefix</td><td>union</td><td>RFC XXXX</td></tr> | <tr><td>ip-address-and-prefix</td><td>union</td><td>RFC 9911</td></tr> | |||
| <tr><td>ipv4-address-and-prefix</td><td>string</td><td>RFC XXXX</td></tr> | <tr><td>ipv4-address-and-prefix</td><td>string</td><td>RFC 9911</td></tr> | |||
| <tr><td>ipv6-address-and-prefix</td><td>string</td><td>RFC XXXX</td></tr> | <tr><td>ipv6-address-and-prefix</td><td>string</td><td>RFC 9911</td></tr> | |||
| </tbody> | </tbody> | |||
| <tbody><tr><td>domain-name</td><td>string</td><td>RFC 6021</td></tr> | <tbody><tr><td>domain-name</td><td>string</td><td>RFC 6021</td></tr> | |||
| <tr><td>host-name</td><td>domain-name</td><td>RFC XXXX</td></tr> | <tr><td>host-name</td><td>domain-name</td><td>RFC 9911</td></tr> | |||
| <tr><td>host</td><td>union</td><td>RFC 6021</td></tr> | <tr><td>host</td><td>union</td><td>RFC 6021</td></tr> | |||
| </tbody> | </tbody> | |||
| <tbody><tr><td>uri</td><td>string</td><td>RFC 6021</td></tr> | <tbody><tr><td>uri</td><td>string</td><td>RFC 6021</td></tr> | |||
| <tr><td>email-address</td><td>string</td><td>RFC XXXX</td></tr> | <tr><td>email-address</td><td>string</td><td>RFC 9911</td></tr> | |||
| </tbody> | </tbody> | |||
| </table> | </table> | |||
| <t>Some types have an equivalent Structure of Management Information | <t>Some types have an equivalent Structure of Management Information | |||
| Version 2 (SMIv2) <xref target="RFC2578"/> <xref target="RFC2579"/> data type. A YANG data type is | Version 2 (SMIv2) <xref target="RFC2578"/> <xref target="RFC2579"/> data type. A YANG data type is | |||
| equivalent to an SMIv2 data type if the data types have the same set | equivalent to an SMIv2 data type if the data types have the same set | |||
| of values and the semantics of the values are equivalent.</t> | of values and the semantics of the values are equivalent.</t> | |||
| <t>Table 3 lists the types defined in the "ietf-yang-types" YANG | <t><xref target="T3"/> lists the types defined in the "ietf-yang-types" YANG | |||
| module with their corresponding SMIv2 types and Table 4 lists | module with their corresponding SMIv2 types, and <xref target="T4"/> lists | |||
| the types defined in the "ietf-inet-types" module with their | the types defined in the "ietf-inet-types" module with their | |||
| corresponding SMIv2 types.</t> | corresponding SMIv2 types.</t> | |||
| <table> | <table anchor="T3"> | |||
| <name>Equivalent SMIv2 types for ietf-yang-types</name> | <name>Equivalent SMIv2 Types for the "ietf-yang-types" Module</name> | |||
| <thead><tr><th>YANG type</th><th>Equivalent SMIv2 type (module)</th></tr> | <thead><tr><th>YANG type</th><th>Equivalent SMIv2 type (module)</th></tr> | |||
| </thead> | </thead> | |||
| <tbody><tr><td>counter32</td><td>Counter32 (SNMPv2-SMI)</td></tr> | <tbody><tr><td>counter32</td><td>Counter32 (SNMPv2-SMI)</td></tr> | |||
| <tr><td>zero-based-counter32</td><td>ZeroBasedCounter32 (RMON2-MIB)</td></tr> | <tr><td>zero-based-counter32</td><td>ZeroBasedCounter32 (RMON2-MIB)</td></tr> | |||
| <tr><td>counter64</td><td>Counter64 (SNMPv2-SMI)</td></tr> | <tr><td>counter64</td><td>Counter64 (SNMPv2-SMI)</td></tr> | |||
| <tr><td>zero-based-counter64</td><td>ZeroBasedCounter64 (HCNUM-TC)</td></tr> | <tr><td>zero-based-counter64</td><td>ZeroBasedCounter64 (HCNUM-TC)</td></tr> | |||
| <tr><td>gauge32</td><td>Gauge32 (SNMPv2-SMI)</td></tr> | <tr><td>gauge32</td><td>Gauge32 (SNMPv2-SMI)</td></tr> | |||
| <tr><td>gauge64</td><td>CounterBasedGauge64 (HCNUM-TC)</td></tr> | <tr><td>gauge64</td><td>CounterBasedGauge64 (HCNUM-TC)</td></tr> | |||
| <tr><td>object-identifier-128</td><td>OBJECT IDENTIFIER</td></tr> | <tr><td>object-identifier-128</td><td>OBJECT IDENTIFIER</td></tr> | |||
| <tr><td>centiseconds32</td><td>TimeInterval (SNMPv2-TC)</td></tr> | <tr><td>centiseconds32</td><td>TimeInterval (SNMPv2-TC)</td></tr> | |||
| <tr><td>timeticks</td><td>TimeTicks (SNMPv2-SMI)</td></tr> | <tr><td>timeticks</td><td>TimeTicks (SNMPv2-SMI)</td></tr> | |||
| <tr><td>timestamp</td><td>TimeStamp (SNMPv2-TC)</td></tr> | <tr><td>timestamp</td><td>TimeStamp (SNMPv2-TC)</td></tr> | |||
| <tr><td>phys-address</td><td>PhysAddress (SNMPv2-TC)</td></tr> | <tr><td>phys-address</td><td>PhysAddress (SNMPv2-TC)</td></tr> | |||
| <tr><td>mac-address</td><td>MacAddress (SNMPv2-TC)</td></tr> | <tr><td>mac-address</td><td>MacAddress (SNMPv2-TC)</td></tr> | |||
| <tr><td>language-tag</td><td>LangTag (LANGTAG-TC-MIB)</td></tr> | <tr><td>language-tag</td><td>LangTag (LANGTAG-TC-MIB)</td></tr> | |||
| </tbody> | </tbody> | |||
| </table> | </table> | |||
| <table> | <table anchor="T4"> | |||
| <name>Equivalent SMIv2 types for ietf-inet-types</name> | <name>Equivalent SMIv2 Types for the "ietf-inet-types" Module</name> | |||
| <thead><tr><th>YANG type</th><th>Equivalent SMIv2 type (module)</th></tr> | <thead><tr><th>YANG type</th><th>Equivalent SMIv2 type (module)</th></tr> | |||
| </thead> | </thead> | |||
| <tbody><tr><td>ip-version</td><td>InetVersion (INET-ADDRESS-MIB)</td></tr> | <tbody><tr><td>ip-version</td><td>InetVersion (INET-ADDRESS-MIB)</td></tr> | |||
| <tr><td>dscp</td><td>Dscp (DIFFSERV-DSCP-TC)</td></tr> | <tr><td>dscp</td><td>Dscp (DIFFSERV-DSCP-TC)</td></tr> | |||
| <tr><td>ipv6-flow-label</td><td>IPv6FlowLabel (IPV6-FLOW-LABEL-MIB)</td></tr> | <tr><td>ipv6-flow-label</td><td>IPv6FlowLabel (IPV6-FLOW-LABEL-MIB)</td></tr> | |||
| <tr><td>port-number</td><td>InetPortNumber (INET-ADDRESS-MIB)</td></tr> | <tr><td>port-number</td><td>InetPortNumber (INET-ADDRESS-MIB)</td></tr> | |||
| <tr><td>as-number</td><td>InetAutonomousSystemNumber (INET-ADDRESS-MIB)</td></tr > | <tr><td>as-number</td><td>InetAutonomousSystemNumber (INET-ADDRESS-MIB)</td></tr > | |||
| <tr><td>uri</td><td>Uri (URI-TC-MIB)</td></tr> | <tr><td>uri</td><td>Uri (URI-TC-MIB)</td></tr> | |||
| </tbody> | </tbody> | |||
| </table> | </table> | |||
| </section> | </section> | |||
| <section title="Core YANG Types" anchor="sec-core-yang-types"> | <section anchor="sec-core-yang-types"> | |||
| <t>The ietf-yang-types YANG module references | <name>Core YANG Types</name> | |||
| <!-- [rfced] We have a couple of questions about this sentence. | ||||
| Original: | ||||
| The ietf-yang-types YANG module references [IEEE-802-2001], | ||||
| [ISO-9834-1], [RFC2578], [RFC2579], [RFC2856], [RFC3339], [RFC4122], | ||||
| [RFC4502], [RFC5131], [RFC5646], [RFC7950], [RFC8294], [RFC9557], | ||||
| [W3C.xpath], and [W3C.xmlschema11-2]. | ||||
| a) We do not see a reference to [RFC8294] in the YANG module. Should [RFC8294] | ||||
| be removed from this sentence (and from the references section), or should it | ||||
| be cited in the YANG module? | ||||
| b) The sentence above uses [W3C.xpath] and [W3C.xmlschema11-2], but the YANG | ||||
| module uses "XPATH" and "XSD-TYPES" (see below). For the ease of the reader, | ||||
| we updated the citation tags to [XPATH] and [XSD-TYPES] to match the YANG | ||||
| module. If you prefer to align these in a different way, please let us know. | ||||
| Original: | ||||
| "XPATH: XML Path Language (XPath) Version 1.0"; | ||||
| ... | ||||
| XSD-TYPES: XML Schema Definition Language (XSD) 1.1 | ||||
| Part 2: Datatypes"; | ||||
| --> | ||||
| <t>The "ietf-yang-types" YANG module references | ||||
| <xref target="IEEE-802-2001"/>, | <xref target="IEEE-802-2001"/>, | |||
| <xref target="ISO-9834-1"/>, | <xref target="ISO-9834-1"/>, | |||
| <xref target="RFC2578"/>, | <xref target="RFC2578"/>, | |||
| <xref target="RFC2579"/>, | <xref target="RFC2579"/>, | |||
| <xref target="RFC2856"/>, | <xref target="RFC2856"/>, | |||
| <xref target="RFC3339"/>, | <xref target="RFC3339"/>, | |||
| <xref target="RFC4122"/>, | <xref target="RFC4122"/>, | |||
| <xref target="RFC4502"/>, | <xref target="RFC4502"/>, | |||
| <xref target="RFC5131"/>, | <xref target="RFC5131"/>, | |||
| <xref target="RFC5646"/>, | <xref target="RFC5646"/>, | |||
| <xref target="RFC7950"/>, | <xref target="RFC7950"/>, | |||
| <xref target="RFC8294"/>, | <xref target="RFC8294"/>, | |||
| <xref target="RFC9557"/>, | <xref target="RFC9557"/>, | |||
| <xref target="W3C.xpath"/>, and | <xref target="XPATH"/>, and | |||
| <xref target="W3C.xmlschema11-2"/>.</t> | <xref target="XSD-TYPES"/>.</t> | |||
| <sourcecode><![CDATA[ | <!-- [rfced] The text below appears in RFC 6991, but perhaps it can be revised | |||
| <CODE BEGINS> file "ietf-yang-types@2025-06-23.yang" | to be more clear and readable. Please review the following suggestions | |||
| module ietf-yang-types { | and let us know your thoughts. | |||
| a) Suggestion: Revise the introductory clause (i.e., "If..., then"). | ||||
| Note: This text appears twice in this document. | ||||
| Original: | ||||
| If such | ||||
| other times can occur, for example, the instantiation of | ||||
| a schema node of type counter64 at times other than | ||||
| re-initialization, then a corresponding schema node | ||||
| should be defined, with an appropriate type, to indicate | ||||
| the last discontinuity. | ||||
| Perhaps: | ||||
| If discontinuities occur at times other than | ||||
| re-initialization (for example, at the instantiation of | ||||
| a schema node of type counter64), then a corresponding schema node | ||||
| should be defined, with an appropriate type, to indicate | ||||
| the last discontinuity. | ||||
| b) Suggestion: Split into two sentences rather than use multiple parentheses. | ||||
| Original: | ||||
| If the information being modeled subsequently decreases | ||||
| below (increases above) the maximum (minimum) value, the | ||||
| gauge32 also decreases (increases). | ||||
| Perhaps: | ||||
| If the information being modeled subsequently decreases | ||||
| below the maximum value, the | ||||
| gauge32 also decreases; likewise, if the information increases | ||||
| above the minimum value, the gauge32 also increases. | ||||
| c) Suggestion: Update "in case a server follows automatically" as shown below. | ||||
| Original: | ||||
| Such changes might happen periodically | ||||
| in case a server follows automatically daylight saving time | ||||
| (DST) time zone offset changes. | ||||
| Perhaps: | ||||
| Such changes might happen periodically | ||||
| if a server automatically follows daylight saving time | ||||
| (DST) time zone offset changes. | ||||
| --> | ||||
| <!-- [rfced] "ISO 8601" is mentioned in this description clause, but we do not | ||||
| see it in the corresponding reference clause (which only contains RFC | ||||
| 3339, RFC 9557, RFC 2579, and XSD-TYPES). If a reference for ISO 8601 is | ||||
| needed, please provide it. | ||||
| Original: | ||||
| "The date-and-time type is a profile of the ISO 8601 | ||||
| standard for representation of dates and times using the | ||||
| Gregorian calendar. | ||||
| --> | ||||
| <!-- [rfced] We updated "as a sequence octets" to "as a sequence of octets" | ||||
| (i.e., added "of"). Please let us know if this is incorrect. | ||||
| Original: | ||||
| description | ||||
| "Represents media- or physical-level addresses represented | ||||
| as a sequence octets, each octet represented by two hexadecimal | ||||
| numbers. | ||||
| Perhaps: | ||||
| description | ||||
| "Represents media- or physical-level addresses represented | ||||
| as a sequence of octets, each octet represented by two hexadecimal | ||||
| numbers. | ||||
| --> | ||||
| <!--[rfced] In yang-identifier, would you like to clarify "an earlier | ||||
| version of this definition"? If this is referring to the definition | ||||
| in RFC 6991, then may that be stated? | ||||
| Current: | ||||
| An earlier version of this definition excluded | ||||
| all identifiers starting with any possible combination | ||||
| of the lowercase or uppercase character sequence 'xml', | ||||
| as required by YANG 1 defined in RFC 6020. | ||||
| Perhaps: | ||||
| In RFC 6991, this definition excluded | ||||
| all identifiers starting with any possible combination | ||||
| of the lowercase or uppercase character sequence 'xml', | ||||
| as required by YANG 1 defined in RFC 6020. | ||||
| --> | ||||
| <!--[rfced] FYI, the YANG modules have been updated per the | ||||
| formatting option of pyang. Please let us know any concerns. | ||||
| --> | ||||
| <!--[rfced] The following lines are too long for the line limit of | ||||
| the text output (72 characters in the text, which means 69 characters | ||||
| within the sourcecode element in the XML file). Please let us know | ||||
| how these lines should be updated. | ||||
| a) typedef date-and-time (2 characters longer) | ||||
| + 'T(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?' | ||||
| b) typedef time (1 character longer) | ||||
| '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?' | ||||
| c) typedef time-no-zone (2 characters longer) | ||||
| '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?' | ||||
| Perhaps: | ||||
| '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' | ||||
| + '(\.[0-9]+)?'; | ||||
| d) typedef domain-name (1 character longer) | ||||
| pattern '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*' | ||||
| --> | ||||
| <sourcecode name="ietf-yang-types@2025-12-01.yang" type="yang" markers="true"><! | ||||
| [CDATA[ | ||||
| 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 Network Modeling (NETMOD) Working Group"; | "IETF Network Modeling (NETMOD) Working Group"; | |||
| contact | contact | |||
| "WG Web: <https://datatracker.ietf.org/wg/netmod/> | "WG Web: <https://datatracker.ietf.org/wg/netmod/> | |||
| WG List: <mailto:netmod@ietf.org> | WG List: <mailto:netmod@ietf.org> | |||
| Editor: Juergen Schoenwaelder | ||||
| <mailto:jschoenwaelder@constructor.university>"; | ||||
| Editor: Juergen Schoenwaelder | ||||
| <mailto:jschoenwaelder@constructor.university>"; | ||||
| description | description | |||
| "This module contains a collection of generally useful derived | "This module contains a collection of generally useful derived | |||
| YANG data types. | YANG data types. | |||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | |||
| NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | |||
| 'MAY', and 'OPTIONAL' in this document are to be interpreted as | 'MAY', and 'OPTIONAL' in this document are to be interpreted as | |||
| described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | |||
| they appear in all capitals, as shown here. | they appear in all capitals, as shown here. | |||
| Copyright (c) 2025 IETF Trust and the persons identified as | Copyright (c) 2025 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| 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 Revised BSD License | to the license terms contained in, the Revised 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 | |||
| (https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; | This version of this YANG module is part of RFC 9911; | |||
| see the RFC itself for full legal notices."; | see the RFC itself for full legal notices."; | |||
| revision 2025-06-23 { | revision 2025-12-01 { | |||
| description | description | |||
| "This revision adds the following new data types: | "This revision adds the following new data types: | |||
| - yang:date | - yang:date | |||
| - yang:date-no-zone | - yang:date-no-zone | |||
| - yang:time | - yang:time | |||
| - yang:time-no-zone | - yang:time-no-zone | |||
| - yang:hours32 | - yang:hours32 | |||
| - yang:minutes32 | - yang:minutes32 | |||
| - yang:seconds32 | - yang:seconds32 | |||
| - yang:centiseconds32 | - yang:centiseconds32 | |||
| - yang:milliseconds32 | - yang:milliseconds32 | |||
| - yang:microseconds32 | - yang:microseconds32 | |||
| - yang:microseconds64 | - yang:microseconds64 | |||
| - yang:nanoseconds32 | - yang:nanoseconds32 | |||
| - yang:nanoseconds64 | - yang:nanoseconds64 | |||
| - yang:language-tag | - yang:language-tag | |||
| The yang-identifier definition has been aligned with YANG | The yang-identifier definition has been aligned with YANG | |||
| 1.1 and types representing time support the representation | 1.1, and types representing time support the representation | |||
| of leap seconds. The representation of time zone offsets | of leap seconds. The representation of time zone offsets | |||
| has been aligned with RFC 9557. Several description and | has been aligned with RFC 9557. Several description and | |||
| pattern statements have been improved."; | pattern statements have been improved."; | |||
| reference | reference | |||
| "RFC XXXX: Common YANG Data Types"; | "RFC 9911: Common YANG Data Types"; | |||
| } | } | |||
| revision 2013-07-15 { | revision 2013-07-15 { | |||
| description | description | |||
| "This revision adds the following new data types: | "This revision adds the following new data types: | |||
| - yang:yang-identifier | - yang:yang-identifier | |||
| - yang:hex-string | - yang:hex-string | |||
| - yang:uuid | - yang:uuid | |||
| - yang:dotted-quad"; | - yang:dotted-quad"; | |||
| reference | reference | |||
| "RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| revision 2010-09-24 { | revision 2010-09-24 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC 6021: Common YANG Data Types"; | "RFC 6021: Common YANG Data Types"; | |||
| } | } | |||
| /*** collection of counter and gauge types ***/ | /*** collection of counter and gauge types ***/ | |||
| typedef counter32 { | typedef counter32 { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "The counter32 type represents a non-negative integer | "The counter32 type represents a non-negative integer | |||
| that monotonically increases until it reaches a | that monotonically increases until it reaches a | |||
| maximum value of 2^32-1 (4294967295 decimal), when it | maximum value of 2^32-1 (4294967295 decimal), when it | |||
| wraps around and starts increasing again from zero. | wraps around and starts increasing again from zero. | |||
| Counters have no defined 'initial' value, and thus, a | Counters have no defined 'initial' value, and thus, a | |||
| single value of a counter has (in general) no information | single value of a counter has (in general) no information | |||
| content. Discontinuities in the monotonically increasing | content. Discontinuities in the monotonically increasing | |||
| value normally occur at re-initialization of the | value normally occur at re-initialization of the | |||
| management system, and at other times as specified in the | management system and at other times as specified in the | |||
| description of a schema node using this type. If such | description of a schema node using this type. If such | |||
| other times can occur, for example, the instantiation of | other times can occur, for example, the instantiation of | |||
| a schema node of type counter32 at times other than | a schema node of type counter32 at times other than | |||
| re-initialization, then a corresponding schema node | re-initialization, then a corresponding schema node | |||
| should be defined, with an appropriate type, to indicate | should be defined, with an appropriate type, to indicate | |||
| the last discontinuity. | the last discontinuity. | |||
| The counter32 type should not be used for configuration | The counter32 type should not be used for configuration | |||
| schema nodes. A default statement SHOULD NOT be used in | schema nodes. A default statement SHOULD NOT be used in | |||
| combination with the type counter32. | combination with the type counter32. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the Counter32 type of the SMIv2."; | to the Counter32 type of the SMIv2."; | |||
| reference | reference | |||
| "RFC 2578: Structure of Management Information Version 2 | "RFC 2578: Structure of Management Information Version 2 | |||
| (SMIv2)"; | (SMIv2)"; | |||
| } | } | |||
| typedef zero-based-counter32 { | typedef zero-based-counter32 { | |||
| type counter32; | type counter32; | |||
| default "0"; | default "0"; | |||
| description | description | |||
| "The zero-based-counter32 type represents a counter32 | "The zero-based-counter32 type represents a counter32 | |||
| that has the defined 'initial' value zero. | that has the defined 'initial' value zero. | |||
| A data tree node using this type will be set to zero (0) | A data tree node using this type will be set to zero (0) | |||
| on creation and will thereafter increase monotonically until | on creation and will thereafter increase monotonically until | |||
| it reaches a maximum value of 2^32-1 (4294967295 decimal), | it reaches a maximum value of 2^32-1 (4294967295 decimal), | |||
| when it wraps around and starts increasing again from zero. | when it wraps around and starts increasing again from zero. | |||
| Provided that an application discovers a new data tree node | Provided that an application discovers a new data tree node | |||
| using this type within the minimum time to wrap, it can use | using this type within the minimum time to wrap, it can use | |||
| the 'initial' value as a delta. It is important for a | the 'initial' value as a delta. It is important for a | |||
| management station to be aware of this minimum time and the | management station to be aware of this minimum time and the | |||
| actual time between polls, and to discard data if the actual | actual time between polls, and to discard data if the actual | |||
| time is too long or there is no defined minimum time. | time is too long or there is no defined minimum time. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the ZeroBasedCounter32 textual convention of the SMIv2."; | to the ZeroBasedCounter32 textual convention of the SMIv2."; | |||
| reference | reference | |||
| "RFC 4502: Remote Network Monitoring Management Information | "RFC 4502: Remote Network Monitoring Management Information | |||
| Base Version 2"; | Base Version 2"; | |||
| } | } | |||
| typedef counter64 { | typedef counter64 { | |||
| type uint64; | type uint64; | |||
| description | description | |||
| "The counter64 type represents a non-negative integer | "The counter64 type represents a non-negative integer | |||
| that monotonically increases until it reaches a | that monotonically increases until it reaches a | |||
| maximum value of 2^64-1 (18446744073709551615 decimal), | maximum value of 2^64-1 (18446744073709551615 decimal), | |||
| when it wraps around and starts increasing again from zero. | when it wraps around and starts increasing again from zero. | |||
| Counters have no defined 'initial' value, and thus, a | Counters have no defined 'initial' value, and thus, a | |||
| single value of a counter has (in general) no information | single value of a counter has (in general) no information | |||
| content. Discontinuities in the monotonically increasing | content. Discontinuities in the monotonically increasing | |||
| value normally occur at re-initialization of the | value normally occur at re-initialization of the | |||
| management system, and at other times as specified in the | management system and at other times as specified in the | |||
| description of a schema node using this type. If such | description of a schema node using this type. If such | |||
| other times can occur, for example, the instantiation of | other times can occur, for example, the instantiation of | |||
| a schema node of type counter64 at times other than | a schema node of type counter64 at times other than | |||
| re-initialization, then a corresponding schema node | re-initialization, then a corresponding schema node | |||
| should be defined, with an appropriate type, to indicate | should be defined, with an appropriate type, to indicate | |||
| the last discontinuity. | the last discontinuity. | |||
| The counter64 type should not be used for configuration | The counter64 type should not be used for configuration | |||
| schema nodes. A default statement SHOULD NOT be used in | schema nodes. A default statement SHOULD NOT be used in | |||
| combination with the type counter64. | combination with the type counter64. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the Counter64 type of the SMIv2."; | to the Counter64 type of the SMIv2."; | |||
| reference | reference | |||
| "RFC 2578: Structure of Management Information Version 2 | "RFC 2578: Structure of Management Information Version 2 | |||
| (SMIv2)"; | (SMIv2)"; | |||
| } | } | |||
| typedef zero-based-counter64 { | typedef zero-based-counter64 { | |||
| type counter64; | type counter64; | |||
| default "0"; | default "0"; | |||
| description | description | |||
| "The zero-based-counter64 type represents a counter64 that | "The zero-based-counter64 type represents a counter64 that | |||
| has the defined 'initial' value zero. | has the defined 'initial' value zero. | |||
| A data tree node using this type will be set to zero (0) | A data tree node using this type will be set to zero (0) | |||
| on creation and will thereafter increase monotonically until | on creation and will thereafter increase monotonically until | |||
| it reaches a maximum value of 2^64-1 (18446744073709551615 | it reaches a maximum value of 2^64-1 (18446744073709551615 | |||
| decimal), when it wraps around and starts increasing again | decimal), when it wraps around and starts increasing again | |||
| from zero. | from zero. | |||
| Provided that an application discovers a new data tree node | Provided that an application discovers a new data tree node | |||
| using this type within the minimum time to wrap, it can use | using this type within the minimum time to wrap, it can use | |||
| the 'initial' value as a delta. It is important for a | the 'initial' value as a delta. It is important for a | |||
| management station to be aware of this minimum time and the | management station to be aware of this minimum time and the | |||
| actual time between polls, and to discard data if the actual | actual time between polls, and to discard data if the actual | |||
| time is too long or there is no defined minimum time. | time is too long or there is no defined minimum time. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the ZeroBasedCounter64 textual convention of the SMIv2."; | to the ZeroBasedCounter64 textual convention of the SMIv2."; | |||
| reference | reference | |||
| "RFC 2856: Textual Conventions for Additional High Capacity | "RFC 2856: Textual Conventions for Additional High Capacity | |||
| Data Types"; | Data Types"; | |||
| } | } | |||
| typedef gauge32 { | typedef gauge32 { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "The gauge32 type represents a non-negative integer, which | "The gauge32 type represents a non-negative integer, which | |||
| may increase or decrease, but shall never exceed a maximum | may increase or decrease, but shall never exceed a maximum | |||
| value, nor fall below a minimum value. The maximum value | value, nor fall below a minimum value. The maximum value | |||
| cannot be greater than 2^32-1 (4294967295 decimal), and | cannot be greater than 2^32-1 (4294967295 decimal), and | |||
| the minimum value cannot be smaller than 0. The value of | the minimum value cannot be smaller than 0. The value of | |||
| a gauge32 has its maximum value whenever the information | a gauge32 has its maximum value whenever the information | |||
| being modeled is greater than or equal to its maximum | being modeled is greater than or equal to its maximum | |||
| value, and has its minimum value whenever the information | value, and has its minimum value whenever the information | |||
| being modeled is smaller than or equal to its minimum value. | being modeled is smaller than or equal to its minimum value. | |||
| If the information being modeled subsequently decreases | If the information being modeled subsequently decreases | |||
| below (increases above) the maximum (minimum) value, the | below (increases above) the maximum (minimum) value, the | |||
| gauge32 also decreases (increases). | gauge32 also decreases (increases). | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the Gauge32 type of the SMIv2."; | to the Gauge32 type of the SMIv2."; | |||
| reference | reference | |||
| "RFC 2578: Structure of Management Information Version 2 | "RFC 2578: Structure of Management Information Version 2 | |||
| (SMIv2)"; | (SMIv2)"; | |||
| } | } | |||
| typedef gauge64 { | typedef gauge64 { | |||
| type uint64; | type uint64; | |||
| description | description | |||
| "The gauge64 type represents a non-negative integer, which | "The gauge64 type represents a non-negative integer, which | |||
| may increase or decrease, but shall never exceed a maximum | may increase or decrease, but shall never exceed a maximum | |||
| value, nor fall below a minimum value. The maximum value | value, nor fall below a minimum value. The maximum value | |||
| cannot be greater than 2^64-1 (18446744073709551615), and | cannot be greater than 2^64-1 (18446744073709551615), and | |||
| the minimum value cannot be smaller than 0. The value of | the minimum value cannot be smaller than 0. The value of | |||
| a gauge64 has its maximum value whenever the information | a gauge64 has its maximum value whenever the information | |||
| being modeled is greater than or equal to its maximum | being modeled is greater than or equal to its maximum | |||
| value, and has its minimum value whenever the information | value, and has its minimum value whenever the information | |||
| being modeled is smaller than or equal to its minimum value. | being modeled is smaller than or equal to its minimum value. | |||
| If the information being modeled subsequently decreases | If the information being modeled subsequently decreases | |||
| below (increases above) the maximum (minimum) value, the | below (increases above) the maximum (minimum) value, the | |||
| gauge64 also decreases (increases). | gauge64 also decreases (increases). | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the CounterBasedGauge64 SMIv2 textual convention defined | to the CounterBasedGauge64 SMIv2 textual convention defined | |||
| in RFC 2856"; | in RFC 2856"; | |||
| reference | reference | |||
| "RFC 2856: Textual Conventions for Additional High Capacity | "RFC 2856: Textual Conventions for Additional High Capacity | |||
| Data Types"; | Data Types"; | |||
| } | } | |||
| /*** collection of identifier-related types ***/ | /*** collection of identifier-related types ***/ | |||
| typedef object-identifier { | typedef object-identifier { | |||
| type string { | type string { | |||
| pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9][0-9]*))))' | pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9][0-9]*))))' | |||
| + '(\.(0|([1-9][0-9]*)))*'; | + '(\.(0|([1-9][0-9]*)))*'; | |||
| } | } | |||
| description | description | |||
| "The object-identifier type represents administratively | "The object-identifier type represents administratively | |||
| assigned names in a registration-hierarchical-name tree. | assigned names in a registration-hierarchical-name tree. | |||
| Values of this type are denoted as a sequence of numerical | Values of this type are denoted as a sequence of numerical | |||
| non-negative sub-identifier values. Each sub-identifier | non-negative sub-identifier values. Each sub-identifier | |||
| value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers | value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers | |||
| are separated by single dots and without any intermediate | are separated by single dots and without any intermediate | |||
| whitespace. | whitespace. | |||
| The ASN.1 standard restricts the value space of the first | The ASN.1 standard restricts the value space of the first | |||
| sub-identifier to 0, 1, or 2. Furthermore, the value space | sub-identifier to 0, 1, or 2. Furthermore, the value space | |||
| of the second sub-identifier is restricted to the range | of the second sub-identifier is restricted to the range | |||
| 0 to 39 if the first sub-identifier is 0 or 1. Finally, | 0 to 39 if the first sub-identifier is 0 or 1. Finally, | |||
| the ASN.1 standard requires that an object identifier | the ASN.1 standard requires that an object identifier | |||
| has always at least two sub-identifiers. The pattern | has always at least two sub-identifiers. The pattern | |||
| captures these restrictions. | captures these restrictions. | |||
| Although the number of sub-identifiers is not limited, | Although the number of sub-identifiers is not limited, | |||
| module designers should realize that there may be | module designers should realize that there may be | |||
| implementations that stick with the SMIv2 limit of 128 | implementations that stick with the SMIv2 limit of 128 | |||
| sub-identifiers. | sub-identifiers. | |||
| This type is a superset of the SMIv2 OBJECT IDENTIFIER type | This type is a superset of the SMIv2 OBJECT IDENTIFIER type | |||
| since it is not restricted to 128 sub-identifiers. Hence, | since it is not restricted to 128 sub-identifiers. Hence, | |||
| this type SHOULD NOT be used to represent the SMIv2 OBJECT | this type SHOULD NOT be used to represent the SMIv2 OBJECT | |||
| IDENTIFIER type; the object-identifier-128 type SHOULD be | IDENTIFIER type; the object-identifier-128 type SHOULD be | |||
| used instead."; | used instead."; | |||
| reference | reference | |||
| "ISO9834-1: Information technology -- Open Systems | "ISO 9834-1: Information technology -- Open Systems | |||
| Interconnection -- Procedures for the operation of OSI | Interconnection -- Procedures for the operation of OSI | |||
| Registration Authorities: General procedures and top | Registration Authorities: General procedures and top | |||
| arcs of the ASN.1 Object Identifier tree"; | arcs of the International Object Identifier tree"; | |||
| } | } | |||
| typedef object-identifier-128 { | typedef object-identifier-128 { | |||
| type object-identifier { | type object-identifier { | |||
| pattern '[0-9]*(\.[0-9]*){1,127}'; | pattern '[0-9]*(\.[0-9]*){1,127}'; | |||
| } | } | |||
| description | description | |||
| "This type represents object-identifiers restricted to 128 | "This type represents object-identifiers restricted to 128 | |||
| sub-identifiers. | sub-identifiers. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the OBJECT IDENTIFIER type of the SMIv2."; | to the OBJECT IDENTIFIER type of the SMIv2."; | |||
| reference | reference | |||
| "RFC 2578: Structure of Management Information Version 2 | "RFC 2578: Structure of Management Information Version 2 | |||
| (SMIv2)"; | (SMIv2)"; | |||
| } | } | |||
| /*** collection of types related to date and time ***/ | /*** collection of types related to date and time ***/ | |||
| typedef date-and-time { | typedef date-and-time { | |||
| type string { | type string { | |||
| pattern | pattern | |||
| '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])' | '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])' | |||
| + 'T(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?' | + 'T(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?' | |||
| + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; | + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; | |||
| } | } | |||
| description | description | |||
| "The date-and-time type is a profile of the ISO 8601 | "The date-and-time type is a profile of the ISO 8601 | |||
| standard for representation of dates and times using the | standard for representation of dates and times using the | |||
| Gregorian calendar. The profile is defined by the | Gregorian calendar. The profile is defined by the | |||
| date-time production in Section 5.6 of RFC 3339 and the | date-time production in Section 5.6 of RFC 3339 and the | |||
| update defined in Section 2 of RFC 9557 . The value of | update defined in Section 2 of RFC 9557. The value of | |||
| 60 for seconds is allowed only in the case of leap seconds. | 60 for seconds is allowed only in the case of leap seconds. | |||
| The date-and-time type is compatible with the dateTime XML | The date-and-time type is compatible with the dateTime XML | |||
| schema dateTime type with the following notable exceptions: | schema dateTime type with the following notable exceptions: | |||
| (a) The date-and-time type does not allow negative years. | (a) The date-and-time type does not allow negative years. | |||
| (b) The time-offset Z indicates that the date-and-time | (b) The time-offset Z indicates that the date-and-time | |||
| value is reported in UTC and that the local time zone | value is reported in UTC and that the local time zone | |||
| reference point is unknown. The time-offsets +00:00 | reference point is unknown. The time-offset +00:00 | |||
| indicates that the date-and-time value is reported in | indicates that the date-and-time value is reported in | |||
| UTC and that the local time reference point is UTC | UTC and that the local time reference point is UTC | |||
| (see RFC 9557 section 2). | (see Section 2 of RFC 9557). | |||
| This type is not equivalent to the DateAndTime textual | This type is not equivalent to the DateAndTime textual | |||
| convention of the SMIv2 since RFC 3339 uses a different | convention of the SMIv2 since RFC 3339 uses a different | |||
| separator between full-date and full-time and provides | separator between full-date and full-time and provides | |||
| higher resolution of time-secfrac. | higher resolution of time-secfrac. | |||
| The canonical format for date-and-time values with a known time | The canonical format for date-and-time values with a known | |||
| zone uses a numeric time zone offset that is calculated using | time zone uses a numeric time zone offset that is calculated | |||
| the device's configured known offset to UTC time. A change of | using the device's configured known offset to UTC time. A | |||
| the device's offset to UTC time will cause date-and-time values | change of the device's offset to UTC time will cause | |||
| to change accordingly. Such changes might happen periodically | date-and-time values to change accordingly. Such changes | |||
| in case a server follows automatically daylight saving time | might happen periodically in case a server follows | |||
| (DST) time zone offset changes. The canonical format for | automatically daylight saving time (DST) time zone offset | |||
| date-and-time values reported in UTC with an unknown local | changes. The canonical format for date-and-time values | |||
| time zone offset SHOULD use the time-offset Z and MAY use | reported in UTC with an unknown local time zone offset SHOULD | |||
| -00:00 for backwards compatibility."; | use the time-offset Z and MAY use -00:00 for backwards | |||
| compatibility."; | ||||
| reference | reference | |||
| "RFC 3339: Date and Time on the Internet: Timestamps | "RFC 3339: Date and Time on the Internet: Timestamps | |||
| RFC 9557: Date and Time on the Internet: Timestamps | RFC 9557: Date and Time on the Internet: Timestamps | |||
| with Additional Information | with Additional Information | |||
| RFC 2579: Textual Conventions for SMIv2 | RFC 2579: Textual Conventions for SMIv2 | |||
| XSD-TYPES: XML Schema Definition Language (XSD) 1.1 | XSD-TYPES: XML Schema Definition Language (XSD) 1.1 | |||
| Part 2: Datatypes"; | Part 2: Datatypes"; | |||
| } | } | |||
| typedef date { | typedef date { | |||
| type string { | type string { | |||
| pattern | pattern '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])' | |||
| '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])' | + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; | |||
| + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; | ||||
| } | } | |||
| description | description | |||
| "The date type represents a time-interval of the length | "The date type represents a time-interval of the length | |||
| of a day, i.e., 24 hours. It includes an optional time | of a day, i.e., 24 hours. It includes an optional time | |||
| zone offset. | zone offset. | |||
| The date type is compatible with the XML schema date | The date type is compatible with the XML schema date | |||
| type with the following notable exceptions: | type with the following notable exceptions: | |||
| (a) The date type does not allow negative years. | (a) The date type does not allow negative years. | |||
| (b) The time-offset Z indicates that the date value is | (b) The time-offset Z indicates that the date value is | |||
| reported in UTC and that the local time zone reference | reported in UTC and that the local time zone reference | |||
| point is unknown. The time-offset +00:00 indicates that | point is unknown. The time-offset +00:00 indicates that | |||
| the date value is reported in UTC and that the local | the date value is reported in UTC and that the local | |||
| time reference point is UTC (see RFC 9557 section 2). | time reference point is UTC (see Section 2 of RFC 9557). | |||
| The canonical format for date values with a known time | The canonical format for date values with a known time | |||
| zone uses a numeric time zone offset that is calculated using | zone uses a numeric time zone offset that is calculated using | |||
| the device's configured known offset to UTC time. A change of | the device's configured known offset to UTC time. A change of | |||
| the device's offset to UTC time will cause date values | the device's offset to UTC time will cause date values | |||
| to change accordingly. Such changes might happen periodically | to change accordingly. Such changes might happen periodically | |||
| in case a server follows automatically daylight saving time | in case a server follows automatically daylight saving time | |||
| (DST) time zone offset changes. The canonical format for | (DST) time zone offset changes. The canonical format for | |||
| date values reported in UTC with an unknown local time zone | date values reported in UTC with an unknown local time zone | |||
| offset uses the time-offset Z."; | offset uses the time-offset Z."; | |||
| reference | reference | |||
| "RFC 3339: Date and Time on the Internet: Timestamps | "RFC 3339: Date and Time on the Internet: Timestamps | |||
| RFC 9557: Date and Time on the Internet: Timestamps | RFC 9557: Date and Time on the Internet: Timestamps | |||
| with Additional Information | with Additional Information | |||
| XSD-TYPES: XML Schema Definition Language (XSD) 1.1 | XSD-TYPES: XML Schema Definition Language (XSD) 1.1 | |||
| Part 2: Datatypes"; | Part 2: Datatypes"; | |||
| } | } | |||
| typedef date-no-zone { | typedef date-no-zone { | |||
| type date { | type date { | |||
| pattern '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])'; | pattern '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])'; | |||
| } | } | |||
| description | description | |||
| "The date-no-zone type represents a date without the optional | "The date-no-zone type represents a date without the optional | |||
| time zone offset information."; | time zone offset information."; | |||
| } | } | |||
| typedef time { | typedef time { | |||
| type string { | type string { | |||
| pattern | pattern | |||
| '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?' | '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?' | |||
| + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; | + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; | |||
| } | } | |||
| description | description | |||
| "The time type represents an instance of time of zero-duration | "The time type represents an instance of time of zero duration | |||
| that recurs every day. It includes an optional time zone | that recurs every day. It includes an optional time zone | |||
| offset. The value of 60 for seconds is allowed only in the | offset. The value of 60 for seconds is allowed only in the | |||
| case of leap seconds. | case of leap seconds. | |||
| The time type is compatible with the XML schema time | The time type is compatible with the XML schema time | |||
| type with the following notable exception: | type with the following notable exception: | |||
| (a) The time-offset Z indicates that the time value is | (a) The time-offset Z indicates that the time value is | |||
| reported in UTC and that the local time zone reference | reported in UTC and that the local time zone reference | |||
| point is unknown. The time-offset +00:00 indicates that | point is unknown. The time-offset +00:00 indicates that | |||
| the time value is reported in UTC and that the local | the time value is reported in UTC and that the local | |||
| time reference point is UTC (see RFC 9557 section 2). | time reference point is UTC (see Section 2 of RFC 9557). | |||
| The canonical format for time values with a known time | The canonical format for time values with a known time | |||
| zone uses a numeric time zone offset that is calculated using | zone uses a numeric time zone offset that is calculated using | |||
| the device's configured known offset to UTC time. A change of | the device's configured known offset to UTC time. A change of | |||
| the device's offset to UTC time will cause time values | the device's offset to UTC time will cause time values | |||
| to change accordingly. Such changes might happen periodically | to change accordingly. Such changes might happen periodically | |||
| in case a server follows automatically daylight saving time | in case a server follows automatically daylight saving time | |||
| (DST) time zone offset changes. The canonical format for | (DST) time zone offset changes. The canonical format for | |||
| time values reported in UTC with an unknown local time zone | time values reported in UTC with an unknown local time zone | |||
| offset uses the time-offset Z."; | offset uses the time-offset Z."; | |||
| reference | reference | |||
| "RFC 3339: Date and Time on the Internet: Timestamps | "RFC 3339: Date and Time on the Internet: Timestamps | |||
| RFC 9557: Date and Time on the Internet: Timestamps | RFC 9557: Date and Time on the Internet: Timestamps | |||
| with Additional Information | with Additional Information | |||
| XSD-TYPES: XML Schema Definition Language (XSD) 1.1 | XSD-TYPES: XML Schema Definition Language (XSD) 1.1 | |||
| Part 2: Datatypes"; | Part 2: Datatypes"; | |||
| } | } | |||
| typedef time-no-zone { | typedef time-no-zone { | |||
| type time { | type time { | |||
| pattern | pattern | |||
| '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?'; | '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?'; | |||
| } | } | |||
| description | description | |||
| "The time-no-zone type represents a time without the optional | "The time-no-zone type represents a time without the optional | |||
| time zone offset information."; | time zone offset information."; | |||
| } | } | |||
| typedef hours32 { | typedef hours32 { | |||
| type int32; | type int32; | |||
| units "hours"; | units "hours"; | |||
| description | description | |||
| "A period of time, measured in units of hours. | "A period of time measured in units of hours. | |||
| The maximum time period that can be expressed is in the | The maximum time period that can be expressed is in the | |||
| range [-89478485 days 08:00:00 to 89478485 days 07:00:00]. | range [-89478485 days 08:00:00 to 89478485 days 07:00:00]. | |||
| This type should be range restricted in situations | This type should be range-restricted in situations | |||
| where only non-negative time periods are desirable, | where only non-negative time periods are desirable | |||
| (i.e., range '0..max')."; | (i.e., range '0..max')."; | |||
| } | } | |||
| typedef minutes32 { | typedef minutes32 { | |||
| type int32; | type int32; | |||
| units "minutes"; | units "minutes"; | |||
| description | description | |||
| "A period of time, measured in units of minutes. | "A period of time measured in units of minutes. | |||
| The maximum time period that can be expressed is in the | The maximum time period that can be expressed is in the | |||
| range [-1491308 days 2:08:00 to 1491308 days 2:07:00]. | range [-1491308 days 2:08:00 to 1491308 days 2:07:00]. | |||
| This type should be range restricted in situations | This type should be range-restricted in situations | |||
| where only non-negative time periods are desirable, | where only non-negative time periods are desirable | |||
| (i.e., range '0..max')."; | (i.e., range '0..max')."; | |||
| } | } | |||
| typedef seconds32 { | typedef seconds32 { | |||
| type int32; | type int32; | |||
| units "seconds"; | units "seconds"; | |||
| description | description | |||
| "A period of time, measured in units of seconds. | "A period of time measured in units of seconds. | |||
| The maximum time period that can be expressed is in the | The maximum time period that can be expressed is in the | |||
| range [-24855 days 03:14:08 to 24855 days 03:14:07]. | range [-24855 days 03:14:08 to 24855 days 03:14:07]. | |||
| This type should be range restricted in situations | This type should be range-restricted in situations | |||
| where only non-negative time periods are desirable, | where only non-negative time periods are desirable | |||
| (i.e., range '0..max')."; | (i.e., range '0..max')."; | |||
| } | } | |||
| typedef centiseconds32 { | typedef centiseconds32 { | |||
| type int32; | type int32; | |||
| units "centiseconds"; | units "centiseconds"; | |||
| description | description | |||
| "A period of time, measured in units of 10^-2 seconds. | "A period of time measured in units of 10^-2 seconds. | |||
| The maximum time period that can be expressed is in the | The maximum time period that can be expressed is in the | |||
| range [-248 days 13:13:56 to 248 days 13:13:56]. | range [-248 days 13:13:56 to 248 days 13:13:56]. | |||
| This type should be range restricted in situations | This type should be range-restricted in situations | |||
| where only non-negative time periods are desirable, | where only non-negative time periods are desirable | |||
| (i.e., range '0..max')."; | (i.e., range '0..max')."; | |||
| } | } | |||
| typedef milliseconds32 { | typedef milliseconds32 { | |||
| type int32; | type int32; | |||
| units "milliseconds"; | units "milliseconds"; | |||
| description | description | |||
| "A period of time, measured in units of 10^-3 seconds. | "A period of time measured in units of 10^-3 seconds. | |||
| The maximum time period that can be expressed is in the | The maximum time period that can be expressed is in the | |||
| range [-24 days 20:31:23 to 24 days 20:31:23]. | range [-24 days 20:31:23 to 24 days 20:31:23]. | |||
| This type should be range restricted in situations | This type should be range-restricted in situations | |||
| where only non-negative time periods are desirable, | where only non-negative time periods are desirable | |||
| (i.e., range '0..max')."; | (i.e., range '0..max')."; | |||
| } | } | |||
| typedef microseconds32 { | typedef microseconds32 { | |||
| type int32; | type int32; | |||
| units "microseconds"; | units "microseconds"; | |||
| description | description | |||
| "A period of time, measured in units of 10^-6 seconds. | "A period of time measured in units of 10^-6 seconds. | |||
| The maximum time period that can be expressed is in the | The maximum time period that can be expressed is in the | |||
| range [-00:35:47 to 00:35:47]. | range [-00:35:47 to 00:35:47]. | |||
| This type should be range restricted in situations | This type should be range-restricted in situations | |||
| where only non-negative time periods are desirable, | where only non-negative time periods are desirable | |||
| (i.e., range '0..max')."; | (i.e., range '0..max')."; | |||
| } | } | |||
| typedef microseconds64 { | typedef microseconds64 { | |||
| type int64; | type int64; | |||
| units "microseconds"; | units "microseconds"; | |||
| description | description | |||
| "A period of time, measured in units of 10^-6 seconds. | "A period of time measured in units of 10^-6 seconds. | |||
| The maximum time period that can be expressed is in the | The maximum time period that can be expressed is in the | |||
| range [-106751991 days 04:00:54 to 106751991 days 04:00:54]. | range [-106751991 days 04:00:54 to 106751991 days 04:00:54]. | |||
| This type should be range restricted in situations | This type should be range-restricted in situations | |||
| where only non-negative time periods are desirable, | where only non-negative time periods are desirable | |||
| (i.e., range '0..max')."; | (i.e., range '0..max')."; | |||
| } | } | |||
| typedef nanoseconds32 { | typedef nanoseconds32 { | |||
| type int32; | type int32; | |||
| units "nanoseconds"; | units "nanoseconds"; | |||
| description | description | |||
| "A period of time, measured in units of 10^-9 seconds. | "A period of time measured in units of 10^-9 seconds. | |||
| The maximum time period that can be expressed is in the | The maximum time period that can be expressed is in the | |||
| range [-00:00:02 to 00:00:02]. | range [-00:00:02 to 00:00:02]. | |||
| This type should be range restricted in situations | This type should be range-restricted in situations | |||
| where only non-negative time periods are desirable, | where only non-negative time periods are desirable | |||
| (i.e., range '0..max')."; | (i.e., range '0..max')."; | |||
| } | } | |||
| typedef nanoseconds64 { | typedef nanoseconds64 { | |||
| type int64; | type int64; | |||
| units "nanoseconds"; | units "nanoseconds"; | |||
| description | description | |||
| "A period of time, measured in units of 10^-9 seconds. | "A period of time measured in units of 10^-9 seconds. | |||
| The maximum time period that can be expressed is in the | The maximum time period that can be expressed is in the | |||
| range [-106753 days 23:12:44 to 106752 days 0:47:16]. | range [-106753 days 23:12:44 to 106752 days 0:47:16]. | |||
| This type should be range restricted in situations | This type should be range-restricted in situations | |||
| where only non-negative time periods are desirable, | where only non-negative time periods are desirable | |||
| (i.e., range '0..max')."; | (i.e., range '0..max')."; | |||
| } | } | |||
| typedef timeticks { | typedef timeticks { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "The timeticks type represents a non-negative integer that | "The timeticks type represents a non-negative integer that | |||
| represents the time, modulo 2^32 (4294967296 decimal), in | represents the time, modulo 2^32 (4294967296 decimal), in | |||
| hundredths of a second between two epochs. When a schema | hundredths of a second between two epochs. When a schema | |||
| node is defined that uses this type, the description of | node is defined that uses this type, the description of | |||
| the schema node identifies both of the reference epochs. | the schema node identifies both of the reference epochs. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the TimeTicks type of the SMIv2."; | to the TimeTicks type of the SMIv2."; | |||
| reference | reference | |||
| "RFC 2578: Structure of Management Information Version 2 | "RFC 2578: Structure of Management Information Version 2 | |||
| (SMIv2)"; | (SMIv2)"; | |||
| } | } | |||
| typedef timestamp { | typedef timestamp { | |||
| type timeticks; | type timeticks; | |||
| description | description | |||
| "The timestamp type represents the value of an associated | "The timestamp type represents the value of an associated | |||
| timeticks schema node instance at which a specific occurrence | timeticks schema node instance at which a specific occurrence | |||
| happened. The specific occurrence must be defined in the | happened. The specific occurrence must be defined in the | |||
| description of any schema node defined using this type. When | description of any schema node defined using this type. When | |||
| the specific occurrence occurred prior to the last time the | the specific occurrence occurred prior to the last time the | |||
| associated timeticks schema node instance was zero, then the | associated timeticks schema node instance was zero, then the | |||
| timestamp value is zero. | timestamp value is zero. | |||
| Note that this requires all timestamp values to be reset to | Note that this requires all timestamp values to be reset to | |||
| zero when the value of the associated timeticks schema node | zero when the value of the associated timeticks schema node | |||
| instance reaches 497+ days and wraps around to zero. | instance reaches 497+ days and wraps around to zero. | |||
| The associated timeticks schema node must be specified | The associated timeticks schema node must be specified | |||
| in the description of any schema node using this type. | in the description of any schema node using this type. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the TimeStamp textual convention of the SMIv2."; | to the TimeStamp textual convention of the SMIv2."; | |||
| reference | reference | |||
| "RFC 2579: Textual Conventions for SMIv2"; | "RFC 2579: Textual Conventions for SMIv2"; | |||
| } | } | |||
| /*** collection of generic address types ***/ | /*** collection of generic address types ***/ | |||
| typedef phys-address { | typedef phys-address { | |||
| type string { | type string { | |||
| pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; | pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; | |||
| } | } | |||
| description | description | |||
| "Represents media- or physical-level addresses represented | "Represents media- or physical-level addresses represented | |||
| as a sequence octets, each octet represented by two hexadecimal | as a sequence of octets, each octet represented by two | |||
| numbers. Octets are separated by colons. The canonical | hexadecimal numbers. Octets are separated by colons. The | |||
| representation uses lowercase characters. | canonical representation uses lowercase characters. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the PhysAddress textual convention of the SMIv2."; | to the PhysAddress textual convention of the SMIv2."; | |||
| reference | reference | |||
| "RFC 2579: Textual Conventions for SMIv2"; | "RFC 2579: Textual Conventions for SMIv2"; | |||
| } | } | |||
| typedef mac-address { | typedef mac-address { | |||
| type string { | type string { | |||
| pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'; | pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'; | |||
| } | } | |||
| description | description | |||
| "The mac-address type represents a 48-bit IEEE 802 MAC | "The mac-address type represents a 48-bit IEEE 802 Media | |||
| address. The canonical representation uses lowercase | Access Control (MAC) address. The canonical representation | |||
| characters. Note that there are IEEE 802 MAC addresses | uses lowercase characters. Note that there are IEEE 802 MAC | |||
| with a different length that this type cannot represent. | addresses with a different length that this type cannot | |||
| The phys-address type may be used to represent physical | represent. The phys-address type may be used to represent | |||
| addresses of varying length. | physical addresses of varying length. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the MacAddress textual convention of the SMIv2."; | to the MacAddress textual convention of the SMIv2."; | |||
| reference | reference | |||
| "IEEE 802: IEEE Standard for Local and Metropolitan Area | "IEEE 802: IEEE Standard for Local and Metropolitan Area | |||
| Networks: Overview and Architecture | Networks: Overview and Architecture | |||
| RFC 2579: Textual Conventions for SMIv2"; | RFC 2579: Textual Conventions for SMIv2"; | |||
| } | } | |||
| /*** collection of XML-specific types ***/ | /*** collection of XML-specific types ***/ | |||
| typedef xpath1.0 { | typedef xpath1.0 { | |||
| type string; | type string; | |||
| description | description | |||
| "This type represents an XPATH 1.0 expression. | "This type represents an XPATH 1.0 expression. | |||
| When a schema node is defined that uses this type, the | When a schema node is defined that uses this type, the | |||
| description of the schema node MUST specify the XPath | description of the schema node MUST specify the XPath | |||
| context in which the XPath expression is evaluated."; | context in which the XPath expression is evaluated."; | |||
| reference | reference | |||
| "XPATH: XML Path Language (XPath) Version 1.0"; | "XPATH: XML Path Language (XPath) Version 1.0"; | |||
| } | } | |||
| /*** collection of string types ***/ | /*** collection of string types ***/ | |||
| typedef hex-string { | typedef hex-string { | |||
| type string { | type string { | |||
| pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; | pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; | |||
| } | } | |||
| description | description | |||
| "A hexadecimal string with octets represented as hex digits | "A hexadecimal string with octets represented as hex digits | |||
| separated by colons. The canonical representation uses | separated by colons. The canonical representation uses | |||
| lowercase characters."; | lowercase characters."; | |||
| } | } | |||
| typedef uuid { | typedef uuid { | |||
| type string { | type string { | |||
| pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' | pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' | |||
| + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}'; | + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}'; | |||
| } | } | |||
| description | description | |||
| "A Universally Unique IDentifier in the string representation | "A Universally Unique IDentifier in the string representation | |||
| defined in RFC 4122. The canonical representation uses | defined in RFC 4122. The canonical representation uses | |||
| lowercase characters. | lowercase characters. | |||
| The following is an example of a UUID in string representation: | The following is an example of a UUID in string | |||
| f81d4fae-7dec-11d0-a765-00a0c91e6bf6 | representation: | |||
| f81d4fae-7dec-11d0-a765-00a0c91e6bf6. | ||||
| "; | "; | |||
| reference | reference | |||
| "RFC 4122: A Universally Unique IDentifier (UUID) URN | "RFC 4122: A Universally Unique IDentifier (UUID) URN | |||
| Namespace"; | Namespace"; | |||
| } | } | |||
| typedef dotted-quad { | typedef dotted-quad { | |||
| 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])'; | |||
| } | } | |||
| description | description | |||
| "An unsigned 32-bit number expressed in the dotted-quad | "An unsigned 32-bit number expressed in the dotted-quad | |||
| notation, i.e., four octets written as decimal numbers | notation, i.e., four octets written as decimal numbers | |||
| and separated with the '.' (full stop) character."; | and separated with the '.' (full stop) character."; | |||
| } | } | |||
| typedef language-tag { | typedef language-tag { | |||
| type string; | type string; | |||
| description | description | |||
| "A language tag according to RFC 5646 (BCP 47). The | "A language tag according to RFC 5646 (BCP 47). The | |||
| canonical representation uses lowercase characters. | canonical representation uses lowercase characters. | |||
| Values of this type must be well-formed language tags, | Values of this type must be well-formed language tags, | |||
| in conformance with the definition of well-formed tags | in conformance with the definition of well-formed tags | |||
| in BCP 47. Implementations MAY further limit the values | in BCP 47. Implementations MAY further limit the values | |||
| they accept to those permitted by a 'validating' | they accept to those permitted by a 'validating' | |||
| processor, as defined in BCP 47. | processor, as defined in BCP 47. | |||
| The canonical representation of values of this type is | The canonical representation of values of this type is | |||
| aligned with the SMIv2 LangTag textual convention for | aligned with the SMIv2 LangTag textual convention for | |||
| language tags fitting the length constraints imposed | language tags fitting the length constraints imposed | |||
| by the LangTag textual convention."; | by the LangTag textual convention."; | |||
| reference | reference | |||
| "RFC 5646: Tags for Identifying Languages | "RFC 5646: Tags for Identifying Languages | |||
| RFC 5131: A MIB Textual Convention for Language Tags"; | RFC 5131: A MIB Textual Convention for Language Tags"; | |||
| } | } | |||
| /*** collection of YANG specific types ***/ | /*** collection of YANG-specific types ***/ | |||
| typedef yang-identifier { | typedef yang-identifier { | |||
| type string { | type string { | |||
| length "1..max"; | length "1..max"; | |||
| pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*'; | pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*'; | |||
| } | } | |||
| description | description | |||
| "A YANG identifier string as defined by the 'identifier' | "A YANG identifier string as defined by the 'identifier' | |||
| rule in Section 14 of RFC 7950. An identifier must | rule in Section 14 of RFC 7950. An identifier must | |||
| start with an alphabetic character or an underscore | start with an alphabetic character or an underscore | |||
| followed by an arbitrary sequence of alphabetic or | followed by an arbitrary sequence of alphabetic or | |||
| numeric characters, underscores, hyphens, or dots. | numeric characters, underscores, hyphens, or dots. | |||
| This definition conforms to YANG 1.1 defined in RFC | This definition conforms to YANG 1.1 defined in RFC | |||
| 7950. An earlier version of this definition excluded | 7950. An earlier version of this definition excluded | |||
| all identifiers starting with any possible combination | all identifiers starting with any possible combination | |||
| of the lowercase or uppercase character sequence 'xml', | of the lowercase or uppercase character sequence 'xml', | |||
| as required by YANG 1 defined in RFC 6020. If this type | as required by YANG 1 defined in RFC 6020. If this type | |||
| is used in a YANG 1 context, then this restriction still | is used in a YANG 1 context, then this restriction still | |||
| applies."; | applies."; | |||
| reference | reference | |||
| "RFC 7950: The YANG 1.1 Data Modeling Language | "RFC 7950: The YANG 1.1 Data Modeling Language | |||
| RFC 6020: YANG - A Data Modeling Language for the | RFC 6020: YANG - A Data Modeling Language for the | |||
| Network Configuration Protocol (NETCONF)"; | Network Configuration Protocol (NETCONF)"; | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | ||||
| ]]></sourcecode> | ]]></sourcecode> | |||
| </section> | </section> | |||
| <section title="Internet Protocol Suite Types" anchor="sec-internet-protocol-sui | <section anchor="sec-internet-protocol-suite-types"> | |||
| te-types"> | <name>Internet Protocol Suite Types</name> | |||
| <t>The ietf-inet-types YANG module references | ||||
| <!--[rfced] Mentions of RFCs 6531 and 6532 | ||||
| a) RFC 6532 is mentioned in the description clause below, but RFC 6531 is | ||||
| listed in the reference clause. Which is correct? | ||||
| Original: | ||||
| description | ||||
| "The email-address type represents an internationalized | ||||
| email address. | ||||
| The email address format is defined by the addr-spec | ||||
| ABNF rule in RFC 5322 section 3.4.1. This format has | ||||
| been extended by RFC 6532 to support internationalized | ||||
| email addresses. Implementations MUST support the | ||||
| internationalization extensions of RFC 6532. Support | ||||
| of the obsolete obs-local-part, obs-domain, and | ||||
| obs-qtext parts of RFC 5322 is not required. | ||||
| The domain part may use both A-labels and U-labels | ||||
| (see RFC 5890). The canonical format of the domain part | ||||
| uses lowercase characters and U-labels (RFC 5890) where | ||||
| applicable."; | ||||
| reference | ||||
| "RFC 5322: Internet Message Format | ||||
| RFC 5890: Internationalized Domain Names in Applications | ||||
| (IDNA): Definitions and Document Framework | ||||
| RFC 6531: SMTP Extension for Internationalized Email"; | ||||
| b) Neither RFC 6532 nor RFC 6531 appear in the following sentence in Section 4 | ||||
| or in the references section. We will update this sentence and add an entry in | ||||
| the informative references section based on the reply to the question above. | ||||
| Original: | ||||
| The ietf-inet-types YANG module references [RFC0768], [RFC0791], | ||||
| [RFC0952], [RFC1034], [RFC1123], [RFC1930], [RFC2317], [RFC2474], | ||||
| [RFC2780], [RFC2782], [RFC3289], [RFC3305], [RFC3595], [RFC3927], | ||||
| [RFC3986], [RFC4001], [RFC4007], [RFC4271], [RFC4291], [RFC4340], | ||||
| [RFC4592], [RFC5017], [RFC5322], [RFC5890], [RFC5952], [RFC6793], | ||||
| [RFC8200], [RFC9260], [RFC9293], and [RFC9499]. | ||||
| --> | ||||
| <t>The "ietf-inet-types" YANG module references | ||||
| <xref target="RFC0768"/>, | <xref target="RFC0768"/>, | |||
| <xref target="RFC0791"/>, | <xref target="RFC0791"/>, | |||
| <xref target="RFC0952"/>, | <xref target="RFC0952"/>, | |||
| <xref target="RFC1034"/>, | <xref target="RFC1034"/>, | |||
| <xref target="RFC1123"/>, | <xref target="RFC1123"/>, | |||
| <xref target="RFC1930"/>, | <xref target="RFC1930"/>, | |||
| <xref target="RFC2317"/>, | <xref target="RFC2317"/>, | |||
| <xref target="RFC2474"/>, | <xref target="RFC2474"/>, | |||
| <xref target="RFC2780"/>, | <xref target="RFC2780"/>, | |||
| <xref target="RFC2782"/>, | <xref target="RFC2782"/>, | |||
| skipping to change at line 1012 ¶ | skipping to change at line 1271 ¶ | |||
| <xref target="RFC5017"/>, | <xref target="RFC5017"/>, | |||
| <xref target="RFC5322"/>, | <xref target="RFC5322"/>, | |||
| <xref target="RFC5890"/>, | <xref target="RFC5890"/>, | |||
| <xref target="RFC5952"/>, | <xref target="RFC5952"/>, | |||
| <xref target="RFC6793"/>, | <xref target="RFC6793"/>, | |||
| <xref target="RFC8200"/>, | <xref target="RFC8200"/>, | |||
| <xref target="RFC9260"/>, | <xref target="RFC9260"/>, | |||
| <xref target="RFC9293"/>, and | <xref target="RFC9293"/>, and | |||
| <xref target="RFC9499"/>.</t> | <xref target="RFC9499"/>.</t> | |||
| <sourcecode><![CDATA[ | <!-- [rfced] For these sentences, would pointing to the specific registries | |||
| <CODE BEGINS> file "ietf-inet-types@2025-06-23.yang" | be more helpful to readers? If so, please provide the registry names and | |||
| module ietf-inet-types { | URLs. | |||
| Original: | ||||
| Port numbers are assigned by IANA. The current list of | ||||
| all assignments is available from <https://www.iana.org/>. | ||||
| ... | ||||
| Protocol numbers are assigned by IANA. The current list of | ||||
| all assignments is available from <https://www.iana.org/>."; | ||||
| ... | ||||
| IANA maintains | ||||
| the AS number space and has delegated large parts to the | ||||
| regional registries. | ||||
| --> | ||||
| <!-- [rfced] Should "a length bytes" be updated to "a length byte"? | ||||
| Original: | ||||
| Since the encoding consists of labels | ||||
| prefixed by a length bytes and there is a trailing NULL | ||||
| byte, only 253 characters can appear in the textual dotted | ||||
| notation. | ||||
| Perhaps: | ||||
| Since the encoding consists of labels | ||||
| prefixed by a length byte and there is a trailing NULL | ||||
| byte, only 253 characters can appear in the textual dotted | ||||
| notation. | ||||
| --> | ||||
| <!-- [rfced] Is "parts" to best word choice here? Is "rules" better? Or | ||||
| perhaps "parts" should be deleted? | ||||
| Original: | ||||
| Support | ||||
| of the obsolete obs-local-part, obs-domain, and | ||||
| obs-qtext parts of RFC 5322 is not required. | ||||
| Perhaps ("rules"): | ||||
| Support | ||||
| for the obsolete obs-local-part, obs-domain, and | ||||
| obs-qtext rules in RFC 5322 is not required. | ||||
| Or (delete "parts"): | ||||
| Support | ||||
| for the obsolete obs-local-part, obs-domain, and | ||||
| obs-qtext in RFC 5322 is not required. | ||||
| --> | ||||
| <!-- [rfced] Are the parentheses around "(fully qualified)" needed here? | ||||
| Original: | ||||
| The host-name type represents (fully qualified) host names. | ||||
| ... | ||||
| "The host type represents either an IP address or a (fully | ||||
| qualified) host name."; | ||||
| Perhaps: | ||||
| The host-name type represents fully qualified host names. | ||||
| ... | ||||
| "The host type represents either an IP address or a fully | ||||
| qualified host name."; | ||||
| --> | ||||
| <!-- [rfced] Should "IP protocol" be updated to "Internet Protocol" here? | ||||
| Original: | ||||
| description | ||||
| "This value represents the version of the IP protocol. | ||||
| Perhaps: | ||||
| description | ||||
| "This value represents the version of the Internet Protocol. | ||||
| --> | ||||
| <sourcecode name="ietf-inet-types@2025-12-01.yang" type="yang" markers="true"><! | ||||
| [CDATA[ | ||||
| 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 Network Modeling (NETMOD) Working Group"; | "IETF Network Modeling (NETMOD) Working Group"; | |||
| contact | contact | |||
| "WG Web: <https://datatracker.ietf.org/wg/netmod/> | "WG Web: <https://datatracker.ietf.org/wg/netmod/> | |||
| WG List: <mailto:netmod@ietf.org> | WG List: <mailto:netmod@ietf.org> | |||
| Editor: Juergen Schoenwaelder | ||||
| <mailto:jschoenwaelder@constructor.university>"; | ||||
| Editor: Juergen Schoenwaelder | ||||
| <mailto:jschoenwaelder@constructor.university>"; | ||||
| description | description | |||
| "This module contains a collection of generally useful derived | "This module contains a collection of generally useful derived | |||
| YANG data types for Internet addresses and related things. | YANG data types for Internet addresses and related things. | |||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | |||
| NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | |||
| 'MAY', and 'OPTIONAL' in this document are to be interpreted as | 'MAY', and 'OPTIONAL' in this document are to be interpreted as | |||
| described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | |||
| they appear in all capitals, as shown here. | they appear in all capitals, as shown here. | |||
| Copyright (c) 2025 IETF Trust and the persons identified as | Copyright (c) 2025 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| 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 Revised BSD License | to the license terms contained in, the Revised 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 | |||
| (https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; | This version of this YANG module is part of RFC 9911; | |||
| see the RFC itself for full legal notices."; | see the RFC itself for full legal notices."; | |||
| revision 2025-06-23 { | revision 2025-12-01 { | |||
| description | description | |||
| "This revision adds the following new data types: | "This revision adds the following new data types: | |||
| - inet:ip-address-and-prefix | - inet:ip-address-and-prefix | |||
| - inet:ipv4-address-and-prefix | - inet:ipv4-address-and-prefix | |||
| - inet:ipv6-address-and-prefix | - inet:ipv6-address-and-prefix | |||
| - inet:protocol-number | - inet:protocol-number | |||
| - inet:upper-layer-protocol-number | - inet:upper-layer-protocol-number | |||
| - inet:host-name | - inet:host-name | |||
| - inet:email-address | - inet:email-address | |||
| - inet:ip-address-link-local | - inet:ip-address-link-local | |||
| - inet:ipv4-address-link-local | - inet:ipv4-address-link-local | |||
| - inet:ipv6-address-link-local | - inet:ipv6-address-link-local | |||
| The inet:host union was changed to use inet:host-name instead | The inet:host union was changed to use inet:host-name instead | |||
| of inet:domain-name. Several pattern statements have been | of inet:domain-name. Several pattern statements have been | |||
| improved."; | improved."; | |||
| reference | reference | |||
| "RFC XXXX: Common YANG Data Types"; | "RFC 9911: Common YANG Data Types"; | |||
| } | } | |||
| revision 2013-07-15 { | revision 2013-07-15 { | |||
| description | description | |||
| "This revision adds the following new data types: | "This revision adds the following new data types: | |||
| - inet:ip-address-no-zone | - inet:ip-address-no-zone | |||
| - inet:ipv4-address-no-zone | - inet:ipv4-address-no-zone | |||
| - inet:ipv6-address-no-zone"; | - inet:ipv6-address-no-zone"; | |||
| reference | reference | |||
| "RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| revision 2010-09-24 { | revision 2010-09-24 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC 6021: Common YANG Data Types"; | "RFC 6021: Common YANG Data Types"; | |||
| } | } | |||
| /*** collection of types related to protocol fields ***/ | /*** collection of types related to protocol fields ***/ | |||
| typedef ip-version { | typedef ip-version { | |||
| type enumeration { | type enumeration { | |||
| enum unknown { | enum unknown { | |||
| value "0"; | value 0; | |||
| description | description | |||
| "An unknown or unspecified version of the Internet | "An unknown or unspecified version of the Internet | |||
| protocol."; | protocol."; | |||
| } | } | |||
| enum ipv4 { | enum ipv4 { | |||
| value "1"; | value 1; | |||
| description | description | |||
| "The IPv4 protocol as defined in RFC 791."; | "The IPv4 protocol as defined in RFC 791."; | |||
| } | } | |||
| enum ipv6 { | enum ipv6 { | |||
| value "2"; | value 2; | |||
| description | description | |||
| "The IPv6 protocol as defined in RFC 8200."; | "The IPv6 protocol as defined in RFC 8200."; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "This value represents the version of the IP protocol. | "This value represents the version of the IP protocol. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the InetVersion textual convention of the SMIv2."; | to the InetVersion textual convention of the SMIv2."; | |||
| reference | reference | |||
| "RFC 791: Internet Protocol | "RFC 791: Internet Protocol | |||
| RFC 8200: Internet Protocol, Version 6 (IPv6) Specification | RFC 8200: Internet Protocol, Version 6 (IPv6) Specification | |||
| RFC 4001: Textual Conventions for Internet Network Addresses"; | RFC 4001: Textual Conventions for Internet Network Addresses"; | |||
| } | } | |||
| typedef dscp { | typedef dscp { | |||
| type uint8 { | type uint8 { | |||
| range "0..63"; | range "0..63"; | |||
| } | } | |||
| description | description | |||
| "The dscp type represents a Differentiated Services Code Point | "The dscp type represents a Differentiated Services Code Point | |||
| that may be used for marking packets in a traffic stream. | that may be used for marking packets in a traffic stream. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the Dscp textual convention of the SMIv2."; | to the Dscp textual convention of the SMIv2."; | |||
| reference | reference | |||
| "RFC 3289: Management Information Base for the Differentiated | "RFC 3289: Management Information Base for the Differentiated | |||
| Services Architecture | Services Architecture | |||
| RFC 2474: Definition of the Differentiated Services Field | RFC 2474: Definition of the Differentiated Services Field | |||
| (DS Field) in the IPv4 and IPv6 Headers | (DS Field) in the IPv4 and IPv6 Headers | |||
| RFC 2780: IANA Allocation Guidelines For Values In | RFC 2780: IANA Allocation Guidelines For Values In | |||
| the Internet Protocol and Related Headers"; | the Internet Protocol and Related Headers"; | |||
| } | } | |||
| typedef ipv6-flow-label { | typedef ipv6-flow-label { | |||
| type uint32 { | type uint32 { | |||
| range "0..1048575"; | range "0..1048575"; | |||
| } | } | |||
| description | description | |||
| "The ipv6-flow-label type represents the flow identifier or | "The ipv6-flow-label type represents the flow identifier or | |||
| Flow Label in an IPv6 packet header that may be used to | Flow Label in an IPv6 packet header that may be used to | |||
| discriminate traffic flows. | discriminate traffic flows. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the IPv6FlowLabel textual convention of the SMIv2."; | to the IPv6FlowLabel textual convention of the SMIv2."; | |||
| reference | reference | |||
| "RFC 3595: Textual Conventions for IPv6 Flow Label | "RFC 3595: Textual Conventions for IPv6 Flow Label | |||
| RFC 8200: Internet Protocol, Version 6 (IPv6) Specification"; | RFC 8200: Internet Protocol, Version 6 (IPv6) Specification"; | |||
| } | } | |||
| typedef port-number { | typedef port-number { | |||
| type uint16 { | type uint16 { | |||
| range "0..65535"; | range "0..65535"; | |||
| } | } | |||
| description | description | |||
| "The port-number type represents a 16-bit port number of an | "The port-number type represents a 16-bit port number of an | |||
| Internet transport-layer protocol such as UDP, TCP, DCCP, or | Internet transport-layer protocol such as UDP, TCP, DCCP, or | |||
| SCTP. | SCTP. | |||
| Port numbers are assigned by IANA. The current list of | Port numbers are assigned by IANA. The current list of | |||
| all assignments is available from <https://www.iana.org/>. | all assignments is available from <https://www.iana.org/>. | |||
| Note that the port number value zero is reserved by IANA. In | Note that the port number value zero is reserved by IANA. In | |||
| situations where the value zero does not make sense, it can | situations where the value zero does not make sense, it can | |||
| be excluded by subtyping the port-number type. | be excluded by subtyping the port-number type. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the InetPortNumber textual convention of the SMIv2."; | to the InetPortNumber textual convention of the SMIv2."; | |||
| reference | reference | |||
| "RFC 768: User Datagram Protocol | "RFC 768: User Datagram Protocol | |||
| RFC 9293: Transmission Control Protocol (TCP) | RFC 9293: Transmission Control Protocol (TCP) | |||
| RFC 9260: Stream Control Transmission Protocol | RFC 9260: Stream Control Transmission Protocol | |||
| RFC 4340: Datagram Congestion Control Protocol (DCCP) | RFC 4340: Datagram Congestion Control Protocol (DCCP) | |||
| RFC 4001: Textual Conventions for Internet Network Addresses"; | RFC 4001: Textual Conventions for Internet Network Addresses"; | |||
| } | } | |||
| typedef protocol-number { | typedef protocol-number { | |||
| type uint8; | type uint8; | |||
| description | description | |||
| "The protocol-number type represents an 8-bit Internet | "The protocol-number type represents an 8-bit Internet | |||
| protocol number, carried in the 'protocol' field of the | protocol number, carried in the 'protocol' field of the | |||
| IPv4 header or in the 'next header' field of the IPv6 | IPv4 header or in the 'next header' field of the IPv6 | |||
| header. | header. | |||
| Protocol numbers are assigned by IANA. The current list of | Protocol numbers are assigned by IANA. The current list of | |||
| all assignments is available from <https://www.iana.org/>."; | all assignments is available from <https://www.iana.org/>."; | |||
| reference | reference | |||
| "RFC 791: Internet Protocol | "RFC 791: Internet Protocol | |||
| RFC 8200: Internet Protocol, Version 6 (IPv6) Specification"; | RFC 8200: Internet Protocol, Version 6 (IPv6) Specification"; | |||
| } | } | |||
| typedef upper-layer-protocol-number { | typedef upper-layer-protocol-number { | |||
| type protocol-number; | type protocol-number; | |||
| description | description | |||
| "The upper-layer-protocol-number represents the upper-layer | "The upper-layer-protocol-number represents the upper-layer | |||
| protocol number carried in an IP packet. For IPv6 packets | protocol number carried in an IP packet. For IPv6 packets | |||
| with extension headers, this is the protocol number carried | with extension headers, this is the protocol number carried | |||
| in the last 'next header' field of the chain of IPv6 extension | in the last 'next header' field of the chain of IPv6 extension | |||
| headers."; | headers."; | |||
| reference | reference | |||
| "RFC 791: Internet Protocol | "RFC 791: Internet Protocol | |||
| RFC 8200: Internet Protocol, Version 6 (IPv6) Specification"; | RFC 8200: Internet Protocol, Version 6 (IPv6) Specification"; | |||
| } | } | |||
| /*** collection of types related to autonomous systems ***/ | /*** collection of types related to autonomous systems ***/ | |||
| typedef as-number { | typedef as-number { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "The as-number type represents autonomous system numbers | "The as-number type represents autonomous system numbers | |||
| which identify an Autonomous System (AS). An AS is a set | that identify an Autonomous System (AS). An AS is a set | |||
| of routers under a single technical administration, using | of routers under a single technical administration, using | |||
| an interior gateway protocol and common metrics to route | an interior gateway protocol and common metrics to route | |||
| packets within the AS, and using an exterior gateway | packets within the AS, and using an exterior gateway | |||
| protocol to route packets to other ASes. IANA maintains | protocol to route packets to other ASes. IANA maintains | |||
| the AS number space and has delegated large parts to the | the AS number space and has delegated large parts to the | |||
| regional registries. | regional registries. | |||
| Autonomous system numbers were originally limited to 16 | Autonomous system numbers were originally limited to 16 | |||
| bits. BGP extensions have enlarged the autonomous system | bits. BGP extensions have enlarged the autonomous system | |||
| number space to 32 bits. This type therefore uses an uint32 | number space to 32 bits. This type therefore uses an uint32 | |||
| base type without a range restriction in order to support | base type without a range restriction in order to support | |||
| a larger autonomous system number space. | a larger autonomous system number space. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the InetAutonomousSystemNumber textual convention of | to the InetAutonomousSystemNumber textual convention of | |||
| the SMIv2."; | the SMIv2."; | |||
| reference | reference | |||
| "RFC 1930: Guidelines for creation, selection, and registration | "RFC 1930: Guidelines for creation, selection, and registration | |||
| of an Autonomous System (AS) | of an Autonomous System (AS) | |||
| RFC 4271: A Border Gateway Protocol 4 (BGP-4) | RFC 4271: A Border Gateway Protocol 4 (BGP-4) | |||
| RFC 4001: Textual Conventions for Internet Network Addresses | RFC 4001: Textual Conventions for Internet Network Addresses | |||
| RFC 6793: BGP Support for Four-Octet Autonomous System (AS) | RFC 6793: BGP Support for Four-Octet Autonomous System (AS) | |||
| Number Space"; | Number Space"; | |||
| } | } | |||
| /*** collection of types related to IP addresses and hostnames ***/ | /*** collection of types related to IP addresses and hostnames ***/ | |||
| typedef ip-address { | typedef ip-address { | |||
| type union { | type union { | |||
| type ipv4-address; | type ipv4-address; | |||
| type ipv6-address; | type 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 representation | version neutral. The format of the textual representation | |||
| implies the IP version. This type supports scoped addresses | implies the IP version. This type supports scoped addresses | |||
| by allowing zone identifiers in the address format."; | by allowing zone identifiers in the address format."; | |||
| reference | reference | |||
| "RFC 4007: IPv6 Scoped Address Architecture"; | "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])' | |||
| + '(%.+)?'; | + '(%.+)?'; | |||
| } | } | |||
| description | description | |||
| "The ipv4-address type represents an IPv4 address in | "The ipv4-address type represents an IPv4 address in | |||
| dotted-quad notation. The IPv4 address may include a zone | dotted-quad notation. The IPv4 address may include a zone | |||
| index, separated by a % sign. If a system uses zone names | index, separated by a % sign. If a system uses zone names | |||
| that are not represented in UTF-8, then an implementation | that are not represented in UTF-8, then an implementation | |||
| needs to use some mechanism to transform the local name | needs to use some mechanism to transform the local name | |||
| into UTF-8. The definition of such a mechanism is outside | into UTF-8. The definition of such a mechanism is outside | |||
| the scope of this document. | the scope of this document. | |||
| The zone index is used to disambiguate identical address | The zone index is used to disambiguate identical address | |||
| values. For link-local addresses, the zone index will | values. For link-local addresses, the zone index will | |||
| typically be the interface index number or the name of an | typically be the interface index number or the name of an | |||
| interface. If the zone index is not present, the default | interface. If the zone index is not present, the default | |||
| zone of the device will be used. | zone of the device will be used. | |||
| The canonical format for the zone index is the numerical | The canonical format for the zone index is the numerical | |||
| format"; | format"; | |||
| skipping to change at line 1296 ¶ | skipping to change at line 1625 ¶ | |||
| pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}' | pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}' | |||
| + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|' | + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|' | |||
| + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}' | + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}' | |||
| + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))' | + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))' | |||
| + '(%[A-Za-z0-9][A-Za-z0-9\-\._~/]*)?'; | + '(%[A-Za-z0-9][A-Za-z0-9\-\._~/]*)?'; | |||
| pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|' | pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|' | |||
| + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' | + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' | |||
| + '(%.+)?'; | + '(%.+)?'; | |||
| } | } | |||
| description | description | |||
| "The ipv6-address type represents an IPv6 address in full, | "The ipv6-address type represents an IPv6 address in full, | |||
| mixed, shortened, and shortened-mixed notation. The IPv6 | mixed, shortened, and shortened-mixed notation. The IPv6 | |||
| address may include a zone index, separated by a % sign. | address may include a zone index, separated by a % sign. | |||
| If a system uses zone names that are not represented in | If a system uses zone names that are not represented in | |||
| UTF-8, then an implementation needs to use some mechanism | UTF-8, then an implementation needs to use some mechanism | |||
| to transform the local name into UTF-8. The definition of | to transform the local name into UTF-8. The definition of | |||
| such a mechanism is outside the scope of this document. | such a mechanism is outside the scope of this document. | |||
| The zone index is used to disambiguate identical address | The zone index is used to disambiguate identical address | |||
| values. For link-local addresses, the zone index will | values. For link-local addresses, the zone index will | |||
| typically be the interface index number or the name of an | typically be the interface index number or the name of an | |||
| interface. If the zone index is not present, the default | interface. If the zone index is not present, the default | |||
| zone of the device will be used. | zone of the device will be used. | |||
| The canonical format of IPv6 addresses uses the textual | The canonical format of IPv6 addresses uses the textual | |||
| representation defined in Section 4 of RFC 5952. The | representation defined in Section 4 of RFC 5952. The | |||
| canonical format for the zone index is the numerical | canonical format for the zone index is the numerical | |||
| format as described in Section 11.2 of RFC 4007."; | format as described in Section 11.2 of RFC 4007."; | |||
| reference | reference | |||
| "RFC 4291: IP Version 6 Addressing Architecture | "RFC 4291: IP Version 6 Addressing Architecture | |||
| RFC 4007: IPv6 Scoped Address Architecture | RFC 4007: IPv6 Scoped Address Architecture | |||
| 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 ipv4-address-no-zone; | type ipv4-address-no-zone; | |||
| type ipv6-address-no-zone; | type ipv6-address-no-zone; | |||
| } | } | |||
| description | description | |||
| "The ip-address-no-zone type represents an IP address and is | "The ip-address-no-zone type represents an IP address and is | |||
| IP version neutral. The format of the textual representation | IP version neutral. The format of the textual representation | |||
| implies the IP version. This type does not support scoped | implies the IP version. This type does not support scoped | |||
| addresses since it does not allow zone identifiers in the | addresses since it does not allow zone identifiers in the | |||
| address format."; | address format."; | |||
| reference | reference | |||
| "RFC 4007: IPv6 Scoped Address Architecture"; | "RFC 4007: IPv6 Scoped Address Architecture"; | |||
| } | } | |||
| typedef ipv4-address-no-zone { | typedef ipv4-address-no-zone { | |||
| type ipv4-address { | type ipv4-address { | |||
| pattern '[0-9\.]*'; | pattern '[0-9\.]*'; | |||
| } | } | |||
| description | description | |||
| "An IPv4 address without a zone index. This type, derived | "An IPv4 address without a zone index. This type, derived | |||
| from the type ipv4-address, may be used in situations where | from the type ipv4-address, may be used in situations where | |||
| the zone is known from the context and no zone index is | the zone is known from the context and no zone index is | |||
| skipping to change at line 1357 ¶ | skipping to change at line 1686 ¶ | |||
| typedef ipv6-address-no-zone { | typedef ipv6-address-no-zone { | |||
| type ipv6-address { | type ipv6-address { | |||
| pattern '[0-9a-fA-F:\.]*'; | pattern '[0-9a-fA-F:\.]*'; | |||
| } | } | |||
| description | description | |||
| "An IPv6 address without a zone index. This type, derived | "An IPv6 address without a zone index. This type, derived | |||
| from the type ipv6-address, may be used in situations where | from the type ipv6-address, may be used in situations where | |||
| the zone is known from the context and no zone index is | the zone is known from the context and no zone index is | |||
| needed."; | needed."; | |||
| reference | reference | |||
| "RFC 4291: IP Version 6 Addressing Architecture | "RFC 4291: IP Version 6 Addressing Architecture | |||
| RFC 4007: IPv6 Scoped Address Architecture | RFC 4007: IPv6 Scoped Address Architecture | |||
| RFC 5952: A Recommendation for IPv6 Address Text | RFC 5952: A Recommendation for IPv6 Address Text | |||
| Representation"; | Representation"; | |||
| } | } | |||
| typedef ip-address-link-local { | typedef ip-address-link-local { | |||
| type union { | type union { | |||
| type ipv4-address-link-local; | type ipv4-address-link-local; | |||
| type ipv6-address-link-local; | type ipv6-address-link-local; | |||
| } | } | |||
| description | description | |||
| "The ip-address-link-local type represents a link-local IP | "The ip-address-link-local type represents a link-local IP | |||
| address and is IP version neutral. The format of the textual | address and is IP version neutral. The format of the textual | |||
| representation implies the IP version."; | representation implies the IP version."; | |||
| } | } | |||
| typedef ipv4-address-link-local { | typedef ipv4-address-link-local { | |||
| type ipv4-address { | type ipv4-address { | |||
| pattern '169\.254\..*'; | pattern '169\.254\..*'; | |||
| } | } | |||
| description | description | |||
| "A link-local IPv4 address in the prefix 169.254.0.0/16 as | "The ipv4-address-link-local type represents a link-local IPv4 | |||
| defined in section 2.1. of RFC 3927."; | address in the prefix 169.254.0.0/16 as defined in Section 2.1 | |||
| of RFC 3927."; | ||||
| reference | reference | |||
| "RFC 3927: Dynamic Configuration of IPv4 Link-Local Addresses"; | "RFC 3927: Dynamic Configuration of IPv4 Link-Local Addresses"; | |||
| } | } | |||
| typedef ipv6-address-link-local { | typedef ipv6-address-link-local { | |||
| type ipv6-address { | type ipv6-address { | |||
| pattern '[fF][eE]80:.*'; | pattern '[fF][eE]80:.*'; | |||
| } | } | |||
| description | description | |||
| "A link-local IPv6 address in the prefix fe80::/10 as defined | "The ipv6-address-link-local type represents a link-local IPv6 | |||
| in section 2.5.6. of RFC 4291."; | address in the prefix fe80::/10 as defined in Section 2.5.6 of | |||
| RFC 4291."; | ||||
| reference | reference | |||
| "RFC 4291: IP Version 6 Addressing Architecture"; | "RFC 4291: IP Version 6 Addressing Architecture"; | |||
| } | } | |||
| typedef ip-prefix { | typedef ip-prefix { | |||
| type union { | type union { | |||
| type ipv4-prefix; | type ipv4-prefix; | |||
| type ipv6-prefix; | type 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 | |||
| implies the IP version."; | implies the IP version."; | |||
| } | } | |||
| typedef ipv4-prefix { | typedef ipv4-prefix { | |||
| 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])' | |||
| + '/(([0-9])|([1-2][0-9])|(3[0-2]))'; | + '/(([0-9])|([1-2][0-9])|(3[0-2]))'; | |||
| } | } | |||
| description | description | |||
| "The ipv4-prefix type represents an IPv4 prefix. | "The ipv4-prefix type represents an IPv4 prefix. | |||
| The prefix length is given by the number following the | The prefix length is given by the number following the | |||
| slash character and must be less than or equal to 32. | slash character and must be less than or equal to 32. | |||
| A prefix length value of n corresponds to an IP address | A prefix length value of n corresponds to an IP address | |||
| mask that has n contiguous 1-bits from the most | mask that has n contiguous 1-bits from the most | |||
| significant bit (MSB) and all other bits set to 0. | significant bit (MSB) and all other bits set to 0. | |||
| The canonical format of an IPv4 prefix has all bits of | The canonical format of an IPv4 prefix has all bits of | |||
| the IPv4 address set to zero that are not part of the | the IPv4 address set to zero that are not part of the | |||
| IPv4 prefix. | IPv4 prefix. | |||
| The definition of ipv4-prefix does not require that bits, | The definition of ipv4-prefix does not require that bits | |||
| which are not part of the prefix, are set to zero. However, | that are not part of the prefix be set to zero. However, | |||
| implementations have to return values in canonical format, | implementations have to return values in canonical format, | |||
| which requires non-prefix bits to be set to zero. This means | which requires non-prefix bits to be set to zero. This means | |||
| that 192.0.2.1/24 must be accepted as a valid value but it | that 192.0.2.1/24 must be accepted as a valid value, but it | |||
| will be converted into the canonical format 192.0.2.0/24."; | will be converted into the canonical format 192.0.2.0/24."; | |||
| } | } | |||
| typedef ipv6-prefix { | typedef ipv6-prefix { | |||
| type string { | type string { | |||
| pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}' | pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}' | |||
| + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|' | + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|' | |||
| + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}' | + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}' | |||
| + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))' | + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))' | |||
| + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))'; | + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))'; | |||
| pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|' | pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|' | |||
| + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' | + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' | |||
| + '(/.+)'; | + '(/.+)'; | |||
| } | } | |||
| description | description | |||
| "The ipv6-prefix type represents an IPv6 prefix. | "The ipv6-prefix type represents an IPv6 prefix. | |||
| The prefix length is given by the number following the | The prefix length is given by the number following the | |||
| slash character and must be less than or equal to 128. | slash character and must be less than or equal to 128. | |||
| A prefix length value of n corresponds to an IP address | A prefix length value of n corresponds to an IP address | |||
| mask that has n contiguous 1-bits from the most | mask that has n contiguous 1-bits from the most | |||
| significant bit (MSB) and all other bits set to 0. | significant bit (MSB) and all other bits set to 0. | |||
| The canonical format of an IPv6 prefix has all bits of | The canonical format of an IPv6 prefix has all bits of | |||
| the IPv6 address set to zero that are not part of the | the IPv6 address set to zero that are not part of the | |||
| IPv6 prefix. Furthermore, the IPv6 address is represented | IPv6 prefix. Furthermore, the IPv6 address is represented | |||
| as defined in Section 4 of RFC 5952. | as defined in Section 4 of RFC 5952. | |||
| The definition of ipv6-prefix does not require that bits, | The definition of ipv6-prefix does not require that bits | |||
| which are not part of the prefix, are set to zero. However, | that are not part of the prefix be set to zero. However, | |||
| implementations have to return values in canonical format, | implementations have to return values in canonical format, | |||
| which requires non-prefix bits to be set to zero. This means | which requires non-prefix bits to be set to zero. This means | |||
| that 2001:db8::1/64 must be accepted as a valid value but it | that 2001:db8::1/64 must be accepted as a valid value, but it | |||
| will be converted into the canonical format 2001:db8::/64."; | will be converted into the canonical format 2001:db8::/64."; | |||
| reference | reference | |||
| "RFC 5952: A Recommendation for IPv6 Address Text | "RFC 5952: A Recommendation for IPv6 Address Text | |||
| Representation"; | Representation"; | |||
| } | } | |||
| typedef ip-address-and-prefix { | typedef ip-address-and-prefix { | |||
| type union { | type union { | |||
| type ipv4-address-and-prefix; | type ipv4-address-and-prefix; | |||
| type ipv6-address-and-prefix; | type ipv6-address-and-prefix; | |||
| } | } | |||
| description | description | |||
| "The ip-address-and-prefix type represents an IP address and | "The ip-address-and-prefix type represents an IP address and | |||
| prefix and is IP version neutral. The format of the textual | prefix and is IP version neutral. The format of the textual | |||
| representations implies the IP version."; | representations implies the IP version."; | |||
| } | } | |||
| typedef ipv4-address-and-prefix { | typedef ipv4-address-and-prefix { | |||
| 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])' | |||
| + '/(([0-9])|([1-2][0-9])|(3[0-2]))'; | + '/(([0-9])|([1-2][0-9])|(3[0-2]))'; | |||
| } | } | |||
| description | description | |||
| "The ipv4-address-and-prefix type represents an IPv4 | "The ipv4-address-and-prefix type represents an IPv4 | |||
| address and an associated IPv4 prefix. | address and an associated IPv4 prefix. | |||
| The prefix length is given by the number following the | The prefix length is given by the number following the | |||
| slash character and must be less than or equal to 32. | slash character and must be less than or equal to 32. | |||
| A prefix length value of n corresponds to an IP address | A prefix length value of n corresponds to an IP address | |||
| mask that has n contiguous 1-bits from the most | mask that has n contiguous 1-bits from the most | |||
| significant bit (MSB) and all other bits set to 0."; | significant bit (MSB) and all other bits set to 0."; | |||
| } | } | |||
| typedef ipv6-address-and-prefix { | typedef ipv6-address-and-prefix { | |||
| type string { | type string { | |||
| pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}' | pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}' | |||
| + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|' | + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|' | |||
| + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}' | + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}' | |||
| + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))' | + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))' | |||
| + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))'; | + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))'; | |||
| pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|' | pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|' | |||
| + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' | + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' | |||
| + '(/.+)'; | + '(/.+)'; | |||
| } | } | |||
| description | description | |||
| "The ipv6-address-and-prefix type represents an IPv6 | "The ipv6-address-and-prefix type represents an IPv6 | |||
| address and an associated IPv6 prefix. | address and an associated IPv6 prefix. | |||
| The prefix length is given by the number following the | The prefix length is given by the number following the | |||
| slash character and must be less than or equal to 128. | slash character and must be less than or equal to 128. | |||
| A prefix length value of n corresponds to an IP address | A prefix length value of n corresponds to an IP address | |||
| mask that has n contiguous 1-bits from the most | mask that has n contiguous 1-bits from the most | |||
| significant bit (MSB) and all other bits set to 0. | significant bit (MSB) and all other bits set to 0. | |||
| The canonical format requires that the IPv6 address is | The canonical format requires that the IPv6 address is | |||
| represented as defined in Section 4 of RFC 5952."; | represented as defined in Section 4 of RFC 5952."; | |||
| reference | reference | |||
| "RFC 5952: A Recommendation for IPv6 Address Text | "RFC 5952: A Recommendation for IPv6 Address Text | |||
| Representation"; | Representation"; | |||
| } | } | |||
| /*** collection of domain name and URI types ***/ | /*** collection of domain name and URI types ***/ | |||
| typedef domain-name { | typedef domain-name { | |||
| type string { | type string { | |||
| length "1..253"; | length "1..253"; | |||
| pattern | pattern '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*' | |||
| '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*' | + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)' | |||
| + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)' | + '|\.'; | |||
| + '|\.'; | ||||
| } | } | |||
| description | description | |||
| "The domain-name type represents a DNS domain name. The | "The domain-name type represents a DNS domain name. The | |||
| name SHOULD be fully qualified whenever possible. This | name SHOULD be fully qualified whenever possible. This | |||
| type does not support wildcards (see RFC 4592) or | type does not support wildcards (see RFC 4592) or | |||
| classless in-addr.arpa delegations (see RFC 2317). | classless in-addr.arpa delegations (see RFC 2317). | |||
| Internet domain names are only loosely specified. Section | Internet domain names are only loosely specified. Section | |||
| 3.5 of RFC 1034 recommends a syntax (modified in Section | 3.5 of RFC 1034 recommends a syntax (modified in Section | |||
| 2.1 of RFC 1123). The pattern above is intended to allow | 2.1 of RFC 1123). The pattern above is intended to allow | |||
| for current practice in domain name use, and some possible | for current practice in domain name use and some possible | |||
| future expansion. Note that Internet host names have a | future expansion. Note that Internet host names have a | |||
| stricter syntax (described in RFC 952) than the DNS | stricter syntax (described in RFC 952) than the DNS | |||
| recommendations in RFCs 1034 and 1123. Schema nodes | recommendations in RFCs 1034 and 1123. Schema nodes | |||
| representing host names should use the host-name type | representing host names should use the host-name type | |||
| instead of the domain-type. | instead of the domain-type. | |||
| The encoding of DNS names in the DNS protocol is limited | The encoding of DNS names in the DNS protocol is limited | |||
| to 255 characters. Since the encoding consists of labels | to 255 characters. Since the encoding consists of labels | |||
| prefixed by a length bytes and there is a trailing NULL | prefixed by a length bytes and there is a trailing NULL | |||
| byte, only 253 characters can appear in the textual dotted | byte, only 253 characters can appear in the textual dotted | |||
| notation. | notation. | |||
| The description clause of schema nodes using the domain-name | The description clause of schema nodes using the domain-name | |||
| type MUST describe when and how these names are resolved to | type MUST describe when and how these names are resolved to | |||
| IP addresses. Note that the resolution of a domain-name value | IP addresses. Note that the resolution of a domain-name value | |||
| may require to query multiple DNS records (e.g., A for IPv4 | may require to query multiple DNS records (e.g., A for IPv4 | |||
| and AAAA for IPv6). The order of the resolution process and | and AAAA for IPv6). The order of the resolution process and | |||
| which DNS record takes precedence can either be defined | which DNS record takes precedence can either be defined | |||
| explicitly or may depend on the configuration of the | explicitly or depend on the configuration of the | |||
| resolver. | resolver. | |||
| Domain-name values use the US-ASCII encoding. Their canonical | Domain-name values use the US-ASCII encoding. Their canonical | |||
| format uses lowercase US-ASCII characters. Internationalized | format uses lowercase US-ASCII characters. Internationalized | |||
| domain names MUST be A-labels as per RFC 5890."; | domain names MUST be A-labels as per RFC 5890."; | |||
| reference | reference | |||
| "RFC 952: DoD Internet Host Table Specification | "RFC 952: DoD Internet Host Table Specification | |||
| RFC 1034: Domain Names - Concepts and Facilities | RFC 1034: Domain Names - Concepts and Facilities | |||
| RFC 1123: Requirements for Internet Hosts -- Application | RFC 1123: Requirements for Internet Hosts -- Application | |||
| and Support | and Support | |||
| RFC 2317: Classless IN-ADDR.ARPA delegation | RFC 2317: Classless IN-ADDR.ARPA delegation | |||
| RFC 2782: A DNS RR for specifying the location of services | RFC 2782: A DNS RR for specifying the location of services | |||
| (DNS SRV) | (DNS SRV) | |||
| RFC 4592: The Role of Wildcards in the Domain Name System | RFC 4592: The Role of Wildcards in the Domain Name System | |||
| RFC 5890: Internationalized Domain Names in Applications | RFC 5890: Internationalized Domain Names in Applications | |||
| (IDNA): Definitions and Document Framework | (IDNA): Definitions and Document Framework | |||
| RFC 9499: DNS Terminology"; | RFC 9499: DNS Terminology"; | |||
| } | } | |||
| typedef host-name { | typedef host-name { | |||
| type domain-name { | type domain-name { | |||
| length "2..max"; | length "2..max"; | |||
| pattern '[a-zA-Z0-9\-\.]+'; | pattern '[a-zA-Z0-9\-\.]+'; | |||
| } | } | |||
| description | description | |||
| "The host-name type represents (fully qualified) host names. | "The host-name type represents (fully qualified) host names. | |||
| Host names must be at least two characters long (see RFC 952) | Host names must be at least two characters long (see RFC 952), | |||
| and they are restricted to labels consisting of letters, digits | and they are restricted to labels consisting of letters, | |||
| and hyphens separated by dots (see RFC1123 and RFC 952)."; | digits, and hyphens separated by dots (see RFCs 1123 and | |||
| 952)."; | ||||
| reference | reference | |||
| "RFC 952: DoD Internet Host Table Specification | "RFC 952: DoD Internet Host Table Specification | |||
| RFC 1123: Requirements for Internet Hosts -- Application | RFC 1123: Requirements for Internet Hosts -- Application | |||
| and Support"; | and Support"; | |||
| } | } | |||
| typedef host { | typedef host { | |||
| type union { | type union { | |||
| type ip-address; | type ip-address; | |||
| type host-name; | type host-name; | |||
| } | } | |||
| description | description | |||
| "The host type represents either an IP address or a (fully | "The host type represents either an IP address or a (fully | |||
| qualified) host name."; | qualified) host name."; | |||
| } | } | |||
| typedef uri { | typedef uri { | |||
| type string { | type string { | |||
| pattern '[a-z][a-z0-9+.-]*:.*'; | pattern '[a-z][a-z0-9+.-]*:.*'; | |||
| } | } | |||
| description | description | |||
| "The uri type represents a Uniform Resource Identifier | "The uri type represents a Uniform Resource Identifier | |||
| (URI) as defined by the rule 'URI' in RFC 3986. | (URI) as defined by the rule 'URI' in RFC 3986. | |||
| Objects using the uri type MUST be in US-ASCII encoding, | Objects using the uri type MUST be in US-ASCII encoding | |||
| and MUST be normalized as described by RFC 3986 Sections | and MUST be normalized as described in Sections 6.2.1, | |||
| 6.2.1, 6.2.2.1, and 6.2.2.2. Characters that can be | 6.2.2.1, and 6.2.2.2 of RFC 3986. Characters that can be | |||
| represented without using percent-encoding are represented | represented without using percent-encoding are represented | |||
| as characters (without percent-encoding), and all | as characters (without percent-encoding), and all | |||
| case-insensitive characters are set to lowercase except | case-insensitive characters are set to lowercase except | |||
| for hexadecimal digits within a percent-encoded triplet, | for hexadecimal digits within a percent-encoded triplet, | |||
| which are normalized to uppercase as described in | which are normalized to uppercase as described in | |||
| Section 6.2.2.1 of RFC 3986. | Section 6.2.2.1 of RFC 3986. | |||
| The purpose of this normalization is to help provide | The purpose of this normalization is to help provide | |||
| unique URIs. Note that this normalization is not | unique URIs. Note that this normalization is not | |||
| sufficient to provide uniqueness. Two URIs that are | sufficient to provide uniqueness. Two URIs that are | |||
| textually distinct after this normalization may still be | textually distinct after this normalization may still be | |||
| equivalent. | equivalent. | |||
| Objects using the uri type may restrict the schemes that | Objects using the uri type may restrict the schemes that | |||
| they permit. For example, 'data:' and 'urn:' schemes | they permit. For example, 'data:' and 'urn:' schemes | |||
| might not be appropriate. | might not be appropriate. | |||
| A zero-length URI is not a valid URI. This can be used to | A zero-length URI is not a valid URI. This can be used to | |||
| express 'URI absent' where required. | express 'URI absent' where required. | |||
| In the value set and its semantics, this type is equivalent | In the value set and its semantics, this type is equivalent | |||
| to the Uri SMIv2 textual convention defined in RFC 5017."; | to the Uri SMIv2 textual convention defined in RFC 5017."; | |||
| reference | reference | |||
| "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax | "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax | |||
| RFC 3305: Report from the Joint W3C/IETF URI Planning Interest | RFC 3305: Report from the Joint W3C/IETF URI Planning Interest | |||
| Group: Uniform Resource Identifiers (URIs), URLs, | Group: Uniform Resource Identifiers (URIs), URLs, | |||
| and Uniform Resource Names (URNs): Clarifications | and Uniform Resource Names (URNs): Clarifications | |||
| and Recommendations | and Recommendations | |||
| RFC 5017: MIB Textual Conventions for Uniform Resource | RFC 5017: MIB Textual Conventions for Uniform Resource | |||
| Identifiers (URIs)"; | Identifiers (URIs)"; | |||
| } | } | |||
| typedef email-address { | typedef email-address { | |||
| type string { | type string { | |||
| pattern '.+@.+'; | pattern '.+@.+'; | |||
| } | } | |||
| description | description | |||
| "The email-address type represents an internationalized | "The email-address type represents an internationalized | |||
| email address. | email address. | |||
| The email address format is defined by the addr-spec | The email address format is defined by the addr-spec | |||
| ABNF rule in RFC 5322 section 3.4.1. This format has | ABNF rule in Section 3.4.1 of RFC 5322. This format has | |||
| been extended by RFC 6532 to support internationalized | been extended by RFC 6532 to support internationalized | |||
| email addresses. Implementations MUST support the | email addresses. Implementations MUST support the | |||
| internationalization extensions of RFC 6532. Support | internationalization extensions of RFC 6532. Support | |||
| of the obsolete obs-local-part, obs-domain, and | of the obsolete obs-local-part, obs-domain, and | |||
| obs-qtext parts of RFC 5322 is not required. | obs-qtext parts of RFC 5322 is not required. | |||
| The domain part may use both A-labels and U-labels | The domain part may use both A-labels and U-labels | |||
| (see RFC 5890). The canonical format of the domain part | (see RFC 5890). The canonical format of the domain part | |||
| uses lowercase characters and U-labels (RFC 5890) where | uses lowercase characters and U-labels (RFC 5890) where | |||
| applicable."; | applicable."; | |||
| reference | reference | |||
| "RFC 5322: Internet Message Format | "RFC 5322: Internet Message Format | |||
| RFC 5890: Internationalized Domain Names in Applications | RFC 5890: Internationalized Domain Names in Applications | |||
| (IDNA): Definitions and Document Framework | (IDNA): Definitions and Document Framework | |||
| RFC 6531: SMTP Extension for Internationalized Email"; | RFC 6531: SMTP Extension for Internationalized Email"; | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | ||||
| ]]></sourcecode> | ]]></sourcecode> | |||
| </section> | </section> | |||
| <section title="IANA Considerations"> | <section> | |||
| <name>IANA Considerations</name> | ||||
| <t>This document reuses the URIs for "ietf-yang-types" and | <t>This document reuses the URIs for "ietf-yang-types" and | |||
| "ietf-inet-types" in the "IETF XML Registry" <xref target="RFC3688"/>.</t> | "ietf-inet-types" in the "IETF XML Registry" <xref target="RFC3688"/>.</t> | |||
| <t>This document updates the module registration in the "YANG Module | <t>Per this document, IANA has updated the "YANG Module | |||
| Names" registry to reference this RFC instead of <xref target="RFC6991"/> for | Names" registry to reference this RFC instead of <xref target="RFC6991"/> for | |||
| "ietf-yang-types" and "ietf-inet-types". Following the format in | the "ietf-yang-types" and "ietf-inet-types" modules. Following the format in | |||
| <xref target="RFC6020"/>, the following has been registered.</t> | <xref target="RFC6020"/>, these registrations have been made.</t> | |||
| <artwork><![CDATA[ | ||||
| name: ietf-yang-types | <dl spacing="compact" newline="false"> | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-yang-types | <dt>Name:</dt><dd>ietf-yang-types</dd> | |||
| prefix: yang | <dt>Namespace:</dt><dd>urn:ietf:params:xml:ns:yang:ietf-yang-types</dd> | |||
| reference: RFC XXXX | <dt>Prefix:</dt><dd>yang</dd> | |||
| ]]></artwork> | <dt>Reference:</dt><dd>RFC 9911</dd> | |||
| <artwork><![CDATA[ | </dl> | |||
| name: ietf-inet-types | <dl spacing="compact" newline="false"> | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-inet-types | <dt>Name:</dt><dd>ietf-inet-types</dd> | |||
| prefix: inet | <dt>Namespace:</dt><dd>urn:ietf:params:xml:ns:yang:ietf-inet-types</dd> | |||
| reference: RFC XXXX | <dt>Prefix:</dt><dd>inet</dd> | |||
| ]]></artwork> | <dt>Reference:</dt><dd>RFC 9911</dd> | |||
| </dl> | ||||
| </section> | </section> | |||
| <section title="Security Considerations"> | <section> | |||
| <!-- [rfced] The Security Considerations section does not match the | ||||
| recommended text at https://wiki.ietf.org/group/ops/yang-security-guidelines. | ||||
| Please review and let us know if any updates are needed. | ||||
| --> | ||||
| <name>Security Considerations</name> | ||||
| <t>This document defines common data types using the YANG data modeling | <t>This document defines common data types using the YANG data modeling | |||
| language. The definitions themselves have no security impact on the | language. The definitions themselves have no security impact on the | |||
| Internet, but the usage of these definitions in concrete YANG modules | Internet, but the usage of these definitions in concrete YANG modules | |||
| might have. The security considerations spelled out in the YANG | might have. The security considerations spelled out in the YANG | |||
| specification <xref target="RFC7950"/> apply for this document as well.</t> | specification <xref target="RFC7950"/> apply for this document as well.</t> | |||
| </section> | </section> | |||
| <section title="Acknowledgments"> | ||||
| <t>The following people contributed significantly to the original version | ||||
| of this document published as <xref target="RFC6020"/>: Andy Bierman, Martin | ||||
| Bjorklund, Balazs Lengyel, David Partain and Phil Shafer.</t> | ||||
| <t>Helpful comments on various versions of this document were provided by | ||||
| the following individuals: Andy Bierman, Martin Bjorklund, Benoit | ||||
| Claise, Joel M. Halpern, Ladislav Lhotka, Lars-Johan Liman, and Dan | ||||
| Romascanu.</t> | ||||
| </section> | ||||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <references title="Normative References"> | <references> | |||
| <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119"> | ||||
| <front> | <!-- [rfced] Would you like the references to be alphabetized | |||
| <title>Key words for use in RFCs to Indicate Requirement Levels</title> | or left in their current order? | |||
| <author fullname="S. Bradner" initials="S." surname="Bradner"/> | --> | |||
| <date month="March" year="1997"/> | ||||
| <abstract> | <name>References</name> | |||
| <t>In many standards track documents several words are used to signify the | <references> | |||
| requirements in the specification. These words are often capitalized. This docu | <name>Normative References</name> | |||
| ment defines these words as they should be interpreted in IETF documents. This d | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml" | |||
| ocument specifies an Internet Best Current Practices for the Internet Community, | /> | |||
| and requests discussion and suggestions for improvements.</t> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3339.xml" | |||
| </abstract> | /> | |||
| </front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3688.xml" | |||
| <seriesInfo name="BCP" value="14"/> | /> | |||
| <seriesInfo name="RFC" value="2119"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3986.xml" | |||
| <seriesInfo name="DOI" value="10.17487/RFC2119"/> | /> | |||
| </reference> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4007.xml" | |||
| <reference anchor="RFC3339" target="https://www.rfc-editor.org/info/rfc3339"> | /> | |||
| <front> | ||||
| <title>Date and Time on the Internet: Timestamps</title> | <!-- [rfced] RFC 4122 has been obsoleted by RFC 9562. May we replace | |||
| <author fullname="G. Klyne" initials="G." surname="Klyne"/> | instances of RFC 4122 with RFC 9562? | |||
| <author fullname="C. Newman" initials="C." surname="Newman"/> | --> | |||
| <date month="July" year="2002"/> | ||||
| <abstract> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4122.xml" | |||
| <t>This document defines a date and time format for use in Internet protoc | /> | |||
| ols that is a profile of the ISO 8601 standard for representation of dates and t | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml" | |||
| imes using the Gregorian calendar.</t> | /> | |||
| </abstract> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6020.xml" | |||
| </front> | /> | |||
| <seriesInfo name="RFC" value="3339"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7950.xml" | |||
| <seriesInfo name="DOI" value="10.17487/RFC3339"/> | /> | |||
| </reference> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml" | |||
| <reference anchor="RFC3688" target="https://www.rfc-editor.org/info/rfc3688"> | /> | |||
| <front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8294.xml" | |||
| <title>The IETF XML Registry</title> | /> | |||
| <author fullname="M. Mealling" initials="M." surname="Mealling"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9499.xml" | |||
| <date month="January" year="2004"/> | /> | |||
| <abstract> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9557.xml" | |||
| <t>This document describes an IANA maintained registry for IETF standards | /> | |||
| which use Extensible Markup Language (XML) related items such as Namespaces, Doc | <reference anchor="XPATH" target="http://www.w3.org/TR/xpath-10"> | |||
| ument Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF | ||||
| ) Schemas.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="81"/> | ||||
| <seriesInfo name="RFC" value="3688"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3688"/> | ||||
| </reference> | ||||
| <reference anchor="RFC3986" target="https://www.rfc-editor.org/info/rfc3986"> | ||||
| <front> | ||||
| <title>Uniform Resource Identifier (URI): Generic Syntax</title> | ||||
| <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/> | ||||
| <author fullname="R. Fielding" initials="R." surname="Fielding"/> | ||||
| <author fullname="L. Masinter" initials="L." surname="Masinter"/> | ||||
| <date month="January" year="2005"/> | ||||
| <abstract> | ||||
| <t>A Uniform Resource Identifier (URI) is a compact sequence of characters | ||||
| that identifies an abstract or physical resource. This specification defines th | ||||
| e generic URI syntax and a process for resolving URI references that might be in | ||||
| relative form, along with guidelines and security considerations for the use of | ||||
| URIs on the Internet. The URI syntax defines a grammar that is a superset of al | ||||
| l valid URIs, allowing an implementation to parse the common components of a URI | ||||
| reference without knowing the scheme-specific requirements of every possible id | ||||
| entifier. This specification does not define a generative grammar for URIs; that | ||||
| task is performed by the individual specifications of each URI scheme. [STANDAR | ||||
| DS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="STD" value="66"/> | ||||
| <seriesInfo name="RFC" value="3986"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3986"/> | ||||
| </reference> | ||||
| <reference anchor="RFC4007" target="https://www.rfc-editor.org/info/rfc4007"> | ||||
| <front> | ||||
| <title>IPv6 Scoped Address Architecture</title> | ||||
| <author fullname="S. Deering" initials="S." surname="Deering"/> | ||||
| <author fullname="B. Haberman" initials="B." surname="Haberman"/> | ||||
| <author fullname="T. Jinmei" initials="T." surname="Jinmei"/> | ||||
| <author fullname="E. Nordmark" initials="E." surname="Nordmark"/> | ||||
| <author fullname="B. Zill" initials="B." surname="Zill"/> | ||||
| <date month="March" year="2005"/> | ||||
| <abstract> | ||||
| <t>This document specifies the architectural characteristics, expected beh | ||||
| avior, textual representation, and usage of IPv6 addresses of different scopes. | ||||
| According to a decision in the IPv6 working group, this document intentionally a | ||||
| voids the syntax and usage of unicast site-local addresses. [STANDARDS-TRACK]</t | ||||
| > | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4007"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4007"/> | ||||
| </reference> | ||||
| <reference anchor="RFC4122" target="https://www.rfc-editor.org/info/rfc4122"> | ||||
| <front> | ||||
| <title>A Universally Unique IDentifier (UUID) URN Namespace</title> | ||||
| <author fullname="P. Leach" initials="P." surname="Leach"/> | ||||
| <author fullname="M. Mealling" initials="M." surname="Mealling"/> | ||||
| <author fullname="R. Salz" initials="R." surname="Salz"/> | ||||
| <date month="July" year="2005"/> | ||||
| <abstract> | ||||
| <t>This specification defines a Uniform Resource Name namespace for UUIDs | ||||
| (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier | ||||
| ). A UUID is 128 bits long, and can guarantee uniqueness across space and time. | ||||
| UUIDs were originally used in the Apollo Network Computing System and later in t | ||||
| he Open Software Foundation\'s (OSF) Distributed Computing Environment (DCE), an | ||||
| d then in Microsoft Windows platforms.</t> | ||||
| <t>This specification is derived from the DCE specification with the kind | ||||
| permission of the OSF (now known as The Open Group). Information from earlier ve | ||||
| rsions of the DCE specification have been incorporated into this document. [STAN | ||||
| DARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4122"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4122"/> | ||||
| </reference> | ||||
| <reference anchor="RFC4291" target="https://www.rfc-editor.org/info/rfc4291"> | ||||
| <front> | ||||
| <title>IP Version 6 Addressing Architecture</title> | ||||
| <author fullname="R. Hinden" initials="R." surname="Hinden"/> | ||||
| <author fullname="S. Deering" initials="S." surname="Deering"/> | ||||
| <date month="February" year="2006"/> | ||||
| <abstract> | ||||
| <t>This specification defines the addressing architecture of the IP Versio | ||||
| n 6 (IPv6) protocol. The document includes the IPv6 addressing model, text repre | ||||
| sentations of IPv6 addresses, definition of IPv6 unicast addresses, anycast addr | ||||
| esses, and multicast addresses, and an IPv6 node's required addresses.</t> | ||||
| <t>This document obsoletes RFC 3513, "IP Version 6 Addressing Architecture | ||||
| ". [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4291"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4291"/> | ||||
| </reference> | ||||
| <reference anchor="RFC6020" target="https://www.rfc-editor.org/info/rfc6020"> | ||||
| <front> | ||||
| <title>YANG - A Data Modeling Language for the Network Configuration Protoco | ||||
| l (NETCONF)</title> | ||||
| <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklu | ||||
| nd"/> | ||||
| <date month="October" year="2010"/> | ||||
| <abstract> | ||||
| <t>YANG is a data modeling language used to model configuration and state | ||||
| data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote | ||||
| procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="6020"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC6020"/> | ||||
| </reference> | ||||
| <reference anchor="RFC7950" target="https://www.rfc-editor.org/info/rfc7950"> | ||||
| <front> | ||||
| <title>The YANG 1.1 Data Modeling Language</title> | ||||
| <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklu | ||||
| nd"/> | ||||
| <date month="August" year="2016"/> | ||||
| <abstract> | ||||
| <t>YANG is a data modeling language used to model configuration data, stat | ||||
| e data, Remote Procedure Calls, and notifications for network management protoco | ||||
| ls. This document describes the syntax and semantics of version 1.1 of the YANG | ||||
| language. YANG version 1.1 is a maintenance release of the YANG language, addres | ||||
| sing ambiguities and defects in the original specification. There are a small nu | ||||
| mber of backward incompatibilities from YANG version 1. This document also speci | ||||
| fies the YANG mappings to the Network Configuration Protocol (NETCONF).</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="7950"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC7950"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174"> | ||||
| <front> | ||||
| <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title> | ||||
| <author fullname="B. Leiba" initials="B." surname="Leiba"/> | ||||
| <date month="May" year="2017"/> | ||||
| <abstract> | ||||
| <t>RFC 2119 specifies common key words that may be used in protocol specif | ||||
| ications. This document aims to reduce the ambiguity by clarifying that only UPP | ||||
| ERCASE usage of the key words have the defined special meanings.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="14"/> | ||||
| <seriesInfo name="RFC" value="8174"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8174"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8294" target="https://www.rfc-editor.org/info/rfc8294"> | ||||
| <front> | ||||
| <title>Common YANG Data Types for the Routing Area</title> | ||||
| <author fullname="X. Liu" initials="X." surname="Liu"/> | ||||
| <author fullname="Y. Qu" initials="Y." surname="Qu"/> | ||||
| <author fullname="A. Lindem" initials="A." surname="Lindem"/> | ||||
| <author fullname="C. Hopps" initials="C." surname="Hopps"/> | ||||
| <author fullname="L. Berger" initials="L." surname="Berger"/> | ||||
| <date month="December" year="2017"/> | ||||
| <abstract> | ||||
| <t>This document defines a collection of common data types using the YANG | ||||
| data modeling language. These derived common types are designed to be imported b | ||||
| y other modules defined in the routing area.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8294"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8294"/> | ||||
| </reference> | ||||
| <reference anchor="RFC9499" target="https://www.rfc-editor.org/info/rfc9499"> | ||||
| <front> | ||||
| <title>DNS Terminology</title> | ||||
| <author fullname="P. Hoffman" initials="P." surname="Hoffman"/> | ||||
| <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/> | ||||
| <date month="March" year="2024"/> | ||||
| <abstract> | ||||
| <t>The Domain Name System (DNS) is defined in literally dozens of differen | ||||
| t RFCs. The terminology used by implementers and developers of DNS protocols, an | ||||
| d by operators of DNS systems, has changed in the decades since the DNS was firs | ||||
| t defined. This document gives current definitions for many of the terms used in | ||||
| the DNS in a single document.</t> | ||||
| <t>This document updates RFC 2308 by clarifying the definitions of "forwar | ||||
| der" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarificati | ||||
| ons. Comprehensive lists of changed and new definitions can be found in Appendic | ||||
| es A and B.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="219"/> | ||||
| <seriesInfo name="RFC" value="9499"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9499"/> | ||||
| </reference> | ||||
| <reference anchor="RFC9557" target="https://www.rfc-editor.org/info/rfc9557"> | ||||
| <front> | ||||
| <title>Date and Time on the Internet: Timestamps with Additional Information | ||||
| </title> | ||||
| <author fullname="U. Sharma" initials="U." surname="Sharma"/> | ||||
| <author fullname="C. Bormann" initials="C." surname="Bormann"/> | ||||
| <date month="April" year="2024"/> | ||||
| <abstract> | ||||
| <t>This document defines an extension to the timestamp format defined in R | ||||
| FC 3339 for representing additional information, including a time zone.</t> | ||||
| <t>It updates RFC 3339 in the specific interpretation of the local offset | ||||
| Z, which is no longer understood to "imply that UTC is the preferred reference p | ||||
| oint for the specified time".</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="9557"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9557"/> | ||||
| </reference> | ||||
| <reference anchor="W3C.xpath" target="http://www.w3.org/TR/xpath"> | ||||
| <front> | <front> | |||
| <title>XML Path Language (XPath) Version 1.0</title> | <title>XML Path Language (XPath) Version 1.0</title> | |||
| <author fullname="James Clark" initials="J." surname="Clark"> | <author fullname="James Clark" initials="J." surname="Clark" role="editor"> | |||
| <organization> | <organization> | |||
| </organization> | </organization> | |||
| </author> | </author> | |||
| <author fullname="Steve DeRose" initials="S." surname="DeRose"> | <author fullname="Steve DeRose" initials="S." surname="DeRose" role="editor" > | |||
| <organization> | <organization> | |||
| </organization> | </organization> | |||
| </author> | </author> | |||
| <date day="16" month="November" year="1999"/> | <date day="16" month="November" year="1999"/> | |||
| </front> | </front> | |||
| <seriesInfo name="W3C REC" value="xpath"/> | <refcontent>W3C Recommendation</refcontent> | |||
| <seriesInfo name="W3C Recommendation" value="xpath"/> | ||||
| <seriesInfo name="W3C" value="xpath"/> | ||||
| </reference> | </reference> | |||
| <reference anchor="W3C.xmlschema11-2" target="https://www.w3.org/TR/xmlschema11- 2/"> | <reference anchor="XSD-TYPES" target="https://www.w3.org/TR/xmlschema11-2/"> | |||
| <front> | <front> | |||
| <title>W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes</title > | <title>W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes</title > | |||
| <author/> | <author fullname="David Peterson" role="editor"/> | |||
| <author fullname="Shudi Gao" role="editor"/> | ||||
| <author fullname="Ashok Malhotra" role="editor"/> | ||||
| <author fullname="C.M. Sperberg-McQueen" role="editor"/> | ||||
| <author fullname="Henry S. Thompson" role="editor"/> | ||||
| <date day="5" month="April" year="2012"/> | ||||
| </front> | </front> | |||
| <seriesInfo name="W3C REC" value="xmlschema11-2"/> | <refcontent>W3C Recommendation</refcontent> | |||
| <seriesInfo name="W3C" value="xmlschema11-2"/> | ||||
| </reference> | </reference> | |||
| </references> | </references> | |||
| <references title="Informative References"> | <references> | |||
| <reference anchor="RFC0768" target="https://www.rfc-editor.org/info/rfc768"> | <name>Informative References</name> | |||
| <front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0768.xml" | |||
| <title>User Datagram Protocol</title> | /> | |||
| <author fullname="J. Postel" initials="J." surname="Postel"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0791.xml" | |||
| <date month="August" year="1980"/> | /> | |||
| </front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0952.xml" | |||
| <seriesInfo name="STD" value="6"/> | /> | |||
| <seriesInfo name="RFC" value="768"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1034.xml" | |||
| <seriesInfo name="DOI" value="10.17487/RFC0768"/> | /> | |||
| </reference> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1123.xml" | |||
| <reference anchor="RFC0791" target="https://www.rfc-editor.org/info/rfc791"> | /> | |||
| <front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1930.xml" | |||
| <title>Internet Protocol</title> | /> | |||
| <author fullname="J. Postel" initials="J." surname="Postel"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2317.xml" | |||
| <date month="September" year="1981"/> | /> | |||
| </front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2474.xml" | |||
| <seriesInfo name="STD" value="5"/> | /> | |||
| <seriesInfo name="RFC" value="791"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2578.xml" | |||
| <seriesInfo name="DOI" value="10.17487/RFC0791"/> | /> | |||
| </reference> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2579.xml" | |||
| <reference anchor="RFC0952" target="https://www.rfc-editor.org/info/rfc952"> | /> | |||
| <front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2780.xml" | |||
| <title>DoD Internet host table specification</title> | /> | |||
| <author fullname="K. Harrenstien" initials="K." surname="Harrenstien"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2782.xml" | |||
| <author fullname="M.K. Stahl" initials="M.K." surname="Stahl"/> | /> | |||
| <author fullname="E.J. Feinler" initials="E.J." surname="Feinler"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2856.xml" | |||
| <date month="October" year="1985"/> | /> | |||
| <abstract> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3289.xml" | |||
| <t>This RFC is the official specification of the format of the Internet Ho | /> | |||
| st Table. This edition of the specification includes minor revisions to RFC-810 | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3305.xml" | |||
| which brings it up to date.</t> | /> | |||
| </abstract> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3595.xml" | |||
| </front> | /> | |||
| <seriesInfo name="RFC" value="952"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3927.xml" | |||
| <seriesInfo name="DOI" value="10.17487/RFC0952"/> | /> | |||
| </reference> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4001.xml" | |||
| <reference anchor="RFC1034" target="https://www.rfc-editor.org/info/rfc1034"> | /> | |||
| <front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml" | |||
| <title>Domain names - concepts and facilities</title> | /> | |||
| <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4340.xml" | |||
| <date month="November" year="1987"/> | /> | |||
| <abstract> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4502.xml" | |||
| <t>This RFC is the revised basic definition of The Domain Name System. It | /> | |||
| obsoletes RFC-882. This memo describes the domain style names and their used for | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4592.xml" | |||
| host address look up and electronic mail forwarding. It discusses the clients a | /> | |||
| nd servers in the domain name system and the protocol used between them.</t> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5017.xml" | |||
| </abstract> | /> | |||
| </front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5131.xml" | |||
| <seriesInfo name="STD" value="13"/> | /> | |||
| <seriesInfo name="RFC" value="1034"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5322.xml" | |||
| <seriesInfo name="DOI" value="10.17487/RFC1034"/> | /> | |||
| </reference> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5646.xml" | |||
| <reference anchor="RFC1123" target="https://www.rfc-editor.org/info/rfc1123"> | /> | |||
| <front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5890.xml" | |||
| <title>Requirements for Internet Hosts - Application and Support</title> | /> | |||
| <author fullname="R. Braden" initials="R." role="editor" surname="Braden"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5952.xml" | |||
| <date month="October" year="1989"/> | /> | |||
| <abstract> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6021.xml" | |||
| <t>This RFC is an official specification for the Internet community. It in | /> | |||
| corporates by reference, amends, corrects, and supplements the primary protocol | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6241.xml" | |||
| standards documents relating to hosts. [STANDARDS-TRACK]</t> | /> | |||
| </abstract> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6793.xml" | |||
| </front> | /> | |||
| <seriesInfo name="STD" value="3"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6991.xml" | |||
| <seriesInfo name="RFC" value="1123"/> | /> | |||
| <seriesInfo name="DOI" value="10.17487/RFC1123"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8200.xml" | |||
| </reference> | /> | |||
| <reference anchor="RFC1930" target="https://www.rfc-editor.org/info/rfc1930"> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9260.xml" | |||
| <front> | /> | |||
| <title>Guidelines for creation, selection, and registration of an Autonomous | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9293.xml" | |||
| System (AS)</title> | /> | |||
| <author fullname="J. Hawkinson" initials="J." surname="Hawkinson"/> | ||||
| <author fullname="T. Bates" initials="T." surname="Bates"/> | <!-- [rfced] This reference has been withdrawn (see | |||
| <date month="March" year="1996"/> | https://www.iso.org/standard/51424.html). It has been replaced by ISO/IEC | |||
| <abstract> | 9834-1:2012 (see https://www.iso.org/standard/58055.html). | |||
| <t>This memo discusses when it is appropriate to register and utilize an A | ||||
| utonomous System (AS), and lists criteria for such. This document specifies an I | May we update this reference to the most current version? | |||
| nternet Best Current Practices for the Internet Community, and requests discussi | ||||
| on and suggestions for improvements.</t> | Original: | |||
| </abstract> | [ISO-9834-1] | |||
| </front> | ISO/IEC 9834-1:2008, "Information technology - Open | |||
| <seriesInfo name="BCP" value="6"/> | Systems Interconnection - Procedures for the operation of | |||
| <seriesInfo name="RFC" value="1930"/> | OSI Registration Authorities: General procedures and top | |||
| <seriesInfo name="DOI" value="10.17487/RFC1930"/> | arcs of the ASN.1 Object Identifier tree", 2008. | |||
| </reference> | --> | |||
| <reference anchor="RFC2317" target="https://www.rfc-editor.org/info/rfc2317"> | ||||
| <front> | <reference anchor="ISO-9834-1" target="https://www.iso.org/standard/51424.html"> | |||
| <title>Classless IN-ADDR.ARPA delegation</title> | ||||
| <author fullname="H. Eidnes" initials="H." surname="Eidnes"/> | ||||
| <author fullname="G. de Groot" initials="G." surname="de Groot"/> | ||||
| <author fullname="P. Vixie" initials="P." surname="Vixie"/> | ||||
| <date month="March" year="1998"/> | ||||
| <abstract> | ||||
| <t>This document describes a way to do IN-ADDR.ARPA delegation on non-octe | ||||
| t boundaries for address spaces covering fewer than 256 addresses. This document | ||||
| specifies an Internet Best Current Practices for the Internet Community, and re | ||||
| quests discussion and suggestions for improvements.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="20"/> | ||||
| <seriesInfo name="RFC" value="2317"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2317"/> | ||||
| </reference> | ||||
| <reference anchor="RFC2474" target="https://www.rfc-editor.org/info/rfc2474"> | ||||
| <front> | ||||
| <title>Definition of the Differentiated Services Field (DS Field) in the IPv | ||||
| 4 and IPv6 Headers</title> | ||||
| <author fullname="K. Nichols" initials="K." surname="Nichols"/> | ||||
| <author fullname="S. Blake" initials="S." surname="Blake"/> | ||||
| <author fullname="F. Baker" initials="F." surname="Baker"/> | ||||
| <author fullname="D. Black" initials="D." surname="Black"/> | ||||
| <date month="December" year="1998"/> | ||||
| <abstract> | ||||
| <t>This document defines the IP header field, called the DS (for different | ||||
| iated services) field. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="2474"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2474"/> | ||||
| </reference> | ||||
| <reference anchor="RFC2578" target="https://www.rfc-editor.org/info/rfc2578"> | ||||
| <front> | ||||
| <title>Structure of Management Information Version 2 (SMIv2)</title> | ||||
| <author fullname="K. McCloghrie" initials="K." role="editor" surname="McClog | ||||
| hrie"/> | ||||
| <author fullname="D. Perkins" initials="D." role="editor" surname="Perkins"/ | ||||
| > | ||||
| <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Sch | ||||
| oenwaelder"/> | ||||
| <date month="April" year="1999"/> | ||||
| <abstract> | ||||
| <t>It is the purpose of this document, the Structure of Management Informa | ||||
| tion Version 2 (SMIv2), to define that adapted subset, and to assign a set of as | ||||
| sociated administrative values. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="STD" value="58"/> | ||||
| <seriesInfo name="RFC" value="2578"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2578"/> | ||||
| </reference> | ||||
| <reference anchor="RFC2579" target="https://www.rfc-editor.org/info/rfc2579"> | ||||
| <front> | ||||
| <title>Textual Conventions for SMIv2</title> | ||||
| <author fullname="K. McCloghrie" initials="K." role="editor" surname="McClog | ||||
| hrie"/> | ||||
| <author fullname="D. Perkins" initials="D." role="editor" surname="Perkins"/ | ||||
| > | ||||
| <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Sch | ||||
| oenwaelder"/> | ||||
| <date month="April" year="1999"/> | ||||
| <abstract> | ||||
| <t>It is the purpose of this document to define the initial set of textual | ||||
| conventions available to all MIB modules. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="STD" value="58"/> | ||||
| <seriesInfo name="RFC" value="2579"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2579"/> | ||||
| </reference> | ||||
| <reference anchor="RFC2780" target="https://www.rfc-editor.org/info/rfc2780"> | ||||
| <front> | ||||
| <title>IANA Allocation Guidelines For Values In the Internet Protocol and Re | ||||
| lated Headers</title> | ||||
| <author fullname="S. Bradner" initials="S." surname="Bradner"/> | ||||
| <author fullname="V. Paxson" initials="V." surname="Paxson"/> | ||||
| <date month="March" year="2000"/> | ||||
| <abstract> | ||||
| <t>This memo provides guidance for the IANA to use in assigning parameters | ||||
| for fields in the IPv4, IPv6, ICMP, UDP and TCP protocol headers. This document | ||||
| specifies an Internet Best Current Practices for the Internet Community, and re | ||||
| quests discussion and suggestions for improvements.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="37"/> | ||||
| <seriesInfo name="RFC" value="2780"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2780"/> | ||||
| </reference> | ||||
| <reference anchor="RFC2782" target="https://www.rfc-editor.org/info/rfc2782"> | ||||
| <front> | ||||
| <title>A DNS RR for specifying the location of services (DNS SRV)</title> | ||||
| <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/> | ||||
| <author fullname="P. Vixie" initials="P." surname="Vixie"/> | ||||
| <author fullname="L. Esibov" initials="L." surname="Esibov"/> | ||||
| <date month="February" year="2000"/> | ||||
| <abstract> | ||||
| <t>This document describes a DNS RR which specifies the location of the se | ||||
| rver(s) for a specific protocol and domain. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="2782"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2782"/> | ||||
| </reference> | ||||
| <reference anchor="RFC2856" target="https://www.rfc-editor.org/info/rfc2856"> | ||||
| <front> | ||||
| <title>Textual Conventions for Additional High Capacity Data Types</title> | ||||
| <author fullname="A. Bierman" initials="A." surname="Bierman"/> | ||||
| <author fullname="K. McCloghrie" initials="K." surname="McCloghrie"/> | ||||
| <author fullname="R. Presuhn" initials="R." surname="Presuhn"/> | ||||
| <date month="June" year="2000"/> | ||||
| <abstract> | ||||
| <t>This memo specifies new textual conventions for additional high capacit | ||||
| y data types, intended for SNMP implementations which already support the Counte | ||||
| r64 data type. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="2856"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2856"/> | ||||
| </reference> | ||||
| <reference anchor="RFC3289" target="https://www.rfc-editor.org/info/rfc3289"> | ||||
| <front> | ||||
| <title>Management Information Base for the Differentiated Services Architect | ||||
| ure</title> | ||||
| <author fullname="F. Baker" initials="F." surname="Baker"/> | ||||
| <author fullname="K. Chan" initials="K." surname="Chan"/> | ||||
| <author fullname="A. Smith" initials="A." surname="Smith"/> | ||||
| <date month="May" year="2002"/> | ||||
| <abstract> | ||||
| <t>This memo describes an SMIv2 (Structure of Management Information versi | ||||
| on 2) MIB for a device implementing the Differentiated Services Architecture. It | ||||
| may be used both for monitoring and configuration of a router or switch capable | ||||
| of Differentiated Services functionality. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="3289"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3289"/> | ||||
| </reference> | ||||
| <reference anchor="RFC3305" target="https://www.rfc-editor.org/info/rfc3305"> | ||||
| <front> | ||||
| <title>Report from the Joint W3C/IETF URI Planning Interest Group: Uniform R | ||||
| esource Identifiers (URIs), URLs, and Uniform Resource Names (URNs): Clarificati | ||||
| ons and Recommendations</title> | ||||
| <author fullname="M. Mealling" initials="M." role="editor" surname="Mealling | ||||
| "/> | ||||
| <author fullname="R. Denenberg" initials="R." role="editor" surname="Denenbe | ||||
| rg"/> | ||||
| <date month="August" year="2002"/> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="3305"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3305"/> | ||||
| </reference> | ||||
| <reference anchor="RFC3595" target="https://www.rfc-editor.org/info/rfc3595"> | ||||
| <front> | ||||
| <title>Textual Conventions for IPv6 Flow Label</title> | ||||
| <author fullname="B. Wijnen" initials="B." surname="Wijnen"/> | ||||
| <date month="September" year="2003"/> | ||||
| <abstract> | ||||
| <t>This MIB module defines textual conventions to represent the commonly u | ||||
| sed IPv6 Flow Label. The intent is that these textual conventions (TCs) will be | ||||
| imported and used in MIB modules that would otherwise define their own represent | ||||
| ations. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="3595"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3595"/> | ||||
| </reference> | ||||
| <reference anchor="RFC3927" target="https://www.rfc-editor.org/info/rfc3927"> | ||||
| <front> | ||||
| <title>Dynamic Configuration of IPv4 Link-Local Addresses</title> | ||||
| <author fullname="S. Cheshire" initials="S." surname="Cheshire"/> | ||||
| <author fullname="B. Aboba" initials="B." surname="Aboba"/> | ||||
| <author fullname="E. Guttman" initials="E." surname="Guttman"/> | ||||
| <date month="May" year="2005"/> | ||||
| <abstract> | ||||
| <t>To participate in wide-area IP networking, a host needs to be configure | ||||
| d with IP addresses for its interfaces, either manually by the user or automatic | ||||
| ally from a source on the network such as a Dynamic Host Configuration Protocol | ||||
| (DHCP) server. Unfortunately, such address configuration information may not alw | ||||
| ays be available. It is therefore beneficial for a host to be able to depend on | ||||
| a useful subset of IP networking functions even when no address configuration is | ||||
| available. This document describes how a host may automatically configure an in | ||||
| terface with an IPv4 address within the 169.254/16 prefix that is valid for comm | ||||
| unication with other devices connected to the same physical (or logical) link.</ | ||||
| t> | ||||
| <t>IPv4 Link-Local addresses are not suitable for communication with devic | ||||
| es not directly connected to the same physical (or logical) link, and are only u | ||||
| sed where stable, routable addresses are not available (such as on ad hoc or iso | ||||
| lated networks). This document does not recommend that IPv4 Link-Local addresses | ||||
| and routable addresses be configured simultaneously on the same interface. [STA | ||||
| NDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="3927"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3927"/> | ||||
| </reference> | ||||
| <reference anchor="RFC4001" target="https://www.rfc-editor.org/info/rfc4001"> | ||||
| <front> | ||||
| <title>Textual Conventions for Internet Network Addresses</title> | ||||
| <author fullname="M. Daniele" initials="M." surname="Daniele"/> | ||||
| <author fullname="B. Haberman" initials="B." surname="Haberman"/> | ||||
| <author fullname="S. Routhier" initials="S." surname="Routhier"/> | ||||
| <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/> | ||||
| <date month="February" year="2005"/> | ||||
| <abstract> | ||||
| <t>This MIB module defines textual conventions to represent commonly used | ||||
| Internet network layer addressing information. The intent is that these textual | ||||
| conventions will be imported and used in MIB modules that would otherwise define | ||||
| their own representations. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4001"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4001"/> | ||||
| </reference> | ||||
| <reference anchor="RFC4271" target="https://www.rfc-editor.org/info/rfc4271"> | ||||
| <front> | ||||
| <title>A Border Gateway Protocol 4 (BGP-4)</title> | ||||
| <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/ | ||||
| > | ||||
| <author fullname="T. Li" initials="T." role="editor" surname="Li"/> | ||||
| <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/> | ||||
| <date month="January" year="2006"/> | ||||
| <abstract> | ||||
| <t>This document discusses the Border Gateway Protocol (BGP), which is an | ||||
| inter-Autonomous System routing protocol.</t> | ||||
| <t>The primary function of a BGP speaking system is to exchange network re | ||||
| achability information with other BGP systems. This network reachability informa | ||||
| tion includes information on the list of Autonomous Systems (ASes) that reachabi | ||||
| lity information traverses. This information is sufficient for constructing a gr | ||||
| aph of AS connectivity for this reachability from which routing loops may be pru | ||||
| ned, and, at the AS level, some policy decisions may be enforced.</t> | ||||
| <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domai | ||||
| n Routing (CIDR). These mechanisms include support for advertising a set of dest | ||||
| inations as an IP prefix, and eliminating the concept of network "class" within | ||||
| BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, includin | ||||
| g aggregation of AS paths.</t> | ||||
| <t>This document obsoletes RFC 1771. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4271"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4271"/> | ||||
| </reference> | ||||
| <reference anchor="RFC4340" target="https://www.rfc-editor.org/info/rfc4340"> | ||||
| <front> | ||||
| <title>Datagram Congestion Control Protocol (DCCP)</title> | ||||
| <author fullname="E. Kohler" initials="E." surname="Kohler"/> | ||||
| <author fullname="M. Handley" initials="M." surname="Handley"/> | ||||
| <author fullname="S. Floyd" initials="S." surname="Floyd"/> | ||||
| <date month="March" year="2006"/> | ||||
| <abstract> | ||||
| <t>The Datagram Congestion Control Protocol (DCCP) is a transport protocol | ||||
| that provides bidirectional unicast connections of congestion-controlled unreli | ||||
| able datagrams. DCCP is suitable for applications that transfer fairly large amo | ||||
| unts of data and that can benefit from control over the tradeoff between timelin | ||||
| ess and reliability. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4340"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4340"/> | ||||
| </reference> | ||||
| <reference anchor="RFC4502" target="https://www.rfc-editor.org/info/rfc4502"> | ||||
| <front> | ||||
| <title>Remote Network Monitoring Management Information Base Version 2</titl | ||||
| e> | ||||
| <author fullname="S. Waldbusser" initials="S." surname="Waldbusser"/> | ||||
| <date month="May" year="2006"/> | ||||
| <abstract> | ||||
| <t>This document defines a portion of the Management Information Base (MIB | ||||
| ) for use with network management protocols in TCP/IP-based internets. In partic | ||||
| ular, it defines objects for managing remote network monitoring devices.</t> | ||||
| <t>This document obsoletes RFC 2021, updates RFC 3273, and contains a new | ||||
| version of the RMON2-MIB module. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4502"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4502"/> | ||||
| </reference> | ||||
| <reference anchor="RFC4592" target="https://www.rfc-editor.org/info/rfc4592"> | ||||
| <front> | ||||
| <title>The Role of Wildcards in the Domain Name System</title> | ||||
| <author fullname="E. Lewis" initials="E." surname="Lewis"/> | ||||
| <date month="July" year="2006"/> | ||||
| <abstract> | ||||
| <t>This is an update to the wildcard definition of RFC 1034. The interacti | ||||
| on with wildcards and CNAME is changed, an error condition is removed, and the w | ||||
| ords defining some concepts central to wildcards are changed. The overall goal i | ||||
| s not to change wildcards, but to refine the definition of RFC 1034. [STANDARDS- | ||||
| TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4592"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4592"/> | ||||
| </reference> | ||||
| <reference anchor="RFC5017" target="https://www.rfc-editor.org/info/rfc5017"> | ||||
| <front> | ||||
| <title>MIB Textual Conventions for Uniform Resource Identifiers (URIs)</titl | ||||
| e> | ||||
| <author fullname="D. McWalter" initials="D." role="editor" surname="McWalter | ||||
| "/> | ||||
| <date month="September" year="2007"/> | ||||
| <abstract> | ||||
| <t>This MIB module defines textual conventions to represent STD 66 Uniform | ||||
| Resource Identifiers (URIs). The intent is that these textual conventions will | ||||
| be imported and used in MIB modules that would otherwise define their own repres | ||||
| entation(s). [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5017"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5017"/> | ||||
| </reference> | ||||
| <reference anchor="RFC5131" target="https://www.rfc-editor.org/info/rfc5131"> | ||||
| <front> | ||||
| <title>A MIB Textual Convention for Language Tags</title> | ||||
| <author fullname="D. McWalter" initials="D." role="editor" surname="McWalter | ||||
| "/> | ||||
| <date month="December" year="2007"/> | ||||
| <abstract> | ||||
| <t>This MIB module defines a textual convention to represent BCP 47 langua | ||||
| ge tags. The intent is that this textual convention will be imported and used in | ||||
| MIB modules that would otherwise define their own representation. [STANDARDS-TR | ||||
| ACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5131"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5131"/> | ||||
| </reference> | ||||
| <reference anchor="RFC5322" target="https://www.rfc-editor.org/info/rfc5322"> | ||||
| <front> | ||||
| <title>Internet Message Format</title> | ||||
| <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick"/ | ||||
| > | ||||
| <date month="October" year="2008"/> | ||||
| <abstract> | ||||
| <t>This document specifies the Internet Message Format (IMF), a syntax for | ||||
| text messages that are sent between computer users, within the framework of "el | ||||
| ectronic mail" messages. This specification is a revision of Request For Comment | ||||
| s (RFC) 2822, which itself superseded Request For Comments (RFC) 822, "Standard | ||||
| for the Format of ARPA Internet Text Messages", updating it to reflect current p | ||||
| ractice and incorporating incremental changes that were specified in other RFCs. | ||||
| [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5322"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5322"/> | ||||
| </reference> | ||||
| <reference anchor="RFC5646" target="https://www.rfc-editor.org/info/rfc5646"> | ||||
| <front> | ||||
| <title>Tags for Identifying Languages</title> | ||||
| <author fullname="A. Phillips" initials="A." role="editor" surname="Phillips | ||||
| "/> | ||||
| <author fullname="M. Davis" initials="M." role="editor" surname="Davis"/> | ||||
| <date month="September" year="2009"/> | ||||
| <abstract> | ||||
| <t>This document describes the structure, content, construction, and seman | ||||
| tics of language tags for use in cases where it is desirable to indicate the lan | ||||
| guage used in an information object. It also describes how to register values fo | ||||
| r use in language tags and the creation of user-defined extensions for private i | ||||
| nterchange. This document specifies an Internet Best Current Practices for the I | ||||
| nternet Community, and requests discussion and suggestions for improvements.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="47"/> | ||||
| <seriesInfo name="RFC" value="5646"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5646"/> | ||||
| </reference> | ||||
| <reference anchor="RFC5890" target="https://www.rfc-editor.org/info/rfc5890"> | ||||
| <front> | ||||
| <title>Internationalized Domain Names for Applications (IDNA): Definitions a | ||||
| nd Document Framework</title> | ||||
| <author fullname="J. Klensin" initials="J." surname="Klensin"/> | ||||
| <date month="August" year="2010"/> | ||||
| <abstract> | ||||
| <t>This document is one of a collection that, together, describe the proto | ||||
| col and usage context for a revision of Internationalized Domain Names for Appli | ||||
| cations (IDNA), superseding the earlier version. It describes the document colle | ||||
| ction and provides definitions and other material that are common to the set. [S | ||||
| TANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5890"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5890"/> | ||||
| </reference> | ||||
| <reference anchor="RFC5952" target="https://www.rfc-editor.org/info/rfc5952"> | ||||
| <front> | ||||
| <title>A Recommendation for IPv6 Address Text Representation</title> | ||||
| <author fullname="S. Kawamura" initials="S." surname="Kawamura"/> | ||||
| <author fullname="M. Kawashima" initials="M." surname="Kawashima"/> | ||||
| <date month="August" year="2010"/> | ||||
| <abstract> | ||||
| <t>As IPv6 deployment increases, there will be a dramatic increase in the | ||||
| need to use IPv6 addresses in text. While the IPv6 address architecture in Secti | ||||
| on 2.2 of RFC 4291 describes a flexible model for text representation of an IPv6 | ||||
| address, this flexibility has been causing problems for operators, system engin | ||||
| eers, and users. This document defines a canonical textual representation format | ||||
| . It does not define a format for internal storage, such as within an applicatio | ||||
| n or database. It is expected that the canonical format will be followed by huma | ||||
| ns and systems when representing IPv6 addresses as text, but all implementations | ||||
| must accept and be able to handle any legitimate RFC 4291 format. [STANDARDS-TR | ||||
| ACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5952"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5952"/> | ||||
| </reference> | ||||
| <reference anchor="RFC6021" target="https://www.rfc-editor.org/info/rfc6021"> | ||||
| <front> | ||||
| <title>Common YANG Data Types</title> | ||||
| <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Sch | ||||
| oenwaelder"/> | ||||
| <date month="October" year="2010"/> | ||||
| <abstract> | ||||
| <t>This document introduces a collection of common data types to be used w | ||||
| ith the YANG data modeling language. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="6021"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC6021"/> | ||||
| </reference> | ||||
| <reference anchor="RFC6241" target="https://www.rfc-editor.org/info/rfc6241"> | ||||
| <front> | ||||
| <title>Network Configuration Protocol (NETCONF)</title> | ||||
| <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/> | ||||
| <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklu | ||||
| nd"/> | ||||
| <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Sch | ||||
| oenwaelder"/> | ||||
| <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/ | ||||
| > | ||||
| <date month="June" year="2011"/> | ||||
| <abstract> | ||||
| <t>The Network Configuration Protocol (NETCONF) defined in this document p | ||||
| rovides mechanisms to install, manipulate, and delete the configuration of netwo | ||||
| rk devices. It uses an Extensible Markup Language (XML)-based data encoding for | ||||
| the configuration data as well as the protocol messages. The NETCONF protocol op | ||||
| erations are realized as remote procedure calls (RPCs). This document obsoletes | ||||
| RFC 4741. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="6241"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC6241"/> | ||||
| </reference> | ||||
| <reference anchor="RFC6793" target="https://www.rfc-editor.org/info/rfc6793"> | ||||
| <front> | ||||
| <title>BGP Support for Four-Octet Autonomous System (AS) Number Space</title | ||||
| > | ||||
| <author fullname="Q. Vohra" initials="Q." surname="Vohra"/> | ||||
| <author fullname="E. Chen" initials="E." surname="Chen"/> | ||||
| <date month="December" year="2012"/> | ||||
| <abstract> | ||||
| <t>The Autonomous System number is encoded as a two-octet entity in the ba | ||||
| se BGP specification. This document describes extensions to BGP to carry the Aut | ||||
| onomous System numbers as four-octet entities. This document obsoletes RFC 4893 | ||||
| and updates RFC 4271. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="6793"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC6793"/> | ||||
| </reference> | ||||
| <reference anchor="RFC6991" target="https://www.rfc-editor.org/info/rfc6991"> | ||||
| <front> | <front> | |||
| <title>Common YANG Data Types</title> | <title>Information technology -- Open Systems Interconnection -- Procedures | |||
| <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Sch | for the operation of OSI Registration Authorities: General procedures and top ar | |||
| oenwaelder"/> | cs of the International Object Identifier tree</title> | |||
| <date month="July" year="2013"/> | <author><organization>ISO/IEC</organization></author> | |||
| <abstract> | <date year="2008"/> | |||
| <t>This document introduces a collection of common data types to be used w | ||||
| ith the YANG data modeling language. This document obsoletes RFC 6021.</t> | ||||
| </abstract> | ||||
| </front> | </front> | |||
| <seriesInfo name="RFC" value="6991"/> | <seriesInfo name="ISO/IEC" value="9834-1:2008"/> | |||
| <seriesInfo name="DOI" value="10.17487/RFC6991"/> | ||||
| </reference> | </reference> | |||
| <reference anchor="RFC8200" target="https://www.rfc-editor.org/info/rfc8200"> | ||||
| <!-- [rfced] This reference has been superseded (see | ||||
| (https://ieeexplore.ieee.org/document/984782/versions). The new version | ||||
| is IEEE Std 802-2024 (see https://ieeexplore.ieee.org/document/10935844). | ||||
| May we update this reference to the most current version? | ||||
| Original: | ||||
| [IEEE-802-2001] | ||||
| IEEE Std 802-2001, "IEEE Standard for Local and | ||||
| Metropolitan Area Networks: Overview and Architecture", | ||||
| June 2001. | ||||
| --> | ||||
| <reference anchor="IEEE-802-2001"> | ||||
| <front> | <front> | |||
| <title>Internet Protocol, Version 6 (IPv6) Specification</title> | <title>IEEE Standard for Local and Metropolitan Area Networks: Overview and | |||
| <author fullname="S. Deering" initials="S." surname="Deering"/> | Architecture</title> | |||
| <author fullname="R. Hinden" initials="R." surname="Hinden"/> | <author> | |||
| <date month="July" year="2017"/> | <organization>IEEE</organization> | |||
| <abstract> | </author> | |||
| <t>This document specifies version 6 of the Internet Protocol (IPv6). It o | <date month="2" year="2002"/> | |||
| bsoletes RFC 2460.</t> | ||||
| </abstract> | ||||
| </front> | </front> | |||
| <seriesInfo name="STD" value="86"/> | <seriesInfo name="IEEE Std" value="802-2001"/> | |||
| <seriesInfo name="RFC" value="8200"/> | <seriesInfo name="DOI" value="10.1109/IEEESTD.2002.93395"/> | |||
| <seriesInfo name="DOI" value="10.17487/RFC8200"/> | ||||
| </reference> | </reference> | |||
| <reference anchor="RFC9260" target="https://www.rfc-editor.org/info/rfc9260"> | ||||
| <reference anchor="Err4076" quote-title="false" target="https://www.rfc-editor.o | ||||
| rg/errata/eid4076"> | ||||
| <front> | <front> | |||
| <title>Stream Control Transmission Protocol</title> | <title>Erratum ID 4076</title> | |||
| <author fullname="R. Stewart" initials="R." surname="Stewart"/> | <author> | |||
| <author fullname="M. Tüxen" initials="M." surname="Tüxen"/> | <organization>RFC Errata</organization> | |||
| <author fullname="K. Nielsen" initials="K." surname="Nielsen"/> | </author> | |||
| <date month="June" year="2022"/> | <date/> | |||
| <abstract> | </front> | |||
| <t>This document describes the Stream Control Transmission Protocol (SCTP) | <refcontent>RFC 6991</refcontent> | |||
| and obsoletes RFC 4960. It incorporates the specification of the chunk flags re | ||||
| gistry from RFC 6096 and the specification of the I bit of DATA chunks from RFC | ||||
| 7053. Therefore, RFCs 6096 and 7053 are also obsoleted by this document. In addi | ||||
| tion, RFCs 4460 and 8540, which describe errata for SCTP, are obsoleted by this | ||||
| document.</t> | ||||
| <t>SCTP was originally designed to transport Public Switched Telephone Net | ||||
| work (PSTN) signaling messages over IP networks. It is also suited to be used fo | ||||
| r other applications, for example, WebRTC.</t> | ||||
| <t>SCTP is a reliable transport protocol operating on top of a connectionl | ||||
| ess packet network, such as IP. It offers the following services to its users:</ | ||||
| t> | ||||
| <t>The design of SCTP includes appropriate congestion avoidance behavior a | ||||
| nd resistance to flooding and masquerade attacks.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="9260"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9260"/> | ||||
| </reference> | </reference> | |||
| <reference anchor="RFC9293" target="https://www.rfc-editor.org/info/rfc9293"> | <reference anchor="Err5105" quote-title="false" target="https://www.rfc-editor.o rg/errata/eid5105"> | |||
| <front> | <front> | |||
| <title>Transmission Control Protocol (TCP)</title> | <title>Erratum ID 5105</title> | |||
| <author fullname="W. Eddy" initials="W." role="editor" surname="Eddy"/> | <author> | |||
| <date month="August" year="2022"/> | <organization>RFC Errata</organization> | |||
| <abstract> | </author> | |||
| <t>This document specifies the Transmission Control Protocol (TCP). TCP is | <date/> | |||
| an important transport-layer protocol in the Internet protocol stack, and it ha | ||||
| s continuously evolved over decades of use and growth of the Internet. Over this | ||||
| time, a number of changes have been made to TCP as it was specified in RFC 793, | ||||
| though these have only been documented in a piecemeal fashion. This document co | ||||
| llects and brings those changes together with the protocol specification from RF | ||||
| C 793. This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093, 6429, 6 | ||||
| 528, and 6691 that updated parts of RFC 793. It updates RFCs 1011 and 1122, and | ||||
| it should be considered as a replacement for the portions of those documents dea | ||||
| ling with TCP requirements. It also updates RFC 5961 by adding a small clarifica | ||||
| tion in reset handling while in the SYN-RECEIVED state. The TCP header control b | ||||
| its from RFC 793 have also been updated based on RFC 3168.</t> | ||||
| </abstract> | ||||
| </front> | </front> | |||
| <seriesInfo name="STD" value="7"/> | <refcontent>RFC 6991</refcontent> | |||
| <seriesInfo name="RFC" value="9293"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9293"/> | ||||
| </reference> | ||||
| <reference anchor="ISO-9834-1"> | ||||
| <front> | ||||
| <title>Information technology -- Open Systems Interconnection -- Procedures for | ||||
| the operation of OSI Registration Authorities: General procedures and top arcs o | ||||
| f the ASN.1 Object Identifier tree</title> | ||||
| <author><organization>ISO/IEC 9834-1:2008</organization></author> | ||||
| <date year="2008"/> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="IEEE-802-2001"> | ||||
| <front> | ||||
| <title>IEEE Standard for Local and Metropolitan Area Networks: Overview and Arch | ||||
| itecture</title> | ||||
| <author><organization>IEEE Std 802-2001</organization></author> | ||||
| <date month="6" year="2001"/> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="ERR4076"> | ||||
| <front> | ||||
| <title>RFC Errata, Erratum 4076, RFC 6991</title> | ||||
| <author><organization/></author> | ||||
| <date/> | ||||
| </front><refcontent><https://www.rfc-editor.org/errata/eid4076></refconten | ||||
| t> | ||||
| </reference> | ||||
| <reference anchor="ERR5105"> | ||||
| <front> | ||||
| <title>RFC Errata, Erratum 5105, RFC 6991</title> | ||||
| <author><organization/></author> | ||||
| <date/> | ||||
| </front><refcontent><https://www.rfc-editor.org/errata/eid5105></refconten | ||||
| t> | ||||
| </reference> | </reference> | |||
| </references> | </references> | |||
| </references> | ||||
| <section numbered="false"> | ||||
| <name>Acknowledgments</name> | ||||
| <!-- [rfced] We updated "[RFC6020]" here to "[RFC6021]". Please confirm that | ||||
| this is correct. | ||||
| Original: | ||||
| The following people contributed significantly to the original | ||||
| version of this document published as [RFC6020]: Andy Bierman, Martin | ||||
| Bjorklund, Balazs Lengyel, David Partain and Phil Shafer. | ||||
| Perhaps: | ||||
| The following people contributed significantly to the original | ||||
| version of this document, which was published as [RFC6021]: Andy | ||||
| Bierman, Martin Bjorklund, Balazs Lengyel, David Partain, and Phil Shafer. | ||||
| --> | ||||
| <t>The following people contributed significantly to the original version | ||||
| of this document, which was published as <xref target="RFC6021"/>: <contact full | ||||
| name="Andy Bierman"/>, <contact fullname="Martin | ||||
| Björklund"/>, <contact fullname="Balazs Lengyel"/>, <contact fullname="David Par | ||||
| tain"/>, and <contact fullname="Phil Shafer"/>.</t> | ||||
| <!-- [rfced] Does "various versions of this document" refer to (1) the draft | ||||
| versions of draft-ietf-netmod-rfc6991-bis or (2) RFCs 6021 and 6991? | ||||
| Original: | ||||
| Helpful comments on various versions of this document were provided | ||||
| by the following individuals: Andy Bierman, Martin Bjorklund, Benoit | ||||
| Claise, Joel M. Halpern, Ladislav Lhotka, Lars-Johan Liman, and Dan | ||||
| Romascanu. | ||||
| Perhaps (if draft versions): | ||||
| Helpful comments on various draft versions of this document were provided | ||||
| by the following individuals: Andy Bierman, Martin Björklund, Benoît | ||||
| Claise, Joel M. Halpern, Ladislav Lhotka, Lars-Johan Liman, and Dan | ||||
| Romascanu. | ||||
| --> | ||||
| <t>Helpful comments on various versions of this document were provided by | ||||
| the following individuals: <contact fullname="Andy Bierman"/>, <contact fullname | ||||
| ="Martin Björklund"/>, <contact fullname="Benoît | ||||
| Claise"/>, <contact fullname="Joel M. Halpern"/>, <contact fullname="Ladislav Lh | ||||
| otka"/>, <contact fullname="Lars-Johan Liman"/>, and <contact fullname="Dan | ||||
| Romascanu"/>.</t> | ||||
| </section> | ||||
| <!-- [rfced] Terminology | ||||
| a) We note inconsistencies in the terms below throughout the text. Should | ||||
| these be uniform? If so, please let us know which form is preferred. | ||||
| local time reference point | ||||
| local time zone reference point | ||||
| AS number space | ||||
| autonomous system number space | ||||
| b) Is "NULL" correct here? Or should it be updated to "null"? | ||||
| Original: | ||||
| Since the encoding consists of labels | ||||
| prefixed by a length bytes and there is a trailing NULL | ||||
| byte, only 253 characters can appear in the textual dotted | ||||
| notation. | ||||
| c) The RPC has been advised that "ASCII" should be used instead of | ||||
| "US-ASCII". May we change instances of "US-ASCII" in the description | ||||
| clauses below to "ASCII"? | ||||
| Original: | ||||
| Domain-name values use the US-ASCII encoding. Their canonical | ||||
| format uses lowercase US-ASCII characters. | ||||
| ... | ||||
| Objects using the uri type MUST be in US-ASCII encoding, | ||||
| Perhaps: | ||||
| Domain-name values use the ASCII encoding. Their canonical | ||||
| format uses lowercase ASCII characters. | ||||
| ... | ||||
| Objects using the uri type MUST be in ASCII encoding, | ||||
| d) Should some instances of "Internet protocol" be updated to | ||||
| "Internet Protocol" (capitalized)? Please review whether instances | ||||
| are referring to IP, rather than Internet protocols in general. | ||||
| e) FYI, we added a hyphen to "range restricted" (9 instances). | ||||
| Please let us know if you prefer otherwise. For example: | ||||
| Original: | ||||
| This type should be range restricted in situations | ||||
| where only non-negative time periods are desirable, ... | ||||
| Current: | ||||
| This type should be range-restricted in situations | ||||
| where only non-negative time periods are desirable, ... | ||||
| --> | ||||
| <!-- [rfced] FYI - We have added expansion(s) for the following | ||||
| abbreviation(s) per Section 3.6 of RFC 7322 ("RFC Style Guide"). Please | ||||
| review each expansion in the document carefully to ensure correctness. | ||||
| Media Access Control (MAC) | ||||
| --> | ||||
| <!-- [rfced] Please review the "Inclusive Language" portion of the online | ||||
| Style Guide <https://www.rfc-editor.org/styleguide/part2/#inclusive_language> | ||||
| and let us know if any changes are needed. Updates of this nature typically | ||||
| result in more precise language, which is helpful for readers. | ||||
| Note that our script did not flag any words in particular, but this should | ||||
| still be reviewed as a best practice. | ||||
| --> | ||||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 296 change blocks. | ||||
| 1798 lines changed or deleted | 1531 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||