2. Überblick
Die folgenden Tabellen behalten die ursprünglichen YANG-Kennungen und Basistypen bei. Sie führen die in den Modulen ietf-yang-types und ietf-inet-types definierten Typen sowie den jeweiligen Basistyp und die RFC auf, durch die der Typ eingeführt wurde.
+=======================+===================+===============+
| Type | Base Type | Introduced in |
+=======================+===================+===============+
| counter32 | uint32 | RFC 6021 |
+-----------------------+-------------------+---------------+
| zero-based-counter32 | uint32 | RFC 6021 |
+-----------------------+-------------------+---------------+
| counter64 | uint64 | RFC 6021 |
+-----------------------+-------------------+---------------+
| zero-based-counter64 | uint64 | RFC 6021 |
+-----------------------+-------------------+---------------+
| gauge32 | uint32 | RFC 6021 |
+-----------------------+-------------------+---------------+
| gauge64 | uint64 | RFC 6021 |
+-----------------------+-------------------+---------------+
| object-identifier | string | RFC 6021 |
+-----------------------+-------------------+---------------+
| object-identifier-128 | object-identifier | RFC 6021 |
+-----------------------+-------------------+---------------+
| date-and-time | string | RFC 6021 |
+-----------------------+-------------------+---------------+
| date | string | RFC 9911 |
+-----------------------+-------------------+---------------+
| date-no-zone | string | RFC 9911 |
+-----------------------+-------------------+---------------+
| time | string | RFC 9911 |
+-----------------------+-------------------+---------------+
| time-no-zone | string | RFC 9911 |
+-----------------------+-------------------+---------------+
| hours32 | int32 | RFC 9911 |
+-----------------------+-------------------+---------------+
| minutes32 | int32 | RFC 9911 |
+-----------------------+-------------------+---------------+
| seconds32 | int32 | RFC 9911 |
+-----------------------+-------------------+---------------+
| centiseconds32 | int32 | RFC 9911 |
+-----------------------+-------------------+---------------+
| milliseconds32 | int32 | RFC 9911 |
+-----------------------+-------------------+---------------+
| microseconds32 | int32 | RFC 9911 |
+-----------------------+-------------------+---------------+
| microseconds64 | int64 | RFC 9911 |
+-----------------------+-------------------+---------------+
| nanoseconds32 | int32 | RFC 9911 |
+-----------------------+-------------------+---------------+
| nanoseconds64 | int64 | RFC 9911 |
+-----------------------+-------------------+---------------+
| timeticks | int32 | RFC 6021 |
+-----------------------+-------------------+---------------+
| timestamp | timeticks | RFC 6021 |
+-----------------------+-------------------+---------------+
| phys-address | string | RFC 6021 |
+-----------------------+-------------------+---------------+
| mac-address | string | RFC 6021 |
+-----------------------+-------------------+---------------+
| xpath1.0 | string | RFC 6021 |
+-----------------------+-------------------+---------------+
| hex-string | string | RFC 6991 |
+-----------------------+-------------------+---------------+
| uuid | string | RFC 6991 |
+-----------------------+-------------------+---------------+
| dotted-quad | string | RFC 6991 |
+-----------------------+-------------------+---------------+
| language-tag | string | RFC 9911 |
+-----------------------+-------------------+---------------+
| yang-identifier | string | RFC 6991 |
+-----------------------+-------------------+---------------+
Tabelle 1: Im Modul "ietf-yang-types" definierte Typen
+=============================+=================+===============+
| Type | Base Type | Introduced in |
+=============================+=================+===============+
| ip-version | enum | RFC 6021 |
+-----------------------------+-----------------+---------------+
| dscp | uint8 | RFC 6021 |
+-----------------------------+-----------------+---------------+
| ipv6-flow-label | uint32 | RFC 6021 |
+-----------------------------+-----------------+---------------+
| port-number | uint16 | RFC 6021 |
+-----------------------------+-----------------+---------------+
| protocol-number | uint8 | RFC 9911 |
+-----------------------------+-----------------+---------------+
| upper-layer-protocol-number | protocol-number | RFC 9911 |
+-----------------------------+-----------------+---------------+
| as-number | uint32 | RFC 6021 |
+-----------------------------+-----------------+---------------+
| ip-address | union | RFC 6021 |
+-----------------------------+-----------------+---------------+
| ipv4-address | string | RFC 6021 |
+-----------------------------+-----------------+---------------+
| ipv6-address | string | RFC 6021 |
+-----------------------------+-----------------+---------------+
| ip-address-no-zone | union | RFC 6991 |
+-----------------------------+-----------------+---------------+
| ipv4-address-no-zone | ipv4-address | RFC 6991 |
+-----------------------------+-----------------+---------------+
| ipv6-address-no-zone | ipv6-address | RFC 6991 |
+-----------------------------+-----------------+---------------+
| ip-address-link-local | union | RFC 9911 |
+-----------------------------+-----------------+---------------+
| ipv4-address-link-local | ipv4-address | RFC 9911 |
+-----------------------------+-----------------+---------------+
| ipv6-address-link-local | ipv6-address | RFC 9911 |
+-----------------------------+-----------------+---------------+
| ip-prefix | union | RFC 6021 |
+-----------------------------+-----------------+---------------+
| ipv4-prefix | string | RFC 6021 |
+-----------------------------+-----------------+---------------+
| ipv6-prefix | string | RFC 6021 |
+-----------------------------+-----------------+---------------+
| ip-address-and-prefix | union | RFC 9911 |
+-----------------------------+-----------------+---------------+
| ipv4-address-and-prefix | string | RFC 9911 |
+-----------------------------+-----------------+---------------+
| ipv6-address-and-prefix | string | RFC 9911 |
+-----------------------------+-----------------+---------------+
| domain-name | string | RFC 6021 |
+-----------------------------+-----------------+---------------+
| host-name | domain-name | RFC 9911 |
+-----------------------------+-----------------+---------------+
| host | union | RFC 6021 |
+-----------------------------+-----------------+---------------+
| uri | string | RFC 6021 |
+-----------------------------+-----------------+---------------+
| email-address | string | RFC 9911 |
+-----------------------------+-----------------+---------------+
Tabelle 2: Im Modul "ietf-inet-types" definierte Typen
Einige Typen besitzen einen entsprechenden Datentyp aus Structure of
Management Information Version 2 (SMIv2) [RFC2578] [RFC2579]. Ein
YANG-Datentyp ist einem SMIv2-Datentyp gleichwertig, wenn beide die
gleiche Wertemenge und gleichwertige Semantik besitzen.
Tabelle 3 führt die Typen des YANG-Moduls "ietf-yang-types" mit ihren
entsprechenden SMIv2-Typen auf; Tabelle 4 tut dies für das Modul
"ietf-inet-types".
+=======================+================================+
| YANG type | Equivalent SMIv2 type (module) |
+=======================+================================+
| counter32 | Counter32 (SNMPv2-SMI) |
+-----------------------+--------------------------------+
| zero-based-counter32 | ZeroBasedCounter32 (RMON2-MIB) |
+-----------------------+--------------------------------+
| counter64 | Counter64 (SNMPv2-SMI) |
+-----------------------+--------------------------------+
| zero-based-counter64 | ZeroBasedCounter64 (HCNUM-TC) |
+-----------------------+--------------------------------+
| gauge32 | Gauge32 (SNMPv2-SMI) |
+-----------------------+--------------------------------+
| gauge64 | CounterBasedGauge64 (HCNUM-TC) |
+-----------------------+--------------------------------+
| object-identifier-128 | OBJECT IDENTIFIER |
+-----------------------+--------------------------------+
| centiseconds32 | TimeInterval (SNMPv2-TC) |
+-----------------------+--------------------------------+
| timeticks | TimeTicks (SNMPv2-SMI) |
+-----------------------+--------------------------------+
| timestamp | TimeStamp (SNMPv2-TC) |
+-----------------------+--------------------------------+
| phys-address | PhysAddress (SNMPv2-TC) |
+-----------------------+--------------------------------+
| mac-address | MacAddress (SNMPv2-TC) |
+-----------------------+--------------------------------+
| language-tag | LangTag (LANGTAG-TC-MIB) |
+-----------------------+--------------------------------+
Tabelle 3: Entsprechende SMIv2-Typen für das Modul
"ietf-yang-types"
+=================+===============================================+
| YANG type | Equivalent SMIv2 type (module) |
+=================+===============================================+
| ip-version | InetVersion (INET-ADDRESS-MIB) |
+-----------------+-----------------------------------------------+
| dscp | Dscp (DIFFSERV-DSCP-TC) |
+-----------------+-----------------------------------------------+
| ipv6-flow-label | IPv6FlowLabel (IPV6-FLOW-LABEL-MIB) |
+-----------------+-----------------------------------------------+
| port-number | InetPortNumber (INET-ADDRESS-MIB) |
+-----------------+-----------------------------------------------+
| as-number | InetAutonomousSystemNumber (INET-ADDRESS-MIB) |
+-----------------+-----------------------------------------------+
| uri | Uri (URI-TC-MIB) |
+-----------------+-----------------------------------------------+
Tabelle 4: Entsprechende SMIv2-Typen für das Modul "ietf-inet-types"