Skip to main content

2. Overview

This section preserves the RFC text for common YANG data types, including YANG modules, typedefs, patterns, ranges, units, revision statements, namespaces, IANA registry updates, and normative requirements.

Original RFC Text​

2.  Overview

   Tables 1 and 2 list the types defined in the YANG modules "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
   is listed.

       +=======================+===================+===============+
       | 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      |
       +-----------------------+-------------------+---------------+

           Table 1: Types Defined in the "ietf-yang-types" Module

     +=============================+=================+===============+
     | 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      |
     +-----------------------------+-----------------+---------------+

           Table 2: Types Defined in the "ietf-inet-types" Module

   Some types have an equivalent Structure of Management Information
   Version 2 (SMIv2) [RFC2578] [RFC2579] data type.  A YANG data type is
   equivalent to an SMIv2 data type if the data types have the same set
   of values and the semantics of the values are equivalent.

   Table 3 lists the types defined in the "ietf-yang-types" YANG module
   with their corresponding SMIv2 types, and Table 4 lists the types
   defined in the "ietf-inet-types" module with their corresponding
   SMIv2 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)       |
        +-----------------------+--------------------------------+

           Table 3: Equivalent SMIv2 Types for the "ietf-yang-
                              types" Module

    +=================+===============================================+
    | 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)                              |
    +-----------------+-----------------------------------------------+

      Table 4: Equivalent SMIv2 Types for the "ietf-inet-types" Module