netconfcentral logo

openconfig-types

HTML

openconfig-types@2017-08-16



  module openconfig-types {

    yang-version 1;

    namespace
      "http://openconfig.net/yang/openconfig-types";

    prefix oc-types;

    import openconfig-extensions {
      prefix oc-ext;
    }

    organization "OpenConfig working group";

    contact
      "OpenConfig working group
    netopenconfig@googlegroups.com";

    description
      "This module contains a set of general type definitions that
    are used across OpenConfig models. It can be imported by modules
    that make use of these types.";

    revision "2017-08-16" {
      description
        "Apply fix for ieetfloat32 length parameter";
      reference
        "0.3.3";

    }

    revision "2017-01-13" {
      description
        "Add ADDRESS_FAMILY identity";
      reference
        "0.3.2";

    }

    revision "2016-11-14" {
      description
        "Correct length of ieeefloat32";
      reference
        "0.3.1";

    }

    revision "2016-11-11" {
      description
        "Additional types - ieeefloat32 and routing-password";
      reference
        "0.3.0";

    }

    revision "2016-05-31" {
      description
        "OpenConfig public release";
      reference
        "0.2.0";

    }

    oc-ext:openconfig-version "0.3.3";

    typedef percentage {
      type uint8 {
        range "0..100";
      }
      description
        "Integer indicating a percentage value";
    }

    typedef std-regexp {
      type string;
      description
        "This type definition is a placeholder for a standard
      definition of a regular expression that can be utilised in
      OpenConfig models. Further discussion is required to
      consider the type of regular expressions that are to be
      supported. An initial proposal is POSIX compatible.";
    }

    typedef timeticks64 {
      type uint64;
      description
        "This type is based on the timeticks type defined in
     RFC 6991, but with 64-bit width.  It represents the time,
     modulo 2^64, in hundredths of a second between two epochs.";
      reference
        "RFC 6991 - Common YANG Data Types";

    }

    typedef ieeefloat32 {
      type binary {
        length "4";
      }
      description
        "An IEEE 32-bit floating point number. The format of this number
      is of the form:
        1-bit  sign
        8-bit  exponent
        23-bit fraction
      The floating point value is calculated using:
        (-1)**S * 2**(Exponent-127) * (1+Fraction)";
    }

    typedef routing-password {
      type string;
      description
        "This type is indicative of a password that is used within
      a routing protocol which can be returned in plain text to the
      NMS by the local system. Such passwords are typically stored
      as encrypted strings. Since the encryption used is generally
      well known, it is possible to extract the original value from
      the string - and hence this format is not considered secure.
      Leaves specified with this type should not be modified by
      the system, and should be returned to the end-user in plain
      text. This type exists to differentiate passwords, which
      may be sensitive, from other string leaves. It could, for
      example, be used by the NMS to censor this data when
      viewed by particular users.";
    }

    grouping avg-min-max-stats-precision1 {
      description
        "Common nodes for recording average, minimum, and
      maximum values for a statistic.  These values all have
      fraction-digits set to 1.";
      leaf avg {
        type decimal64 {
          fraction-digits 1;
        }
        description
          "The arithmetic mean value of the statistic over the
        sampling period.";
      }

      leaf min {
        type decimal64 {
          fraction-digits 1;
        }
        description
          "The minimum value of the statistic over the sampling
        period";
      }

      leaf max {
        type decimal64 {
          fraction-digits 1;
        }
        description
          "The maximum value of the statitic over the sampling
        period";
      }
    }  // grouping avg-min-max-stats-precision1

    grouping avg-min-max-instant-stats-precision1 {
      description
        "Common grouping for recording an instantaneous statistic value
      in addition to avg-min-max stats";
      leaf instant {
        type decimal64 {
          fraction-digits 1;
        }
        description
          "The instantaneous value of the statistic.";
      }

      uses avg-min-max-stats-precision1;
    }  // grouping avg-min-max-instant-stats-precision1

    grouping avg-min-max-instant-stats-precision2-dB {
      description
        "Common grouping for recording dB values with 2 decimal
      precision. Values include the instantaneous, average,
      minimum, and maximum statistics";
      leaf instant {
        type decimal64 {
          fraction-digits 2;
        }
        units "dB";
        description
          "The instantaneous value of the statistic.";
      }

      leaf avg {
        type decimal64 {
          fraction-digits 2;
        }
        units "dB";
        description
          "The arithmetic mean value of the statistic over the
        sampling period.";
      }

      leaf min {
        type decimal64 {
          fraction-digits 2;
        }
        units "dB";
        description
          "The minimum value of the statistic over the sampling
        period";
      }

      leaf max {
        type decimal64 {
          fraction-digits 2;
        }
        units "dB";
        description
          "The maximum value of the statistic over the sampling
        period";
      }
    }  // grouping avg-min-max-instant-stats-precision2-dB

    grouping avg-min-max-instant-stats-precision2-dBm {
      description
        "Common grouping for recording dBm values with 2 decimal
      precision. Values include the instantaneous, average,
      minimum, and maximum statistics";
      leaf instant {
        type decimal64 {
          fraction-digits 2;
        }
        units "dBm";
        description
          "The instantaneous value of the statistic.";
      }

      leaf avg {
        type decimal64 {
          fraction-digits 2;
        }
        units "dBm";
        description
          "The arithmetic mean value of the statistic over the
        sampling period.";
      }

      leaf min {
        type decimal64 {
          fraction-digits 2;
        }
        units "dBm";
        description
          "The minimum value of the statistic over the sampling
        period";
      }

      leaf max {
        type decimal64 {
          fraction-digits 2;
        }
        units "dBm";
        description
          "The maximum value of the statistic over the sampling
        period";
      }
    }  // grouping avg-min-max-instant-stats-precision2-dBm

    grouping avg-min-max-instant-stats-precision2-mA {
      description
        "Common grouping for recording mA values with 2 decimal
      precision. Values include the instantaneous, average,
      minimum, and maximum statistics";
      leaf instant {
        type decimal64 {
          fraction-digits 2;
        }
        units "mA";
        description
          "The instantaneous value of the statistic.";
      }

      leaf avg {
        type decimal64 {
          fraction-digits 2;
        }
        units "mA";
        description
          "The arithmetic mean value of the statistic over the
        sampling period.";
      }

      leaf min {
        type decimal64 {
          fraction-digits 2;
        }
        units "mA";
        description
          "The minimum value of the statistic over the sampling
        period";
      }

      leaf max {
        type decimal64 {
          fraction-digits 2;
        }
        units "mA";
        description
          "The maximum value of the statistic over the sampling
        period";
      }
    }  // grouping avg-min-max-instant-stats-precision2-mA

    identity ADDRESS_FAMILY {
      base 
      description
        "A base identity for all address families";
    }

    identity IPV4 {
      base ADDRESS_FAMILY;
      description "The IPv4 address family";
    }

    identity IPV6 {
      base ADDRESS_FAMILY;
      description "The IPv6 address family";
    }

    identity MPLS {
      base ADDRESS_FAMILY;
      description "The MPLS address family";
    }

    identity L2_ETHERNET {
      base ADDRESS_FAMILY;
      description
        "The 802.3 Ethernet address family";
    }
  }  // module openconfig-types

Summary

  
  
Organization OpenConfig working group
  
Module openconfig-types
Version 2017-08-16
File openconfig-types.yang
  
Prefix oc-types
Namespace http://openconfig.net/yang/openconfig-types
  
Cooked /cookedmodules/openconfig-types/2017-08-16
YANG /src/openconfig-types@2017-08-16.yang
XSD /xsd/openconfig-types@2017-08-16.xsd
  
Abstract This module contains a set of general type definitions that are used across OpenConfig models. It can be imported by modules tha...
  
Contact
OpenConfig working group
netopenconfig@googlegroups.com

Description

 
This module contains a set of general type definitions that
are used across OpenConfig models. It can be imported by modules
that make use of these types.

Typedefs

Typedef Base type Abstract
ieeefloat32 binary An IEEE 32-bit floating point number. The format of this number is of the form: 1-bit sign 8-bit exponent 23-bit fraction The floating point value is calculated using: (-1)**S * 2**(Exponent-127) * (1+Fraction)
percentage uint8 Integer indicating a percentage value
routing-password string This type is indicative of a password that is used within a routing protocol which can be returned in plain text to the NMS by the local system. Such passwords are typically stored as encrypted strings. Since the encryption used is generally well known, i...
std-regexp string This type definition is a placeholder for a standard definition of a regular expression that can be utilised in OpenConfig models. Further discussion is required to consider the type of regular expressions that are to be supported. An initial proposal is ...
timeticks64 uint64 This type is based on the timeticks type defined in RFC 6991, but with 64-bit width. It represents the time, modulo 2^64, in hundredths of a second between two epochs.

Groupings

Grouping Objects Abstract
avg-min-max-instant-stats-precision1 instant avg min max Common grouping for recording an instantaneous statistic value in addition to avg-min-max stats
avg-min-max-instant-stats-precision2-dB instant avg min max Common grouping for recording dB values with 2 decimal precision. Values include the instantaneous, average, minimum, and maximum statistics
avg-min-max-instant-stats-precision2-dBm instant avg min max Common grouping for recording dBm values with 2 decimal precision. Values include the instantaneous, average, minimum, and maximum statistics
avg-min-max-instant-stats-precision2-mA instant avg min max Common grouping for recording mA values with 2 decimal precision. Values include the instantaneous, average, minimum, and maximum statistics
avg-min-max-stats-precision1 avg min max Common nodes for recording average, minimum, and maximum values for a statistic. These values all have fraction-digits set to 1.