Inital yang modules for O-RAN-SC 46/2746/1
authordemx8as6 <martin.skorupski@highstreet-technologies.com>
Wed, 11 Mar 2020 11:35:02 +0000 (12:35 +0100)
committerdemx8as6 <martin.skorupski@highstreet-technologies.com>
Wed, 11 Mar 2020 11:35:48 +0000 (12:35 +0100)
Several common and component specific yang modules created. The sysmbolic links in each component specific folder indicate a dependency to a common yang modules.
The template folder could be used to create new
specific yang modules for new components/functions.

Issue-ID: OAM-58
Change-Id: I01f278e25f6dc1e2e20fe6d5923ceca32b640c3f
Signed-off-by: demx8as6 <martin.skorupski@highstreet-technologies.com>
84 files changed:
data-model/draft/README.md [deleted file]
data-model/draft/iana-hardware@2018-03-13.yang [deleted file]
data-model/draft/ietf-hardware@2018-03-13.yang [deleted file]
data-model/draft/ietf-inet-types@2013-07-15.yang [deleted file]
data-model/draft/ietf-interfaces@2018-02-20.yang [deleted file]
data-model/draft/ietf-yang-types@2013-07-15.yang [deleted file]
data-model/released/README.md [deleted file]
data-model/yang/README.md [new file with mode: 0644]
data-model/yang/published/ietf/ietf-alarms.yang [moved from data-model/draft/ietf-alarms@2019-09-11.yang with 100% similarity]
data-model/yang/sim/README.md [new file with mode: 0644]
data-model/yang/working/o-ran-sc/near-rt-ric/ietf-alarms.yang [new symlink]
data-model/yang/working/o-ran-sc/near-rt-ric/ietf-hardware.yang [new symlink]
data-model/yang/working/o-ran-sc/near-rt-ric/ietf-interfaces.yang [new symlink]
data-model/yang/working/o-ran-sc/near-rt-ric/ietf-yang-types.yang [new symlink]
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-alarms-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-common-alarms-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-hardware-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-interfaces-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-alarms-v1.yang [new file with mode: 0644]
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-gnb-status-v1.yang [moved from data-model/draft/o-ran-sc-ric-gnb-status-v1.yang with 100% similarity, mode: 0644]
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-ueec-config-v1.yang [moved from data-model/draft/o-ran-sc-ric-ueec-config-v1.yang with 100% similarity, mode: 0644]
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-xapp-desc-v1.yang [moved from data-model/draft/o-ran-sc-ric-xapp-desc-v1.yang with 100% similarity, mode: 0644]
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-root-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-types-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-cp/ietf-alarms.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-cp/ietf-hardware.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-cp/ietf-interfaces.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-cp/ietf-yang-types.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-alarms-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-common-alarms-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-alarms-v1.yang [new file with mode: 0644]
data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-v1.yang [new file with mode: 0644]
data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-hardware-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-interfaces-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-root-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-types-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-up/ietf-alarms.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-up/ietf-hardware.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-up/ietf-interfaces.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-up/ietf-yang-types.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-alarms-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-common-alarms-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-alarms-v1.yang [new file with mode: 0644]
data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-v1.yang [new file with mode: 0644]
data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-hardware-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-interfaces-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-root-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-types-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-du/ietf-alarms.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-du/ietf-hardware.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-du/ietf-interfaces.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-du/ietf-yang-types.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-alarms-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-common-alarms-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-alarms-v1.yang [new file with mode: 0644]
data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-v1.yang [new file with mode: 0644]
data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-hardware-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-interfaces-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-root-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-types-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-ru/ietf-alarms.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-ru/ietf-hardware.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-ru/ietf-interfaces.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-ru/ietf-yang-types.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-alarms-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-common-alarms-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-hardware-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-interfaces-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-root-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-alarms-v1.yang [new file with mode: 0644]
data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-v1.yang [new file with mode: 0644]
data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-types-v1.yang [new symlink]
data-model/yang/working/o-ran-sc/template/README.md [new file with mode: 0644]
data-model/yang/working/o-ran-sc/template/ietf-alarms.yang [new symlink]
data-model/yang/working/o-ran-sc/template/ietf-hardware.yang [new symlink]
data-model/yang/working/o-ran-sc/template/ietf-interfaces.yang [new symlink]
data-model/yang/working/o-ran-sc/template/ietf-yang-types.yang [new symlink]
data-model/yang/working/o-ran-sc/template/o-ran-sc-TEMPLATE-v1.yang [moved from data-model/draft/o-ran-sc-TEMPLATE-v1.yang with 100% similarity]
data-model/yang/working/o-ran-sc/template/o-ran-sc-alarms-v1.yang [moved from data-model/draft/o-ran-sc-alarms-v1.yang with 100% similarity]
data-model/yang/working/o-ran-sc/template/o-ran-sc-common-alarms-v1.yang [new file with mode: 0644]
data-model/yang/working/o-ran-sc/template/o-ran-sc-hardware-v1.yang [moved from data-model/draft/o-ran-sc-hardware-v1.yang with 100% similarity]
data-model/yang/working/o-ran-sc/template/o-ran-sc-interfaces-v1.yang [moved from data-model/draft/o-ran-sc-interfaces-v1.yang with 100% similarity]
data-model/yang/working/o-ran-sc/template/o-ran-sc-root-v1.yang [moved from data-model/draft/o-ran-sc-root-v1.yang with 100% similarity]
data-model/yang/working/o-ran-sc/template/o-ran-sc-types-v1.yang [moved from data-model/draft/o-ran-sc-types-v1.yang with 100% similarity]

diff --git a/data-model/draft/README.md b/data-model/draft/README.md
deleted file mode 100644 (file)
index ef4bf9a..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# Data models under discussion and development
-
-A directory to share ideas for data model development and to experiment with 
-the new model artifacts. 
-
-Please use pyang to validate the proposed yang modules and to generate 
-the yang tree.
-
-```
-pyang -f tree -o all-in-one.tree *.yang
-```
-
-Note: The yang module "o-ran-sc-TEMPLATE-v1.yang" should be used as templated 
-for project specific configuration management.
\ No newline at end of file
diff --git a/data-model/draft/iana-hardware@2018-03-13.yang b/data-model/draft/iana-hardware@2018-03-13.yang
deleted file mode 100644 (file)
index 5cd5264..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-module iana-hardware {
-  yang-version 1.1;
-  namespace "urn:ietf:params:xml:ns:yang:iana-hardware";
-  prefix ianahw;
-
-  organization "IANA";
-  contact
-    "        Internet Assigned Numbers Authority
-
-     Postal: ICANN
-             12025 Waterfront Drive, Suite 300
-             Los Angeles, CA  90094-2536
-             United States of America
-
-     Tel:    +1 310 301 5800
-     E-Mail: iana@iana.org>";
-
-  description
-    "IANA-defined identities for hardware class.
-
-     The latest revision of this YANG module can be obtained from
-     the IANA website.
-
-     Requests for new values should be made to IANA via
-     email (iana@iana.org).
-
-     Copyright (c) 2018 IETF Trust and the persons identified as
-     authors of the code.  All rights reserved.
-
-     Redistribution and use in source and binary forms, with or
-     without modification, is permitted pursuant to, and subject
-     to the license terms contained in, the Simplified BSD License
-
-     set forth in Section 4.c of the IETF Trust's Legal Provisions
-     Relating to IETF Documents
-     (https://trustee.ietf.org/license-info).
-
-     The initial version of this YANG module is part of RFC 8348;
-     see the RFC itself for full legal notices.";
-  reference
-    "https://www.iana.org/assignments/yang-parameters";
-
-  revision 2018-03-13 {
-    description
-      "Initial revision.";
-    reference
-      "RFC 8348: A YANG Data Model for Hardware Management";
-  }
-
-  /*
-   * Identities
-   */
-
-  identity hardware-class {
-    description
-      "This identity is the base for all hardware class
-       identifiers.";
-  }
-
-  identity unknown {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is unknown
-       to the server.";
-  }
-
-  identity chassis {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is an
-       overall container for networking equipment.  Any class of
-       physical component, except a stack, may be contained within a
-       chassis; a chassis may only be contained within a stack.";
-  }
-
-  identity backplane {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is some sort
-       of device for aggregating and forwarding networking traffic,
-       such as a shared backplane in a modular ethernet switch.  Note
-       that an implementation may model a backplane as a single
-       physical component, which is actually implemented as multiple
-       discrete physical components (within a chassis or stack).";
-  }
-
-  identity container {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is capable
-       of containing one or more removable physical entities,
-       possibly of different types.  For example, each (empty or
-       full) slot in a chassis will be modeled as a container.  Note
-       that all removable physical components should be modeled
-       within a container component, such as field-replaceable
-       modules, fans, or power supplies.  Note that all known
-       containers should be modeled by the agent, including empty
-       containers.";
-  }
-
-  identity power-supply {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is a
-       power-supplying component.";
-  }
-
-  identity fan {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is a fan or
-       other heat-reduction component.";
-  }
-
-  identity sensor {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is some sort
-       of sensor, such as a temperature sensor within a router
-       chassis.";
-  }
-
-  identity module {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is some sort
-       of self-contained sub-system.  If a module component is
-       removable, then it should be modeled within a container
-
-       component; otherwise, it should be modeled directly within
-       another physical component (e.g., a chassis or another
-       module).";
-  }
-
-  identity port {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is some sort
-       of networking port capable of receiving and/or transmitting
-       networking traffic.";
-  }
-
-  identity stack {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is some sort
-       of super-container (possibly virtual) intended to group
-       together multiple chassis entities.  A stack may be realized
-       by a virtual cable, a real interconnect cable attached to
-       multiple chassis, or multiple interconnect cables.  A stack
-       should not be modeled within any other physical components,
-       but a stack may be contained within another stack.  Only
-       chassis components should be contained within a stack.";
-  }
-
-  identity cpu {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is some sort
-       of central processing unit.";
-  }
-
-  identity energy-object {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is some sort
-       of energy object, i.e., it is a piece of equipment that is
-       part of or attached to a communications network that is
-       monitored, it is controlled, or it aids in the management of
-       another device for Energy Management.";
-  }
-
-  identity battery {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is some sort
-       of battery.";
-  }
-
-  identity storage-drive {
-    base ianahw:hardware-class;
-    description
-      "This identity is applicable if the hardware class is some sort
-       of component with data storage capability as its main
-       functionality, e.g., hard disk drive (HDD), solid-state device
-       (SSD), solid-state hybrid drive (SSHD), object storage device
-       (OSD), or other.";
-  }
-}
diff --git a/data-model/draft/ietf-hardware@2018-03-13.yang b/data-model/draft/ietf-hardware@2018-03-13.yang
deleted file mode 100644 (file)
index 4f984b6..0000000
+++ /dev/null
@@ -1,1194 +0,0 @@
-module ietf-hardware {
-  yang-version 1.1;
-  namespace "urn:ietf:params:xml:ns:yang:ietf-hardware";
-  prefix hw;
-
-  import ietf-inet-types {
-    prefix inet;
-  }
-  import ietf-yang-types {
-    prefix yang;
-  }
-  import iana-hardware {
-    prefix ianahw;
-  }
-
-  organization
-    "IETF NETMOD (Network Modeling) Working Group";
-
-  contact
-    "WG Web:   <https://datatracker.ietf.org/wg/netmod/>
-     WG List:  <mailto:netmod@ietf.org>
-
-     Editor:   Andy Bierman
-               <mailto:andy@yumaworks.com>
-
-     Editor:   Martin Bjorklund
-               <mailto:mbj@tail-f.com>
-
-     Editor:   Jie Dong
-               <mailto:jie.dong@huawei.com>
-
-     Editor:   Dan Romascanu
-               <mailto:dromasca@gmail.com>";
-
-  description
-    "This module contains a collection of YANG definitions for
-     managing hardware.
-
-     This data model is designed for the Network Management Datastore
-     Architecture (NMDA) defined in RFC 8342.
-     Copyright (c) 2018 IETF Trust and the persons identified as
-     authors of the code.  All rights reserved.
-
-     Redistribution and use in source and binary forms, with or
-     without modification, is permitted pursuant to, and subject
-     to the license terms contained in, the Simplified BSD License
-     set forth in Section 4.c of the IETF Trust's Legal Provisions
-     Relating to IETF Documents
-     (https://trustee.ietf.org/license-info).
-
-     This version of this YANG module is part of RFC 8348; see
-     the RFC itself for full legal notices.";
-
-  revision 2018-03-13 {
-    description
-      "Initial revision.";
-    reference
-      "RFC 8348: A YANG Data Model for Hardware Management";
-  }
-
-  /*
-   * Features
-   */
-
-  feature entity-mib {
-    description
-      "This feature indicates that the device implements
-       the ENTITY-MIB.";
-    reference
-      "RFC 6933: Entity MIB (Version 4)";
-  }
-
-  feature hardware-state {
-    description
-      "Indicates that ENTITY-STATE-MIB objects are supported";
-    reference
-      "RFC 4268: Entity State MIB";
-  }
-
-  feature hardware-sensor {
-    description
-      "Indicates that ENTITY-SENSOR-MIB objects are supported";
-    reference
-      "RFC 3433: Entity Sensor Management Information Base";
-  }
-
-  /*
-   * Typedefs
-   */
-
-  typedef admin-state {
-    type enumeration {
-      enum unknown {
-        value 1;
-        description
-          "The resource is unable to report administrative state.";
-      }
-      enum locked {
-        value 2;
-        description
-          "The resource is administratively prohibited from use.";
-      }
-      enum shutting-down {
-        value 3;
-        description
-          "The resource usage is administratively limited to current
-           instances of use.";
-      }
-      enum unlocked {
-        value 4;
-        description
-          "The resource is not administratively prohibited from
-           use.";
-      }
-    }
-    description
-      "Represents the various possible administrative states.";
-    reference
-      "RFC 4268: Entity State MIB - EntityAdminState";
-  }
-
-  typedef oper-state {
-    type enumeration {
-      enum unknown {
-        value 1;
-        description
-          "The resource is unable to report its operational state.";
-      }
-      enum disabled {
-        value 2;
-        description
-          "The resource is totally inoperable.";
-      }
-      enum enabled {
-        value 3;
-
-        description
-          "The resource is partially or fully operable.";
-      }
-      enum testing {
-        value 4;
-        description
-          "The resource is currently being tested and cannot
-           therefore report whether or not it is operational.";
-      }
-    }
-    description
-      "Represents the possible values of operational states.";
-    reference
-      "RFC 4268: Entity State MIB - EntityOperState";
-  }
-
-  typedef usage-state {
-    type enumeration {
-      enum unknown {
-        value 1;
-        description
-          "The resource is unable to report usage state.";
-      }
-      enum idle {
-        value 2;
-        description
-          "The resource is servicing no users.";
-      }
-      enum active {
-        value 3;
-        description
-          "The resource is currently in use, and it has sufficient
-           spare capacity to provide for additional users.";
-      }
-      enum busy {
-        value 4;
-        description
-          "The resource is currently in use, but it currently has no
-           spare capacity to provide for additional users.";
-      }
-    }
-    description
-      "Represents the possible values of usage states.";
-    reference
-      "RFC 4268: Entity State MIB -  EntityUsageState";
-  }
-
-  typedef alarm-state {
-    type bits {
-      bit unknown {
-        position 0;
-        description
-          "The resource is unable to report alarm state.";
-      }
-      bit under-repair {
-        position 1;
-        description
-          "The resource is currently being repaired, which, depending
-           on the implementation, may make the other values in this
-           bit string not meaningful.";
-      }
-      bit critical {
-        position 2;
-        description
-          "One or more critical alarms are active against the
-           resource.";
-      }
-      bit major {
-        position 3;
-        description
-          "One or more major alarms are active against the
-           resource.";
-      }
-      bit minor {
-        position 4;
-        description
-          "One or more minor alarms are active against the
-           resource.";
-      }
-      bit warning {
-        position 5;
-        description
-          "One or more warning alarms are active against the
-           resource.";
-      }
-      bit indeterminate {
-        position 6;
-        description
-          "One or more alarms of whose perceived severity cannot be
-           determined are active against this resource.";
-      }
-    }
-    description
-      "Represents the possible values of alarm states.  An alarm is a
-       persistent indication of an error or warning condition.
-
-       When no bits of this attribute are set, then no active alarms
-       are known against this component and it is not under repair.";
-    reference
-      "RFC 4268: Entity State MIB - EntityAlarmStatus";
-  }
-
-  typedef standby-state {
-    type enumeration {
-      enum unknown {
-        value 1;
-        description
-          "The resource is unable to report standby state.";
-      }
-      enum hot-standby {
-        value 2;
-        description
-          "The resource is not providing service, but it will be
-           immediately able to take over the role of the resource to
-           be backed up, without the need for initialization
-           activity, and will contain the same information as the
-           resource to be backed up.";
-      }
-      enum cold-standby {
-        value 3;
-        description
-          "The resource is to back up another resource, but it will
-           not be immediately able to take over the role of a
-           resource to be backed up and will require some
-           initialization activity.";
-      }
-      enum providing-service {
-        value 4;
-        description
-          "The resource is providing service.";
-      }
-    }
-    description
-      "Represents the possible values of standby states.";
-    reference
-      "RFC 4268: Entity State MIB - EntityStandbyStatus";
-  }
-
-  typedef sensor-value-type {
-    type enumeration {
-      enum other {
-        value 1;
-        description
-          "A measure other than those listed below.";
-      }
-      enum unknown {
-        value 2;
-        description
-          "An unknown measurement or arbitrary, relative numbers";
-      }
-      enum volts-AC {
-        value 3;
-        description
-          "A measure of electric potential (alternating current).";
-      }
-      enum volts-DC {
-        value 4;
-        description
-          "A measure of electric potential (direct current).";
-      }
-      enum amperes {
-        value 5;
-        description
-          "A measure of electric current.";
-      }
-      enum watts {
-        value 6;
-        description
-          "A measure of power.";
-      }
-      enum hertz {
-        value 7;
-        description
-          "A measure of frequency.";
-      }
-      enum celsius {
-        value 8;
-        description
-          "A measure of temperature.";
-      }
-      enum percent-RH {
-        value 9;
-        description
-          "A measure of percent relative humidity.";
-      }
-      enum rpm {
-        value 10;
-        description
-          "A measure of shaft revolutions per minute.";
-      }
-      enum cmm {
-        value 11;
-        description
-          "A measure of cubic meters per minute (airflow).";
-      }
-      enum truth-value {
-        value 12;
-        description
-          "Value is one of 1 (true) or 2 (false)";
-      }
-    }
-    description
-      "A node using this data type represents the sensor measurement
-       data type associated with a physical sensor value.  The actual
-       data units are determined by examining a node of this type
-       together with the associated sensor-value-scale node.
-
-       A node of this type SHOULD be defined together with nodes of
-       type sensor-value-scale and type sensor-value-precision.
-       These three types are used to identify the semantics of a node
-       of type sensor-value.";
-    reference
-      "RFC 3433: Entity Sensor Management Information Base -
-                 EntitySensorDataType";
-  }
-
-  typedef sensor-value-scale {
-    type enumeration {
-      enum yocto {
-        value 1;
-        description
-          "Data scaling factor of 10^-24.";
-      }
-      enum zepto {
-        value 2;
-        description
-          "Data scaling factor of 10^-21.";
-      }
-      enum atto {
-        value 3;
-        description
-          "Data scaling factor of 10^-18.";
-      }
-      enum femto {
-        value 4;
-        description
-          "Data scaling factor of 10^-15.";
-      }
-      enum pico {
-        value 5;
-        description
-          "Data scaling factor of 10^-12.";
-      }
-      enum nano {
-        value 6;
-        description
-          "Data scaling factor of 10^-9.";
-      }
-      enum micro {
-        value 7;
-        description
-          "Data scaling factor of 10^-6.";
-      }
-      enum milli {
-        value 8;
-        description
-          "Data scaling factor of 10^-3.";
-      }
-      enum units {
-        value 9;
-        description
-          "Data scaling factor of 10^0.";
-      }
-      enum kilo {
-        value 10;
-        description
-          "Data scaling factor of 10^3.";
-      }
-      enum mega {
-        value 11;
-        description
-          "Data scaling factor of 10^6.";
-      }
-      enum giga {
-        value 12;
-        description
-          "Data scaling factor of 10^9.";
-      }
-      enum tera {
-        value 13;
-        description
-          "Data scaling factor of 10^12.";
-      }
-      enum peta {
-        value 14;
-        description
-          "Data scaling factor of 10^15.";
-      }
-      enum exa {
-        value 15;
-        description
-          "Data scaling factor of 10^18.";
-      }
-      enum zetta {
-        value 16;
-        description
-          "Data scaling factor of 10^21.";
-      }
-      enum yotta {
-        value 17;
-        description
-          "Data scaling factor of 10^24.";
-      }
-    }
-    description
-      "A node using this data type represents a data scaling factor,
-       represented with an International System of Units (SI) prefix.
-       The actual data units are determined by examining a node of
-       this type together with the associated sensor-value-type.
-
-       A node of this type SHOULD be defined together with nodes of
-       type sensor-value-type and type sensor-value-precision.
-       Together, associated nodes of these three types are used to
-       identify the semantics of a node of type sensor-value.";
-    reference
-      "RFC 3433: Entity Sensor Management Information Base -
-                 EntitySensorDataScale";
-  }
-
-  typedef sensor-value-precision {
-    type int8 {
-      range "-8 .. 9";
-    }
-    description
-      "A node using this data type represents a sensor value
-       precision range.
-
-       A node of this type SHOULD be defined together with nodes of
-       type sensor-value-type and type sensor-value-scale.  Together,
-       associated nodes of these three types are used to identify the
-       semantics of a node of type sensor-value.
-
-       If a node of this type contains a value in the range 1 to 9,
-       it represents the number of decimal places in the fractional
-       part of an associated sensor-value fixed-point number.
-
-       If a node of this type contains a value in the range -8 to -1,
-       it represents the number of accurate digits in the associated
-       sensor-value fixed-point number.
-
-       The value zero indicates the associated sensor-value node is
-       not a fixed-point number.
-
-       Server implementers must choose a value for the associated
-       sensor-value-precision node so that the precision and accuracy
-       of the associated sensor-value node is correctly indicated.
-
-       For example, a component representing a temperature sensor
-       that can measure 0 to 100 degrees C in 0.1 degree
-       increments, +/- 0.05 degrees, would have a
-       sensor-value-precision value of '1', a sensor-value-scale
-       value of 'units', and a sensor-value ranging from '0' to
-       '1000'.  The sensor-value would be interpreted as
-       'degrees C * 10'.";
-    reference
-      "RFC 3433: Entity Sensor Management Information Base -
-                 EntitySensorPrecision";
-  }
-
-  typedef sensor-value {
-    type int32 {
-      range "-1000000000 .. 1000000000";
-    }
-    description
-     "A node using this data type represents a sensor value.
-
-      A node of this type SHOULD be defined together with nodes of
-      type sensor-value-type, type sensor-value-scale, and
-      type sensor-value-precision.  Together, associated nodes of
-      those three types are used to identify the semantics of a node
-      of this data type.
-
-      The semantics of a node using this data type are determined by
-      the value of the associated sensor-value-type node.
-
-      If the associated sensor-value-type node is equal to 'voltsAC',
-      'voltsDC', 'amperes', 'watts', 'hertz', 'celsius', or 'cmm',
-      then a node of this type MUST contain a fixed-point number
-      ranging from -999,999,999 to +999,999,999.  The value
-      -1000000000 indicates an underflow error.  The value
-      +1000000000 indicates an overflow error.  The
-      sensor-value-precision indicates how many fractional digits
-      are represented in the associated sensor-value node.
-
-      If the associated sensor-value-type node is equal to
-      'percentRH', then a node of this type MUST contain a number
-      ranging from 0 to 100.
-
-      If the associated sensor-value-type node is equal to 'rpm',
-      then a node of this type MUST contain a number ranging from
-      -999,999,999 to +999,999,999.
-
-      If the associated sensor-value-type node is equal to
-      'truth-value', then a node of this type MUST contain either the
-      value 1 (true) or the value 2 (false).
-
-      If the associated sensor-value-type node is equal to 'other' or
-      'unknown', then a node of this type MUST contain a number
-      ranging from -1000000000 to 1000000000.";
-    reference
-      "RFC 3433: Entity Sensor Management Information Base -
-                 EntitySensorValue";
-  }
-
-  typedef sensor-status {
-    type enumeration {
-      enum ok {
-        value 1;
-        description
-          "Indicates that the server can obtain the sensor value.";
-      }
-      enum unavailable {
-        value 2;
-        description
-          "Indicates that the server presently cannot obtain the
-           sensor value.";
-      }
-      enum nonoperational {
-        value 3;
-        description
-          "Indicates that the server believes the sensor is broken.
-           The sensor could have a hard failure (disconnected wire)
-           or a soft failure such as out-of-range, jittery, or wildly
-           fluctuating readings.";
-      }
-    }
-    description
-      "A node using this data type represents the operational status
-       of a physical sensor.";
-    reference
-      "RFC 3433: Entity Sensor Management Information Base -
-                 EntitySensorStatus";
-  }
-
-  /*
-   * Data nodes
-   */
-
-  container hardware {
-    description
-      "Data nodes representing components.
-
-       If the server supports configuration of hardware components,
-       then this data model is instantiated in the configuration
-       datastores supported by the server.  The leaf-list 'datastore'
-       for the module 'ietf-hardware' in the YANG library provides
-       this information.";
-
-    leaf last-change {
-      type yang:date-and-time;
-      config false;
-      description
-        "The time the '/hardware/component' list changed in the
-         operational state.";
-    }
-
-    list component {
-      key name;
-      description
-        "List of components.
-
-         When the server detects a new hardware component, it
-         initializes a list entry in the operational state.
-
-         If the server does not support configuration of hardware
-         components, list entries in the operational state are
-         initialized with values for all nodes as detected by the
-         implementation.
-
-         Otherwise, this procedure is followed:
-
-           1. If there is an entry in the '/hardware/component' list
-              in the intended configuration with values for the nodes
-              'class', 'parent', and 'parent-rel-pos' that are equal
-              to the detected values, then the list entry in the
-              operational state is initialized with the configured
-              values, including the 'name'.
-
-           2. Otherwise (i.e., there is no matching configuration
-              entry), the list entry in the operational state is
-              initialized with values for all nodes as detected by
-              the implementation.
-
-         If the '/hardware/component' list in the intended
-         configuration is modified, then the system MUST behave as if
-         it re-initializes itself and follow the procedure in (1).";
-      reference
-        "RFC 6933: Entity MIB (Version 4) - entPhysicalEntry";
-
-      leaf name {
-        type string;
-        description
-          "The name assigned to this component.
-
-           This name is not required to be the same as
-           entPhysicalName.";
-      }
-
-      leaf class {
-        type identityref {
-          base ianahw:hardware-class;
-        }
-        mandatory true;
-        description
-          "An indication of the general hardware type of the
-           component.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalClass";
-      }
-
-      leaf physical-index {
-        if-feature entity-mib;
-        type int32 {
-          range "1..2147483647";
-        }
-        config false;
-        description
-          "The entPhysicalIndex for the entPhysicalEntry represented
-           by this list entry.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalIndex";
-      }
-
-      leaf description {
-        type string;
-        config false;
-        description
-          "A textual description of the component.  This node should
-           contain a string that identifies the manufacturer's name
-           for the component and should be set to a distinct value
-           for each version or model of the component.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalDescr";
-      }
-
-      leaf parent {
-        type leafref {
-          path "../../component/name";
-          require-instance false;
-        }
-        description
-          "The name of the component that physically contains this
-           component.
-
-           If this leaf is not instantiated, it indicates that this
-           component is not contained in any other component.
-
-           In the event that a physical component is contained by
-           more than one physical component (e.g., double-wide
-           modules), this node contains the name of one of these
-           components.  An implementation MUST use the same name
-           every time this node is instantiated.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalContainedIn";
-      }
-
-      leaf parent-rel-pos {
-        type int32 {
-          range "0 .. 2147483647";
-        }
-        description
-          "An indication of the relative position of this child
-           component among all its sibling components.  Sibling
-           components are defined as components that:
-
-             o share the same value of the 'parent' node and
-
-             o share a common base identity for the 'class' node.
-
-           Note that the last rule gives implementations flexibility
-           in how components are numbered.  For example, some
-           implementations might have a single number series for all
-           components derived from 'ianahw:port', while some others
-           might have different number series for different
-           components with identities derived from 'ianahw:port' (for
-           example, one for registered jack 45 (RJ45) and one for
-           small form-factor pluggable (SFP)).";
-
-        reference
-          "RFC 6933: Entity MIB (Version 4) -
-                     entPhysicalParentRelPos";
-      }
-
-      leaf-list contains-child {
-        type leafref {
-          path "../../component/name";
-        }
-        config false;
-        description
-          "The name of the contained component.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalChildIndex";
-      }
-
-      leaf hardware-rev {
-        type string;
-        config false;
-        description
-          "The vendor-specific hardware revision string for the
-           component.  The preferred value is the hardware revision
-           identifier actually printed on the component itself (if
-           present).";
-        reference
-          "RFC 6933: Entity MIB (Version 4) -
-                     entPhysicalHardwareRev";
-      }
-
-      leaf firmware-rev {
-        type string;
-        config false;
-        description
-          "The vendor-specific firmware revision string for the
-           component.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) -
-                     entPhysicalFirmwareRev";
-      }
-
-      leaf software-rev {
-        type string;
-        config false;
-
-        description
-          "The vendor-specific software revision string for the
-           component.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) -
-                     entPhysicalSoftwareRev";
-      }
-
-      leaf serial-num {
-        type string;
-        config false;
-        description
-          "The vendor-specific serial number string for the
-           component.  The preferred value is the serial number
-           string actually printed on the component itself (if
-           present).";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalSerialNum";
-      }
-
-      leaf mfg-name {
-        type string;
-        config false;
-        description
-          "The name of the manufacturer of this physical component.
-           The preferred value is the manufacturer name string
-           actually printed on the component itself (if present).
-
-           Note that comparisons between instances of the
-           'model-name', 'firmware-rev', 'software-rev', and
-           'serial-num' nodes are only meaningful amongst components
-           with the same value of 'mfg-name'.
-
-           If the manufacturer name string associated with the
-           physical component is unknown to the server, then this
-           node is not instantiated.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalMfgName";
-      }
-
-      leaf model-name {
-        type string;
-        config false;
-        description
-          "The vendor-specific model name identifier string
-           associated with this physical component.  The preferred
-           value is the customer-visible part number, which may be
-           printed on the component itself.
-           If the model name string associated with the physical
-           component is unknown to the server, then this node is not
-           instantiated.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalModelName";
-      }
-
-      leaf alias {
-        type string;
-        description
-          "An 'alias' name for the component, as specified by a
-           network manager, that provides a non-volatile 'handle' for
-           the component.
-
-           If no configured value exists, the server MAY set the
-           value of this node to a locally unique value in the
-           operational state.
-
-           A server implementation MAY map this leaf to the
-           entPhysicalAlias MIB object.  Such an implementation needs
-           to use some mechanism to handle the differences in size
-           and characters allowed between this leaf and
-           entPhysicalAlias.  The definition of such a mechanism is
-           outside the scope of this document.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalAlias";
-      }
-
-      leaf asset-id {
-        type string;
-        description
-          "This node is a user-assigned asset tracking identifier for
-           the component.
-
-           A server implementation MAY map this leaf to the
-           entPhysicalAssetID MIB object.  Such an implementation
-           needs to use some mechanism to handle the differences in
-           size and characters allowed between this leaf and
-           entPhysicalAssetID.  The definition of such a mechanism is
-           outside the scope of this document.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalAssetID";
-      }
-
-      leaf is-fru {
-        type boolean;
-        config false;
-
-        description
-          "This node indicates whether or not this component is
-           considered a 'field-replaceable unit' by the vendor.  If
-           this node contains the value 'true', then this component
-           identifies a field-replaceable unit.  For all components
-           that are permanently contained within a field-replaceable
-           unit, the value 'false' should be returned for this
-           node.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalIsFRU";
-      }
-
-      leaf mfg-date {
-        type yang:date-and-time;
-        config false;
-        description
-          "The date of manufacturing of the managed component.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalMfgDate";
-      }
-
-      leaf-list uri {
-        type inet:uri;
-        description
-          "This node contains identification information about the
-           component.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalUris";
-      }
-
-      leaf uuid {
-        type yang:uuid;
-        config false;
-        description
-          "A Universally Unique Identifier of the component.";
-        reference
-          "RFC 6933: Entity MIB (Version 4) - entPhysicalUUID";
-      }
-
-      container state {
-        if-feature hardware-state;
-        description
-          "State-related nodes";
-        reference
-          "RFC 4268: Entity State MIB";
-
-        leaf state-last-changed {
-          type yang:date-and-time;
-          config false;
-          description
-            "The date and time when the value of any of the
-             admin-state, oper-state, usage-state, alarm-state, or
-             standby-state changed for this component.
-
-             If there has been no change since the last
-             re-initialization of the local system, this node
-             contains the date and time of local system
-             initialization.  If there has been no change since the
-             component was added to the local system, this node
-             contains the date and time of the insertion.";
-          reference
-            "RFC 4268: Entity State MIB - entStateLastChanged";
-        }
-
-        leaf admin-state {
-          type admin-state;
-          description
-            "The administrative state for this component.
-
-             This node refers to a component's administrative
-             permission to service both other components within its
-             containment hierarchy as well other users of its
-             services defined by means outside the scope of this
-             module.
-
-             Some components exhibit only a subset of the remaining
-             administrative state values.  Some components cannot be
-             locked; hence, this node exhibits only the 'unlocked'
-             state.  Other components cannot be shut down gracefully;
-             hence, this node does not exhibit the 'shutting-down'
-             state.";
-          reference
-            "RFC 4268: Entity State MIB - entStateAdmin";
-        }
-
-        leaf oper-state {
-          type oper-state;
-          config false;
-          description
-            "The operational state for this component.
-
-             Note that this node does not follow the administrative
-             state.  An administrative state of 'down' does not
-             predict an operational state of 'disabled'.
-
-             Note that some implementations may not be able to
-             accurately report oper-state while the admin-state node
-             has a value other than 'unlocked'.  In these cases, this
-             node MUST have a value of 'unknown'.";
-          reference
-            "RFC 4268: Entity State MIB - entStateOper";
-        }
-
-        leaf usage-state {
-          type usage-state;
-          config false;
-          description
-            "The usage state for this component.
-
-             This node refers to a component's ability to service
-             more components in a containment hierarchy.
-
-             Some components will exhibit only a subset of the usage
-             state values.  Components that are unable to ever
-             service any components within a containment hierarchy
-             will always have a usage state of 'busy'.  In some
-             cases, a component will be able to support only one
-             other component within its containment hierarchy and
-             will therefore only exhibit values of 'idle' and
-             'busy'.";
-          reference
-            "RFC 4268: Entity State MIB - entStateUsage";
-        }
-
-        leaf alarm-state {
-          type alarm-state;
-          config false;
-          description
-            "The alarm state for this component.  It does not
-             include the alarms raised on child components within its
-             containment hierarchy.";
-          reference
-            "RFC 4268: Entity State MIB - entStateAlarm";
-        }
-
-        leaf standby-state {
-          type standby-state;
-          config false;
-          description
-            "The standby state for this component.
-
-             Some components will exhibit only a subset of the
-             remaining standby state values.  If this component
-             cannot operate in a standby role, the value of this node
-             will always be 'providing-service'.";
-          reference
-            "RFC 4268: Entity State MIB - entStateStandby";
-        }
-      }
-
-      container sensor-data {
-        when 'derived-from-or-self(../class,
-                                   "ianahw:sensor")' {
-          description
-            "Sensor data nodes present for any component of type
-             'sensor'";
-        }
-        if-feature hardware-sensor;
-        config false;
-
-        description
-          "Sensor-related nodes.";
-        reference
-          "RFC 3433: Entity Sensor Management Information Base";
-
-        leaf value {
-          type sensor-value;
-          description
-            "The most recent measurement obtained by the server
-             for this sensor.
-
-             A client that periodically fetches this node should also
-             fetch the nodes 'value-type', 'value-scale', and
-             'value-precision', since they may change when the value
-             is changed.";
-          reference
-            "RFC 3433: Entity Sensor Management Information Base -
-                       entPhySensorValue";
-        }
-
-        leaf value-type {
-          type sensor-value-type;
-          description
-            "The type of data units associated with the
-             sensor value";
-          reference
-            "RFC 3433: Entity Sensor Management Information Base -
-                       entPhySensorType";
-        }
-        leaf value-scale {
-          type sensor-value-scale;
-          description
-            "The (power of 10) scaling factor associated
-             with the sensor value";
-          reference
-            "RFC 3433: Entity Sensor Management Information Base -
-                       entPhySensorScale";
-        }
-
-        leaf value-precision {
-          type sensor-value-precision;
-          description
-            "The number of decimal places of precision
-             associated with the sensor value";
-          reference
-            "RFC 3433: Entity Sensor Management Information Base -
-                       entPhySensorPrecision";
-        }
-
-        leaf oper-status {
-          type sensor-status;
-          description
-            "The operational status of the sensor.";
-          reference
-            "RFC 3433: Entity Sensor Management Information Base -
-                       entPhySensorOperStatus";
-        }
-
-        leaf units-display {
-          type string;
-          description
-            "A textual description of the data units that should be
-             used in the display of the sensor value.";
-          reference
-            "RFC 3433: Entity Sensor Management Information Base -
-                       entPhySensorUnitsDisplay";
-        }
-
-        leaf value-timestamp {
-          type yang:date-and-time;
-          description
-            "The time the status and/or value of this sensor was last
-             obtained by the server.";
-          reference
-            "RFC 3433: Entity Sensor Management Information Base -
-                       entPhySensorValueTimeStamp";
-        }
-        leaf value-update-rate {
-          type uint32;
-          units "milliseconds";
-          description
-            "An indication of the frequency that the server updates
-             the associated 'value' node, represented in
-             milliseconds.  The value zero indicates:
-
-              - the sensor value is updated on demand (e.g.,
-                when polled by the server for a get-request),
-
-              - the sensor value is updated when the sensor
-                value changes (event-driven), or
-
-              - the server does not know the update rate.";
-          reference
-            "RFC 3433: Entity Sensor Management Information Base -
-                       entPhySensorValueUpdateRate";
-        }
-      }
-    }
-  }
-
-  /*
-   * Notifications
-   */
-
-  notification hardware-state-change {
-    description
-      "A hardware-state-change notification is generated when the
-       value of /hardware/last-change changes in the operational
-       state.";
-    reference
-      "RFC 6933: Entity MIB (Version 4) - entConfigChange";
-  }
-
-  notification hardware-state-oper-enabled {
-    if-feature hardware-state;
-    description
-      "A hardware-state-oper-enabled notification signifies that a
-       component has transitioned into the 'enabled' state.";
-
-    leaf name {
-      type leafref {
-        path "/hardware/component/name";
-      }
-
-      description
-        "The name of the component that has transitioned into the
-         'enabled' state.";
-    }
-    leaf admin-state {
-      type leafref {
-        path "/hardware/component/state/admin-state";
-      }
-      description
-        "The administrative state for the component.";
-    }
-    leaf alarm-state {
-      type leafref {
-        path "/hardware/component/state/alarm-state";
-      }
-      description
-        "The alarm state for the component.";
-    }
-    reference
-      "RFC 4268: Entity State MIB - entStateOperEnabled";
-  }
-
-  notification hardware-state-oper-disabled {
-    if-feature hardware-state;
-    description
-      "A hardware-state-oper-disabled notification signifies that a
-       component has transitioned into the 'disabled' state.";
-
-    leaf name {
-      type leafref {
-        path "/hardware/component/name";
-      }
-      description
-        "The name of the component that has transitioned into the
-         'disabled' state.";
-    }
-    leaf admin-state {
-      type leafref {
-        path "/hardware/component/state/admin-state";
-      }
-      description
-        "The administrative state for the component.";
-    }
-    leaf alarm-state {
-      type leafref {
-        path "/hardware/component/state/alarm-state";
-      }
-
-      description
-        "The alarm state for the component.";
-    }
-    reference
-      "RFC 4268: Entity State MIB - entStateOperDisabled";
-  }
-
-}
diff --git a/data-model/draft/ietf-inet-types@2013-07-15.yang b/data-model/draft/ietf-inet-types@2013-07-15.yang
deleted file mode 100644 (file)
index fa57f75..0000000
+++ /dev/null
@@ -1,458 +0,0 @@
-module ietf-inet-types {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
-  prefix "inet";
-
-  organization
-   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-  contact
-   "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-  description
-   "This module contains a collection of generally useful derived
-    YANG data types for Internet addresses and related things.
-
-    Copyright (c) 2013 IETF Trust and the persons identified as
-    authors of the code.  All rights reserved.
-
-    Redistribution and use in source and binary forms, with or
-    without modification, is permitted pursuant to, and subject
-    to the license terms contained in, the Simplified BSD License
-    set forth in Section 4.c of the IETF Trust's Legal Provisions
-    Relating to IETF Documents
-    (http://trustee.ietf.org/license-info).
-
-    This version of this YANG module is part of RFC 6991; see
-    the RFC itself for full legal notices.";
-
-  revision 2013-07-15 {
-    description
-     "This revision adds the following new data types:
-      - ip-address-no-zone
-      - ipv4-address-no-zone
-      - ipv6-address-no-zone";
-    reference
-     "RFC 6991: Common YANG Data Types";
-  }
-
-  revision 2010-09-24 {
-    description
-     "Initial revision.";
-    reference
-     "RFC 6021: Common YANG Data Types";
-  }
-
-  /*** collection of types related to protocol fields ***/
-
-  typedef ip-version {
-    type enumeration {
-      enum unknown {
-        value "0";
-        description
-         "An unknown or unspecified version of the Internet
-          protocol.";
-      }
-      enum ipv4 {
-        value "1";
-        description
-         "The IPv4 protocol as defined in RFC 791.";
-      }
-      enum ipv6 {
-        value "2";
-        description
-         "The IPv6 protocol as defined in RFC 2460.";
-      }
-    }
-    description
-     "This value represents the version of the IP protocol.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetVersion textual convention of the SMIv2.";
-    reference
-     "RFC  791: Internet Protocol
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  typedef dscp {
-    type uint8 {
-      range "0..63";
-    }
-    description
-     "The dscp type represents a Differentiated Services Code Point
-      that may be used for marking packets in a traffic stream.
-      In the value set and its semantics, this type is equivalent
-      to the Dscp textual convention of the SMIv2.";
-    reference
-     "RFC 3289: Management Information Base for the Differentiated
-                Services Architecture
-      RFC 2474: Definition of the Differentiated Services Field
-                (DS Field) in the IPv4 and IPv6 Headers
-      RFC 2780: IANA Allocation Guidelines For Values In
-                the Internet Protocol and Related Headers";
-  }
-
-  typedef ipv6-flow-label {
-    type uint32 {
-      range "0..1048575";
-    }
-    description
-     "The ipv6-flow-label type represents the flow identifier or Flow
-      Label in an IPv6 packet header that may be used to
-      discriminate traffic flows.
-
-      In the value set and its semantics, this type is equivalent
-      to the IPv6FlowLabel textual convention of the SMIv2.";
-    reference
-     "RFC 3595: Textual Conventions for IPv6 Flow Label
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
-  }
-
-  typedef port-number {
-    type uint16 {
-      range "0..65535";
-    }
-    description
-     "The port-number type represents a 16-bit port number of an
-      Internet transport-layer protocol such as UDP, TCP, DCCP, or
-      SCTP.  Port numbers are assigned by IANA.  A current list of
-      all assignments is available from <http://www.iana.org/>.
-
-      Note that the port number value zero is reserved by IANA.  In
-      situations where the value zero does not make sense, it can
-      be excluded by subtyping the port-number type.
-      In the value set and its semantics, this type is equivalent
-      to the InetPortNumber textual convention of the SMIv2.";
-    reference
-     "RFC  768: User Datagram Protocol
-      RFC  793: Transmission Control Protocol
-      RFC 4960: Stream Control Transmission Protocol
-      RFC 4340: Datagram Congestion Control Protocol (DCCP)
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  /*** collection of types related to autonomous systems ***/
-
-  typedef as-number {
-    type uint32;
-    description
-     "The as-number type represents autonomous system numbers
-      which identify an Autonomous System (AS).  An AS is a set
-      of routers under a single technical administration, using
-      an interior gateway protocol and common metrics to route
-      packets within the AS, and using an exterior gateway
-      protocol to route packets to other ASes.  IANA maintains
-      the AS number space and has delegated large parts to the
-      regional registries.
-
-      Autonomous system numbers were originally limited to 16
-      bits.  BGP extensions have enlarged the autonomous system
-      number space to 32 bits.  This type therefore uses an uint32
-      base type without a range restriction in order to support
-      a larger autonomous system number space.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetAutonomousSystemNumber textual convention of
-      the SMIv2.";
-    reference
-     "RFC 1930: Guidelines for creation, selection, and registration
-                of an Autonomous System (AS)
-      RFC 4271: A Border Gateway Protocol 4 (BGP-4)
-      RFC 4001: Textual Conventions for Internet Network Addresses
-      RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
-                Number Space";
-  }
-
-  /*** collection of types related to IP addresses and hostnames ***/
-
-  typedef ip-address {
-    type union {
-      type inet:ipv4-address;
-      type inet:ipv6-address;
-    }
-    description
-     "The ip-address type represents an IP address and is IP
-      version neutral.  The format of the textual representation
-      implies the IP version.  This type supports scoped addresses
-      by allowing zone identifiers in the address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address {
-    type string {
-      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])'
-      + '(%[\p{N}\p{L}]+)?';
-    }
-    description
-      "The ipv4-address type represents an IPv4 address in
-       dotted-quad notation.  The IPv4 address may include a zone
-       index, separated by a % sign.
-
-       The zone index is used to disambiguate identical address
-       values.  For link-local addresses, the zone index will
-       typically be the interface index number or the name of an
-       interface.  If the zone index is not present, the default
-       zone of the device will be used.
-
-       The canonical format for the zone index is the numerical
-       format";
-  }
-
-  typedef ipv6-address {
-    type string {
-      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}))|'
-            + '(((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])))'
-            + '(%[\p{N}\p{L}]+)?';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(%.+)?';
-    }
-    description
-     "The ipv6-address type represents an IPv6 address in full,
-      mixed, shortened, and shortened-mixed notation.  The IPv6
-      address may include a zone index, separated by a % sign.
-
-      The zone index is used to disambiguate identical address
-      values.  For link-local addresses, the zone index will
-      typically be the interface index number or the name of an
-      interface.  If the zone index is not present, the default
-      zone of the device will be used.
-
-      The canonical format of IPv6 addresses uses the textual
-      representation defined in Section 4 of RFC 5952.  The
-      canonical format for the zone index is the numerical
-      format as described in Section 11.2 of RFC 4007.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-address-no-zone {
-    type union {
-      type inet:ipv4-address-no-zone;
-      type inet:ipv6-address-no-zone;
-    }
-    description
-     "The ip-address-no-zone type represents an IP address and is
-      IP version neutral.  The format of the textual representation
-      implies the IP version.  This type does not support scoped
-      addresses since it does not allow zone identifiers in the
-      address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address-no-zone {
-    type inet:ipv4-address {
-      pattern '[0-9\.]*';
-    }
-    description
-      "An IPv4 address without a zone index.  This type, derived from
-       ipv4-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-  }
-
-  typedef ipv6-address-no-zone {
-    type inet:ipv6-address {
-      pattern '[0-9a-fA-F:\.]*';
-    }
-    description
-      "An IPv6 address without a zone index.  This type, derived from
-       ipv6-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-prefix {
-    type union {
-      type inet:ipv4-prefix;
-      type inet:ipv6-prefix;
-    }
-    description
-     "The ip-prefix type represents an IP prefix and is IP
-      version neutral.  The format of the textual representations
-      implies the IP version.";
-  }
-
-  typedef ipv4-prefix {
-    type string {
-      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])'
-       + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
-    }
-    description
-     "The ipv4-prefix type represents an IPv4 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 32.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The canonical format of an IPv4 prefix has all bits of
-      the IPv4 address set to zero that are not part of the
-      IPv4 prefix.";
-  }
-
-  typedef ipv6-prefix {
-    type string {
-      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}))|'
-            + '(((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])))'
-            + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(/.+)';
-    }
-
-    description
-     "The ipv6-prefix type represents an IPv6 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 128.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The IPv6 address should have all bits that do not belong
-      to the prefix set to zero.
-
-      The canonical format of an IPv6 prefix has all bits of
-      the IPv6 address set to zero that are not part of the
-      IPv6 prefix.  Furthermore, the IPv6 address is represented
-      as defined in Section 4 of RFC 5952.";
-    reference
-     "RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  /*** collection of domain name and URI types ***/
-
-  typedef domain-name {
-    type string {
-      length "1..253";
-      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]\.?)'
-      + '|\.';
-    }
-    description
-     "The domain-name type represents a DNS domain name.  The
-      name SHOULD be fully qualified whenever possible.
-
-      Internet domain names are only loosely specified.  Section
-      3.5 of RFC 1034 recommends a syntax (modified in Section
-      2.1 of RFC 1123).  The pattern above is intended to allow
-      for current practice in domain name use, and some possible
-      future expansion.  It is designed to hold various types of
-      domain names, including names used for A or AAAA records
-      (host names) and other records, such as SRV records.  Note
-      that Internet host names have a stricter syntax (described
-      in RFC 952) than the DNS recommendations in RFCs 1034 and
-      1123, and that systems that want to store host names in
-      schema nodes using the domain-name type are recommended to
-      adhere to this stricter standard to ensure interoperability.
-
-      The encoding of DNS names in the DNS protocol is limited
-      to 255 characters.  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.
-
-      The description clause of schema nodes using the domain-name
-      type MUST describe when and how these names are resolved to
-      IP addresses.  Note that the resolution of a domain-name value
-      may require to query multiple DNS records (e.g., A for IPv4
-      and AAAA for IPv6).  The order of the resolution process and
-      which DNS record takes precedence can either be defined
-      explicitly or may depend on the configuration of the
-      resolver.
-
-      Domain-name values use the US-ASCII encoding.  Their canonical
-      format uses lowercase US-ASCII characters.  Internationalized
-      domain names MUST be A-labels as per RFC 5890.";
-    reference
-     "RFC  952: DoD Internet Host Table Specification
-      RFC 1034: Domain Names - Concepts and Facilities
-      RFC 1123: Requirements for Internet Hosts -- Application
-                and Support
-      RFC 2782: A DNS RR for specifying the location of services
-                (DNS SRV)
-      RFC 5890: Internationalized Domain Names in Applications
-                (IDNA): Definitions and Document Framework";
-  }
-
-  typedef host {
-    type union {
-      type inet:ip-address;
-      type inet:domain-name;
-    }
-    description
-     "The host type represents either an IP address or a DNS
-      domain name.";
-  }
-
-  typedef uri {
-    type string;
-    description
-     "The uri type represents a Uniform Resource Identifier
-      (URI) as defined by STD 66.
-
-      Objects using the uri type MUST be in US-ASCII encoding,
-      and MUST be normalized as described by RFC 3986 Sections
-      6.2.1, 6.2.2.1, and 6.2.2.2.  All unnecessary
-      percent-encoding is removed, and all case-insensitive
-      characters are set to lowercase except for hexadecimal
-      digits, which are normalized to uppercase as described in
-      Section 6.2.2.1.
-
-      The purpose of this normalization is to help provide
-      unique URIs.  Note that this normalization is not
-      sufficient to provide uniqueness.  Two URIs that are
-      textually distinct after this normalization may still be
-      equivalent.
-
-      Objects using the uri type may restrict the schemes that
-      they permit.  For example, 'data:' and 'urn:' schemes
-      might not be appropriate.
-
-      A zero-length URI is not a valid URI.  This can be used to
-      express 'URI absent' where required.
-
-      In the value set and its semantics, this type is equivalent
-      to the Uri SMIv2 textual convention defined in RFC 5017.";
-    reference
-     "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
-      RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
-                Group: Uniform Resource Identifiers (URIs), URLs,
-                and Uniform Resource Names (URNs): Clarifications
-                and Recommendations
-      RFC 5017: MIB Textual Conventions for Uniform Resource
-                Identifiers (URIs)";
-  }
-
-}
diff --git a/data-model/draft/ietf-interfaces@2018-02-20.yang b/data-model/draft/ietf-interfaces@2018-02-20.yang
deleted file mode 100644 (file)
index f66c205..0000000
+++ /dev/null
@@ -1,1123 +0,0 @@
-module ietf-interfaces {
-  yang-version 1.1;
-  namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
-  prefix if;
-
-  import ietf-yang-types {
-    prefix yang;
-  }
-
-  organization
-    "IETF NETMOD (Network Modeling) Working Group";
-
-  contact
-    "WG Web:   <https://datatracker.ietf.org/wg/netmod/>
-     WG List:  <mailto:netmod@ietf.org>
-
-     Editor:   Martin Bjorklund
-               <mailto:mbj@tail-f.com>";
-
-  description
-    "This module contains a collection of YANG definitions for
-     managing network interfaces.
-
-     Copyright (c) 2018 IETF Trust and the persons identified as
-     authors of the code.  All rights reserved.
-
-     Redistribution and use in source and binary forms, with or
-     without modification, is permitted pursuant to, and subject
-     to the license terms contained in, the Simplified BSD License
-     set forth in Section 4.c of the IETF Trust's Legal Provisions
-     Relating to IETF Documents
-     (https://trustee.ietf.org/license-info).
-
-     This version of this YANG module is part of RFC 8343; see
-     the RFC itself for full legal notices.";
-
-  revision 2018-02-20 {
-    description
-      "Updated to support NMDA.";
-    reference
-      "RFC 8343: A YANG Data Model for Interface Management";
-  }
-
-  revision 2014-05-08 {
-    description
-      "Initial revision.";
-    reference
-      "RFC 7223: A YANG Data Model for Interface Management";
-  }
-
-  /*
-   * Typedefs
-   */
-
-  typedef interface-ref {
-    type leafref {
-      path "/if:interfaces/if:interface/if:name";
-    }
-    description
-      "This type is used by data models that need to reference
-       interfaces.";
-  }
-
-  /*
-   * Identities
-   */
-
-  identity interface-type {
-    description
-      "Base identity from which specific interface types are
-       derived.";
-  }
-
-  /*
-   * Features
-   */
-
-  feature arbitrary-names {
-    description
-      "This feature indicates that the device allows user-controlled
-       interfaces to be named arbitrarily.";
-  }
-  feature pre-provisioning {
-    description
-      "This feature indicates that the device supports
-       pre-provisioning of interface configuration, i.e., it is
-       possible to configure an interface whose physical interface
-       hardware is not present on the device.";
-  }
-  feature if-mib {
-    description
-      "This feature indicates that the device implements
-       the IF-MIB.";
-    reference
-      "RFC 2863: The Interfaces Group MIB";
-  }
-
-  /*
-   * Data nodes
-   */
-
-  container interfaces {
-    description
-      "Interface parameters.";
-
-    list interface {
-      key "name";
-
-      description
-        "The list of interfaces on the device.
-
-         The status of an interface is available in this list in the
-         operational state.  If the configuration of a
-         system-controlled interface cannot be used by the system
-         (e.g., the interface hardware present does not match the
-         interface type), then the configuration is not applied to
-         the system-controlled interface shown in the operational
-         state.  If the configuration of a user-controlled interface
-         cannot be used by the system, the configured interface is
-         not instantiated in the operational state.
-
-         System-controlled interfaces created by the system are
-         always present in this list in the operational state,
-         whether or not they are configured.";
-
-     leaf name {
-        type string;
-        description
-          "The name of the interface.
-
-           A device MAY restrict the allowed values for this leaf,
-           possibly depending on the type of the interface.
-           For system-controlled interfaces, this leaf is the
-           device-specific name of the interface.
-
-           If a client tries to create configuration for a
-           system-controlled interface that is not present in the
-           operational state, the server MAY reject the request if
-           the implementation does not support pre-provisioning of
-           interfaces or if the name refers to an interface that can
-           never exist in the system.  A Network Configuration
-           Protocol (NETCONF) server MUST reply with an rpc-error
-           with the error-tag 'invalid-value' in this case.
-
-           If the device supports pre-provisioning of interface
-           configuration, the 'pre-provisioning' feature is
-           advertised.
-
-           If the device allows arbitrarily named user-controlled
-           interfaces, the 'arbitrary-names' feature is advertised.
-
-           When a configured user-controlled interface is created by
-           the system, it is instantiated with the same name in the
-           operational state.
-
-           A server implementation MAY map this leaf to the ifName
-           MIB object.  Such an implementation needs to use some
-           mechanism to handle the differences in size and characters
-           allowed between this leaf and ifName.  The definition of
-           such a mechanism is outside the scope of this document.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifName";
-      }
-
-      leaf description {
-        type string;
-        description
-          "A textual description of the interface.
-
-           A server implementation MAY map this leaf to the ifAlias
-           MIB object.  Such an implementation needs to use some
-           mechanism to handle the differences in size and characters
-           allowed between this leaf and ifAlias.  The definition of
-           such a mechanism is outside the scope of this document.
-
-           Since ifAlias is defined to be stored in non-volatile
-           storage, the MIB implementation MUST map ifAlias to the
-           value of 'description' in the persistently stored
-           configuration.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifAlias";
-      }
-
-      leaf type {
-        type identityref {
-          base interface-type;
-        }
-        mandatory true;
-        description
-          "The type of the interface.
-
-           When an interface entry is created, a server MAY
-           initialize the type leaf with a valid value, e.g., if it
-           is possible to derive the type from the name of the
-           interface.
-
-           If a client tries to set the type of an interface to a
-           value that can never be used by the system, e.g., if the
-           type is not supported or if the type does not match the
-           name of the interface, the server MUST reject the request.
-           A NETCONF server MUST reply with an rpc-error with the
-           error-tag 'invalid-value' in this case.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifType";
-      }
-
-      leaf enabled {
-        type boolean;
-        default "true";
-        description
-          "This leaf contains the configured, desired state of the
-           interface.
-
-           Systems that implement the IF-MIB use the value of this
-           leaf in the intended configuration to set
-           IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
-           has been initialized, as described in RFC 2863.
-
-           Changes in this leaf in the intended configuration are
-           reflected in ifAdminStatus.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
-      }
-
-      leaf link-up-down-trap-enable {
-        if-feature if-mib;
-        type enumeration {
-          enum enabled {
-            value 1;
-            description
-              "The device will generate linkUp/linkDown SNMP
-               notifications for this interface.";
-          }
-          enum disabled {
-            value 2;
-            description
-              "The device will not generate linkUp/linkDown SNMP
-               notifications for this interface.";
-          }
-        }
-        description
-          "Controls whether linkUp/linkDown SNMP notifications
-           should be generated for this interface.
-
-           If this node is not configured, the value 'enabled' is
-           operationally used by the server for interfaces that do
-           not operate on top of any other interface (i.e., there are
-           no 'lower-layer-if' entries), and 'disabled' otherwise.";
-        reference
-          "RFC 2863: The Interfaces Group MIB -
-                     ifLinkUpDownTrapEnable";
-      }
-
-      leaf admin-status {
-        if-feature if-mib;
-        type enumeration {
-          enum up {
-            value 1;
-            description
-              "Ready to pass packets.";
-          }
-          enum down {
-            value 2;
-            description
-              "Not ready to pass packets and not in some test mode.";
-          }
-          enum testing {
-            value 3;
-            description
-              "In some test mode.";
-          }
-        }
-        config false;
-        mandatory true;
-        description
-          "The desired state of the interface.
-
-           This leaf has the same read semantics as ifAdminStatus.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
-      }
-
-      leaf oper-status {
-        type enumeration {
-          enum up {
-            value 1;
-            description
-              "Ready to pass packets.";
-          }
-          enum down {
-            value 2;
-
-            description
-              "The interface does not pass any packets.";
-          }
-          enum testing {
-            value 3;
-            description
-              "In some test mode.  No operational packets can
-               be passed.";
-          }
-          enum unknown {
-            value 4;
-            description
-              "Status cannot be determined for some reason.";
-          }
-          enum dormant {
-            value 5;
-            description
-              "Waiting for some external event.";
-          }
-          enum not-present {
-            value 6;
-            description
-              "Some component (typically hardware) is missing.";
-          }
-          enum lower-layer-down {
-            value 7;
-            description
-              "Down due to state of lower-layer interface(s).";
-          }
-        }
-        config false;
-        mandatory true;
-        description
-          "The current operational state of the interface.
-
-           This leaf has the same semantics as ifOperStatus.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifOperStatus";
-      }
-
-      leaf last-change {
-        type yang:date-and-time;
-        config false;
-        description
-          "The time the interface entered its current operational
-           state.  If the current state was entered prior to the
-           last re-initialization of the local network management
-           subsystem, then this node is not present.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifLastChange";
-      }
-
-      leaf if-index {
-        if-feature if-mib;
-        type int32 {
-          range "1..2147483647";
-        }
-        config false;
-        mandatory true;
-        description
-          "The ifIndex value for the ifEntry represented by this
-           interface.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifIndex";
-      }
-
-      leaf phys-address {
-        type yang:phys-address;
-        config false;
-        description
-          "The interface's address at its protocol sub-layer.  For
-           example, for an 802.x interface, this object normally
-           contains a Media Access Control (MAC) address.  The
-           interface's media-specific modules must define the bit
-           and byte ordering and the format of the value of this
-           object.  For interfaces that do not have such an address
-           (e.g., a serial line), this node is not present.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifPhysAddress";
-      }
-
-      leaf-list higher-layer-if {
-        type interface-ref;
-        config false;
-        description
-          "A list of references to interfaces layered on top of this
-           interface.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifStackTable";
-      }
-
-      leaf-list lower-layer-if {
-        type interface-ref;
-        config false;
-
-        description
-          "A list of references to interfaces layered underneath this
-           interface.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifStackTable";
-      }
-
-      leaf speed {
-        type yang:gauge64;
-        units "bits/second";
-        config false;
-        description
-            "An estimate of the interface's current bandwidth in bits
-             per second.  For interfaces that do not vary in
-             bandwidth or for those where no accurate estimation can
-             be made, this node should contain the nominal bandwidth.
-             For interfaces that have no concept of bandwidth, this
-             node is not present.";
-        reference
-          "RFC 2863: The Interfaces Group MIB -
-                     ifSpeed, ifHighSpeed";
-      }
-
-      container statistics {
-        config false;
-        description
-          "A collection of interface-related statistics objects.";
-
-        leaf discontinuity-time {
-          type yang:date-and-time;
-          mandatory true;
-          description
-            "The time on the most recent occasion at which any one or
-             more of this interface's counters suffered a
-             discontinuity.  If no such discontinuities have occurred
-             since the last re-initialization of the local management
-             subsystem, then this node contains the time the local
-             management subsystem re-initialized itself.";
-        }
-
-        leaf in-octets {
-          type yang:counter64;
-          description
-            "The total number of octets received on the interface,
-             including framing characters.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCInOctets";
-        }
-
-        leaf in-unicast-pkts {
-          type yang:counter64;
-          description
-            "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were not addressed to a
-             multicast or broadcast address at this sub-layer.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
-        }
-
-        leaf in-broadcast-pkts {
-          type yang:counter64;
-          description
-            "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were addressed to a broadcast
-             address at this sub-layer.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCInBroadcastPkts";
-        }
-
-        leaf in-multicast-pkts {
-          type yang:counter64;
-          description
-            "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were addressed to a multicast
-             address at this sub-layer.  For a MAC-layer protocol,
-             this includes both Group and Functional addresses.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCInMulticastPkts";
-        }
-
-        leaf in-discards {
-          type yang:counter32;
-          description
-            "The number of inbound packets that were chosen to be
-             discarded even though no errors had been detected to
-             prevent their being deliverable to a higher-layer
-             protocol.  One possible reason for discarding such a
-             packet could be to free up buffer space.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifInDiscards";
-        }
-
-        leaf in-errors {
-          type yang:counter32;
-          description
-            "For packet-oriented interfaces, the number of inbound
-             packets that contained errors preventing them from being
-             deliverable to a higher-layer protocol.  For character-
-             oriented or fixed-length interfaces, the number of
-             inbound transmission units that contained errors
-             preventing them from being deliverable to a higher-layer
-             protocol.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifInErrors";
-        }
-
-        leaf in-unknown-protos {
-          type yang:counter32;
-
-          description
-            "For packet-oriented interfaces, the number of packets
-             received via the interface that were discarded because
-             of an unknown or unsupported protocol.  For
-             character-oriented or fixed-length interfaces that
-             support protocol multiplexing, the number of
-             transmission units received via the interface that were
-             discarded because of an unknown or unsupported protocol.
-             For any interface that does not support protocol
-             multiplexing, this counter is not present.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
-        }
-
-        leaf out-octets {
-          type yang:counter64;
-          description
-            "The total number of octets transmitted out of the
-             interface, including framing characters.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
-        }
-
-        leaf out-unicast-pkts {
-          type yang:counter64;
-          description
-            "The total number of packets that higher-level protocols
-             requested be transmitted and that were not addressed
-             to a multicast or broadcast address at this sub-layer,
-             including those that were discarded or not sent.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
-        }
-
-        leaf out-broadcast-pkts {
-          type yang:counter64;
-          description
-            "The total number of packets that higher-level protocols
-             requested be transmitted and that were addressed to a
-             broadcast address at this sub-layer, including those
-             that were discarded or not sent.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCOutBroadcastPkts";
-        }
-
-        leaf out-multicast-pkts {
-          type yang:counter64;
-          description
-            "The total number of packets that higher-level protocols
-             requested be transmitted and that were addressed to a
-             multicast address at this sub-layer, including those
-             that were discarded or not sent.  For a MAC-layer
-             protocol, this includes both Group and Functional
-             addresses.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCOutMulticastPkts";
-        }
-
-        leaf out-discards {
-          type yang:counter32;
-          description
-            "The number of outbound packets that were chosen to be
-             discarded even though no errors had been detected to
-             prevent their being transmitted.  One possible reason
-             for discarding such a packet could be to free up buffer
-             space.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifOutDiscards";
-        }
-
-        leaf out-errors {
-          type yang:counter32;
-          description
-            "For packet-oriented interfaces, the number of outbound
-             packets that could not be transmitted because of errors.
-             For character-oriented or fixed-length interfaces, the
-             number of outbound transmission units that could not be
-             transmitted because of errors.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifOutErrors";
-        }
-      }
-
-    }
-  }
-
-  /*
-   * Legacy typedefs
-   */
-
-  typedef interface-state-ref {
-    type leafref {
-      path "/if:interfaces-state/if:interface/if:name";
-    }
-    status deprecated;
-    description
-      "This type is used by data models that need to reference
-       the operationally present interfaces.";
-  }
-
-  /*
-   * Legacy operational state data nodes
-   */
-
-  container interfaces-state {
-    config false;
-    status deprecated;
-    description
-      "Data nodes for the operational state of interfaces.";
-
-    list interface {
-      key "name";
-      status deprecated;
-
-      description
-        "The list of interfaces on the device.
-
-         System-controlled interfaces created by the system are
-         always present in this list, whether or not they are
-         configured.";
-
-      leaf name {
-        type string;
-        status deprecated;
-        description
-          "The name of the interface.
-
-           A server implementation MAY map this leaf to the ifName
-           MIB object.  Such an implementation needs to use some
-           mechanism to handle the differences in size and characters
-           allowed between this leaf and ifName.  The definition of
-           such a mechanism is outside the scope of this document.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifName";
-      }
-
-      leaf type {
-        type identityref {
-          base interface-type;
-        }
-        mandatory true;
-        status deprecated;
-        description
-          "The type of the interface.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifType";
-      }
-
-      leaf admin-status {
-        if-feature if-mib;
-        type enumeration {
-          enum up {
-            value 1;
-            description
-              "Ready to pass packets.";
-          }
-          enum down {
-            value 2;
-            description
-              "Not ready to pass packets and not in some test mode.";
-          }
-          enum testing {
-            value 3;
-            description
-              "In some test mode.";
-          }
-        }
-        mandatory true;
-        status deprecated;
-        description
-          "The desired state of the interface.
-
-           This leaf has the same read semantics as ifAdminStatus.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
-      }
-
-      leaf oper-status {
-        type enumeration {
-          enum up {
-            value 1;
-            description
-              "Ready to pass packets.";
-          }
-          enum down {
-            value 2;
-            description
-              "The interface does not pass any packets.";
-          }
-          enum testing {
-            value 3;
-            description
-              "In some test mode.  No operational packets can
-               be passed.";
-          }
-          enum unknown {
-            value 4;
-            description
-              "Status cannot be determined for some reason.";
-          }
-          enum dormant {
-            value 5;
-            description
-              "Waiting for some external event.";
-          }
-          enum not-present {
-            value 6;
-            description
-              "Some component (typically hardware) is missing.";
-          }
-          enum lower-layer-down {
-            value 7;
-            description
-              "Down due to state of lower-layer interface(s).";
-          }
-        }
-        mandatory true;
-        status deprecated;
-        description
-          "The current operational state of the interface.
-
-           This leaf has the same semantics as ifOperStatus.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifOperStatus";
-      }
-
-      leaf last-change {
-        type yang:date-and-time;
-        status deprecated;
-        description
-          "The time the interface entered its current operational
-           state.  If the current state was entered prior to the
-           last re-initialization of the local network management
-           subsystem, then this node is not present.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifLastChange";
-      }
-
-      leaf if-index {
-        if-feature if-mib;
-        type int32 {
-          range "1..2147483647";
-        }
-        mandatory true;
-        status deprecated;
-        description
-          "The ifIndex value for the ifEntry represented by this
-           interface.";
-
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifIndex";
-      }
-
-      leaf phys-address {
-        type yang:phys-address;
-        status deprecated;
-        description
-          "The interface's address at its protocol sub-layer.  For
-           example, for an 802.x interface, this object normally
-           contains a Media Access Control (MAC) address.  The
-           interface's media-specific modules must define the bit
-           and byte ordering and the format of the value of this
-           object.  For interfaces that do not have such an address
-           (e.g., a serial line), this node is not present.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifPhysAddress";
-      }
-
-      leaf-list higher-layer-if {
-        type interface-state-ref;
-        status deprecated;
-        description
-          "A list of references to interfaces layered on top of this
-           interface.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifStackTable";
-      }
-
-      leaf-list lower-layer-if {
-        type interface-state-ref;
-        status deprecated;
-        description
-          "A list of references to interfaces layered underneath this
-           interface.";
-        reference
-          "RFC 2863: The Interfaces Group MIB - ifStackTable";
-      }
-
-      leaf speed {
-        type yang:gauge64;
-        units "bits/second";
-        status deprecated;
-        description
-            "An estimate of the interface's current bandwidth in bits
-             per second.  For interfaces that do not vary in
-             bandwidth or for those where no accurate estimation can
-
-             be made, this node should contain the nominal bandwidth.
-             For interfaces that have no concept of bandwidth, this
-             node is not present.";
-        reference
-          "RFC 2863: The Interfaces Group MIB -
-                     ifSpeed, ifHighSpeed";
-      }
-
-      container statistics {
-        status deprecated;
-        description
-          "A collection of interface-related statistics objects.";
-
-        leaf discontinuity-time {
-          type yang:date-and-time;
-          mandatory true;
-          status deprecated;
-          description
-            "The time on the most recent occasion at which any one or
-             more of this interface's counters suffered a
-             discontinuity.  If no such discontinuities have occurred
-             since the last re-initialization of the local management
-             subsystem, then this node contains the time the local
-             management subsystem re-initialized itself.";
-        }
-
-        leaf in-octets {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The total number of octets received on the interface,
-             including framing characters.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCInOctets";
-        }
-
-        leaf in-unicast-pkts {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were not addressed to a
-             multicast or broadcast address at this sub-layer.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
-        }
-
-        leaf in-broadcast-pkts {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were addressed to a broadcast
-             address at this sub-layer.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCInBroadcastPkts";
-        }
-
-        leaf in-multicast-pkts {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were addressed to a multicast
-             address at this sub-layer.  For a MAC-layer protocol,
-             this includes both Group and Functional addresses.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCInMulticastPkts";
-        }
-
-        leaf in-discards {
-          type yang:counter32;
-          status deprecated;
-
-          description
-            "The number of inbound packets that were chosen to be
-             discarded even though no errors had been detected to
-             prevent their being deliverable to a higher-layer
-             protocol.  One possible reason for discarding such a
-             packet could be to free up buffer space.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifInDiscards";
-        }
-
-        leaf in-errors {
-          type yang:counter32;
-          status deprecated;
-          description
-            "For packet-oriented interfaces, the number of inbound
-             packets that contained errors preventing them from being
-             deliverable to a higher-layer protocol.  For character-
-             oriented or fixed-length interfaces, the number of
-             inbound transmission units that contained errors
-             preventing them from being deliverable to a higher-layer
-             protocol.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifInErrors";
-        }
-
-        leaf in-unknown-protos {
-          type yang:counter32;
-          status deprecated;
-          description
-            "For packet-oriented interfaces, the number of packets
-             received via the interface that were discarded because
-             of an unknown or unsupported protocol.  For
-             character-oriented or fixed-length interfaces that
-             support protocol multiplexing, the number of
-             transmission units received via the interface that were
-             discarded because of an unknown or unsupported protocol.
-             For any interface that does not support protocol
-             multiplexing, this counter is not present.
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
-        }
-
-        leaf out-octets {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The total number of octets transmitted out of the
-             interface, including framing characters.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
-        }
-
-        leaf out-unicast-pkts {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The total number of packets that higher-level protocols
-             requested be transmitted and that were not addressed
-             to a multicast or broadcast address at this sub-layer,
-             including those that were discarded or not sent.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
-        }
-
-        leaf out-broadcast-pkts {
-          type yang:counter64;
-          status deprecated;
-
-          description
-            "The total number of packets that higher-level protocols
-             requested be transmitted and that were addressed to a
-             broadcast address at this sub-layer, including those
-             that were discarded or not sent.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCOutBroadcastPkts";
-        }
-
-        leaf out-multicast-pkts {
-          type yang:counter64;
-          status deprecated;
-          description
-            "The total number of packets that higher-level protocols
-             requested be transmitted and that were addressed to a
-             multicast address at this sub-layer, including those
-             that were discarded or not sent.  For a MAC-layer
-             protocol, this includes both Group and Functional
-             addresses.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                       ifHCOutMulticastPkts";
-        }
-
-        leaf out-discards {
-          type yang:counter32;
-          status deprecated;
-          description
-            "The number of outbound packets that were chosen to be
-             discarded even though no errors had been detected to
-             prevent their being transmitted.  One possible reason
-             for discarding such a packet could be to free up buffer
-             space.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifOutDiscards";
-        }
-
-        leaf out-errors {
-          type yang:counter32;
-          status deprecated;
-          description
-            "For packet-oriented interfaces, the number of outbound
-             packets that could not be transmitted because of errors.
-             For character-oriented or fixed-length interfaces, the
-             number of outbound transmission units that could not be
-             transmitted because of errors.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifOutErrors";
-        }
-      }
-    }
-  }
-}
diff --git a/data-model/draft/ietf-yang-types@2013-07-15.yang b/data-model/draft/ietf-yang-types@2013-07-15.yang
deleted file mode 100644 (file)
index ee58fa3..0000000
+++ /dev/null
@@ -1,474 +0,0 @@
-module ietf-yang-types {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
-  prefix "yang";
-
-  organization
-   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-  contact
-   "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-  description
-   "This module contains a collection of generally useful derived
-    YANG data types.
-
-    Copyright (c) 2013 IETF Trust and the persons identified as
-    authors of the code.  All rights reserved.
-
-    Redistribution and use in source and binary forms, with or
-    without modification, is permitted pursuant to, and subject
-    to the license terms contained in, the Simplified BSD License
-    set forth in Section 4.c of the IETF Trust's Legal Provisions
-    Relating to IETF Documents
-    (http://trustee.ietf.org/license-info).
-
-    This version of this YANG module is part of RFC 6991; see
-    the RFC itself for full legal notices.";
-
-  revision 2013-07-15 {
-    description
-     "This revision adds the following new data types:
-      - yang-identifier
-      - hex-string
-      - uuid
-      - dotted-quad";
-    reference
-     "RFC 6991: Common YANG Data Types";
-  }
-
-  revision 2010-09-24 {
-    description
-     "Initial revision.";
-    reference
-     "RFC 6021: Common YANG Data Types";
-  }
-
-  /*** collection of counter and gauge types ***/
-
-  typedef counter32 {
-    type uint32;
-    description
-     "The counter32 type represents a non-negative integer
-      that monotonically increases until it reaches a
-      maximum value of 2^32-1 (4294967295 decimal), when it
-      wraps around and starts increasing again from zero.
-
-      Counters have no defined 'initial' value, and thus, a
-      single value of a counter has (in general) no information
-      content.  Discontinuities in the monotonically increasing
-      value normally occur at re-initialization of the
-      management system, and at other times as specified in the
-      description of a schema node using this type.  If such
-      other times can occur, for example, the creation of
-      a schema node of type counter32 at times other than
-      re-initialization, then a corresponding schema node
-      should be defined, with an appropriate type, to indicate
-      the last discontinuity.
-
-      The counter32 type should not be used for configuration
-      schema nodes.  A default statement SHOULD NOT be used in
-      combination with the type counter32.
-
-      In the value set and its semantics, this type is equivalent
-      to the Counter32 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef zero-based-counter32 {
-    type yang:counter32;
-    default "0";
-    description
-     "The zero-based-counter32 type represents a counter32
-      that has the defined 'initial' value zero.
-
-      A schema node of this type will be set to zero (0) on creation
-      and will thereafter increase monotonically until it reaches
-      a maximum value of 2^32-1 (4294967295 decimal), when it
-      wraps around and starts increasing again from zero.
-
-      Provided that an application discovers a new schema node
-      of this type within the minimum time to wrap, it can use the
-      'initial' value as a delta.  It is important for a management
-      station to be aware of this minimum time and the actual time
-      between polls, and to discard data if the actual time is too
-      long or there is no defined minimum time.
-
-      In the value set and its semantics, this type is equivalent
-      to the ZeroBasedCounter32 textual convention of the SMIv2.";
-    reference
-      "RFC 4502: Remote Network Monitoring Management Information
-                 Base Version 2";
-  }
-
-  typedef counter64 {
-    type uint64;
-    description
-     "The counter64 type represents a non-negative integer
-      that monotonically increases until it reaches a
-      maximum value of 2^64-1 (18446744073709551615 decimal),
-      when it wraps around and starts increasing again from zero.
-
-      Counters have no defined 'initial' value, and thus, a
-      single value of a counter has (in general) no information
-      content.  Discontinuities in the monotonically increasing
-      value normally occur at re-initialization of the
-      management system, and at other times as specified in the
-      description of a schema node using this type.  If such
-      other times can occur, for example, the creation 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.
-
-      The counter64 type should not be used for configuration
-      schema nodes.  A default statement SHOULD NOT be used in
-      combination with the type counter64.
-
-      In the value set and its semantics, this type is equivalent
-      to the Counter64 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef zero-based-counter64 {
-    type yang:counter64;
-    default "0";
-    description
-     "The zero-based-counter64 type represents a counter64 that
-      has the defined 'initial' value zero.
-
-      A schema node of this type will be set to zero (0) on creation
-      and will thereafter increase monotonically until it reaches
-      a maximum value of 2^64-1 (18446744073709551615 decimal),
-      when it wraps around and starts increasing again from zero.
-
-      Provided that an application discovers a new schema node
-      of this type within the minimum time to wrap, it can use the
-      'initial' value as a delta.  It is important for a management
-      station to be aware of this minimum time and the actual time
-      between polls, and to discard data if the actual time is too
-      long or there is no defined minimum time.
-
-      In the value set and its semantics, this type is equivalent
-      to the ZeroBasedCounter64 textual convention of the SMIv2.";
-    reference
-     "RFC 2856: Textual Conventions for Additional High Capacity
-                Data Types";
-  }
-
-  typedef gauge32 {
-    type uint32;
-    description
-     "The gauge32 type represents a non-negative integer, which
-      may increase or decrease, but shall never exceed a maximum
-      value, nor fall below a minimum value.  The maximum value
-      cannot be greater than 2^32-1 (4294967295 decimal), and
-      the minimum value cannot be smaller than 0.  The value of
-      a gauge32 has its maximum value whenever the information
-      being modeled is greater than or equal to its maximum
-      value, and has its minimum value whenever the information
-      being modeled is smaller than or equal to its minimum value.
-      If the information being modeled subsequently decreases
-      below (increases above) the maximum (minimum) value, the
-      gauge32 also decreases (increases).
-
-      In the value set and its semantics, this type is equivalent
-      to the Gauge32 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef gauge64 {
-    type uint64;
-    description
-     "The gauge64 type represents a non-negative integer, which
-      may increase or decrease, but shall never exceed a maximum
-      value, nor fall below a minimum value.  The maximum value
-      cannot be greater than 2^64-1 (18446744073709551615), and
-      the minimum value cannot be smaller than 0.  The value of
-      a gauge64 has its maximum value whenever the information
-      being modeled is greater than or equal to its maximum
-      value, and has its minimum value whenever the information
-      being modeled is smaller than or equal to its minimum value.
-      If the information being modeled subsequently decreases
-      below (increases above) the maximum (minimum) value, the
-      gauge64 also decreases (increases).
-
-      In the value set and its semantics, this type is equivalent
-      to the CounterBasedGauge64 SMIv2 textual convention defined
-      in RFC 2856";
-    reference
-     "RFC 2856: Textual Conventions for Additional High Capacity
-                Data Types";
-  }
-
-  /*** collection of identifier-related types ***/
-
-  typedef object-identifier {
-    type string {
-      pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
-            + '(\.(0|([1-9]\d*)))*';
-    }
-    description
-     "The object-identifier type represents administratively
-      assigned names in a registration-hierarchical-name tree.
-
-      Values of this type are denoted as a sequence of numerical
-      non-negative sub-identifier values.  Each sub-identifier
-      value MUST NOT exceed 2^32-1 (4294967295).  Sub-identifiers
-      are separated by single dots and without any intermediate
-      whitespace.
-
-      The ASN.1 standard restricts the value space of the first
-      sub-identifier to 0, 1, or 2.  Furthermore, the value space
-      of the second sub-identifier is restricted to the range
-      0 to 39 if the first sub-identifier is 0 or 1.  Finally,
-      the ASN.1 standard requires that an object identifier
-      has always at least two sub-identifiers.  The pattern
-      captures these restrictions.
-
-      Although the number of sub-identifiers is not limited,
-      module designers should realize that there may be
-      implementations that stick with the SMIv2 limit of 128
-      sub-identifiers.
-
-      This type is a superset of the SMIv2 OBJECT IDENTIFIER type
-      since it is not restricted to 128 sub-identifiers.  Hence,
-      this type SHOULD NOT be used to represent the SMIv2 OBJECT
-      IDENTIFIER type; the object-identifier-128 type SHOULD be
-      used instead.";
-    reference
-     "ISO9834-1: Information technology -- Open Systems
-      Interconnection -- Procedures for the operation of OSI
-      Registration Authorities: General procedures and top
-      arcs of the ASN.1 Object Identifier tree";
-  }
-
-  typedef object-identifier-128 {
-    type object-identifier {
-      pattern '\d*(\.\d*){1,127}';
-    }
-    description
-     "This type represents object-identifiers restricted to 128
-      sub-identifiers.
-
-      In the value set and its semantics, this type is equivalent
-      to the OBJECT IDENTIFIER type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef yang-identifier {
-    type string {
-      length "1..max";
-      pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
-      pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
-    }
-    description
-      "A YANG identifier string as defined by the 'identifier'
-       rule in Section 12 of RFC 6020.  An identifier must
-       start with an alphabetic character or an underscore
-       followed by an arbitrary sequence of alphabetic or
-       numeric characters, underscores, hyphens, or dots.
-
-       A YANG identifier MUST NOT start with any possible
-       combination of the lowercase or uppercase character
-       sequence 'xml'.";
-    reference
-      "RFC 6020: YANG - A Data Modeling Language for the Network
-                 Configuration Protocol (NETCONF)";
-  }
-
-  /*** collection of types related to date and time***/
-
-  typedef date-and-time {
-    type string {
-      pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
-            + '(Z|[\+\-]\d{2}:\d{2})';
-    }
-    description
-     "The date-and-time type is a profile of the ISO 8601
-      standard for representation of dates and times using the
-      Gregorian calendar.  The profile is defined by the
-      date-time production in Section 5.6 of RFC 3339.
-
-      The date-and-time type is compatible with the dateTime XML
-      schema type with the following notable exceptions:
-
-      (a) The date-and-time type does not allow negative years.
-
-      (b) The date-and-time time-offset -00:00 indicates an unknown
-          time zone (see RFC 3339) while -00:00 and +00:00 and Z
-          all represent the same time zone in dateTime.
-
-      (c) The canonical format (see below) of data-and-time values
-          differs from the canonical format used by the dateTime XML
-          schema type, which requires all times to be in UTC using
-          the time-offset 'Z'.
-
-      This type is not equivalent to the DateAndTime textual
-      convention of the SMIv2 since RFC 3339 uses a different
-      separator between full-date and full-time and provides
-      higher resolution of time-secfrac.
-
-      The canonical format for date-and-time values with a known time
-      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 offset to UTC time will cause date-and-time values
-      to change accordingly.  Such changes might happen periodically
-      in case a server follows automatically daylight saving time
-      (DST) time zone offset changes.  The canonical format for
-      date-and-time values with an unknown time zone (usually
-      referring to the notion of local time) uses the time-offset
-      -00:00.";
-    reference
-     "RFC 3339: Date and Time on the Internet: Timestamps
-      RFC 2579: Textual Conventions for SMIv2
-      XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
-  }
-
-  typedef timeticks {
-    type uint32;
-    description
-     "The timeticks type represents a non-negative integer that
-      represents the time, modulo 2^32 (4294967296 decimal), in
-      hundredths of a second between two epochs.  When a schema
-      node is defined that uses this type, the description of
-      the schema node identifies both of the reference epochs.
-
-      In the value set and its semantics, this type is equivalent
-      to the TimeTicks type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef timestamp {
-    type yang:timeticks;
-    description
-     "The timestamp type represents the value of an associated
-      timeticks schema node at which a specific occurrence
-      happened.  The specific occurrence must be defined in the
-      description of any schema node defined using this type.  When
-      the specific occurrence occurred prior to the last time the
-      associated timeticks attribute was zero, then the timestamp
-      value is zero.  Note that this requires all timestamp values
-      to be reset to zero when the value of the associated timeticks
-      attribute reaches 497+ days and wraps around to zero.
-
-      The associated timeticks schema node must be specified
-      in the description of any schema node using this type.
-
-      In the value set and its semantics, this type is equivalent
-      to the TimeStamp textual convention of the SMIv2.";
-    reference
-     "RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  /*** collection of generic address types ***/
-
-  typedef phys-address {
-    type string {
-      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
-    }
-
-    description
-     "Represents media- or physical-level addresses represented
-      as a sequence octets, each octet represented by two hexadecimal
-      numbers.  Octets are separated by colons.  The canonical
-      representation uses lowercase characters.
-
-      In the value set and its semantics, this type is equivalent
-      to the PhysAddress textual convention of the SMIv2.";
-    reference
-     "RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  typedef mac-address {
-    type string {
-      pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
-    }
-    description
-     "The mac-address type represents an IEEE 802 MAC address.
-      The canonical representation uses lowercase characters.
-
-      In the value set and its semantics, this type is equivalent
-      to the MacAddress textual convention of the SMIv2.";
-    reference
-     "IEEE 802: IEEE Standard for Local and Metropolitan Area
-                Networks: Overview and Architecture
-      RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  /*** collection of XML-specific types ***/
-
-  typedef xpath1.0 {
-    type string;
-    description
-     "This type represents an XPATH 1.0 expression.
-
-      When a schema node is defined that uses this type, the
-      description of the schema node MUST specify the XPath
-      context in which the XPath expression is evaluated.";
-    reference
-     "XPATH: XML Path Language (XPath) Version 1.0";
-  }
-
-  /*** collection of string types ***/
-
-  typedef hex-string {
-    type string {
-      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
-    }
-    description
-     "A hexadecimal string with octets represented as hex digits
-      separated by colons.  The canonical representation uses
-      lowercase characters.";
-  }
-
-  typedef uuid {
-    type string {
-      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}';
-    }
-    description
-     "A Universally Unique IDentifier in the string representation
-      defined in RFC 4122.  The canonical representation uses
-      lowercase characters.
-
-      The following is an example of a UUID in string representation:
-      f81d4fae-7dec-11d0-a765-00a0c91e6bf6
-      ";
-    reference
-     "RFC 4122: A Universally Unique IDentifier (UUID) URN
-                Namespace";
-  }
-
-  typedef dotted-quad {
-    type string {
-      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])';
-    }
-    description
-      "An unsigned 32-bit number expressed in the dotted-quad
-       notation, i.e., four octets written as decimal numbers
-       and separated with the '.' (full stop) character.";
-  }
-}
diff --git a/data-model/released/README.md b/data-model/released/README.md
deleted file mode 100644 (file)
index 9d066ce..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-# Released data models
-
-A directory containing released data modules of O-RAN Alliance and O-RAN Software Community.
diff --git a/data-model/yang/README.md b/data-model/yang/README.md
new file mode 100644 (file)
index 0000000..29dbc94
--- /dev/null
@@ -0,0 +1,11 @@
+# YANG
+
+NetConf/YANG is defined by O-RAN Alliance Interface Spcification v2 as protocol
+for Configuration Management for FCAPS functions (accept the A: Accounting) for
+the disaggregated RAN.
+
+As some of the data models in working progress subfolders are used to 
+distinglish "working" and "published". The folder "sim" is used exclusively 
+by the 
+[O-RAN-SC SIM project](https://wiki.o-ran-sc.org/display/SIM/SIM?src=sidebar) 
+project.
diff --git a/data-model/yang/sim/README.md b/data-model/yang/sim/README.md
new file mode 100644 (file)
index 0000000..03ecbd2
--- /dev/null
@@ -0,0 +1,4 @@
+# sim
+
+The folder "sim" is used exclusively by the 
+[O-RAN-SC SIM project](https://wiki.o-ran-sc.org/display/SIM/SIM?src=sidebar).
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/ietf-alarms.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/ietf-alarms.yang
new file mode 120000 (symlink)
index 0000000..fab3a21
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-alarms.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/ietf-hardware.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/ietf-hardware.yang
new file mode 120000 (symlink)
index 0000000..d63ae98
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-hardware.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/ietf-interfaces.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/ietf-interfaces.yang
new file mode 120000 (symlink)
index 0000000..019946c
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-interfaces.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/ietf-yang-types.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/ietf-yang-types.yang
new file mode 120000 (symlink)
index 0000000..5f30137
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-yang-types.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-alarms-v1.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-alarms-v1.yang
new file mode 120000 (symlink)
index 0000000..ffb1b64
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-alarms-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-common-alarms-v1.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-common-alarms-v1.yang
new file mode 120000 (symlink)
index 0000000..4378ece
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-common-alarms-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-hardware-v1.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-hardware-v1.yang
new file mode 120000 (symlink)
index 0000000..97c1467
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-hardware-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-interfaces-v1.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-interfaces-v1.yang
new file mode 120000 (symlink)
index 0000000..d97789e
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-interfaces-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-alarms-v1.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-ric-alarms-v1.yang
new file mode 100644 (file)
index 0000000..a6089c2
--- /dev/null
@@ -0,0 +1,72 @@
+module o-ran-sc-ric-alarms-v1 {
+  yang-version 1.1;
+  namespace "urn:o-ran:ric:alarms:1.0";
+  prefix osc-ric-al;
+
+  import ietf-alarms {
+    prefix al;
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran.org";
+  description
+    "This module defines the alarm identities for the O-RAN-SC Near realtime RAN Intelligent Controller.
+
+     Copyright 2019 the O-RAN Alliance.
+
+     Licensed under the Apache License, Version 2.0 (the 'License');
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an 'AS IS' BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.";
+
+  revision 2020-03-08 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
+
+  identity alarm-type-id {
+    base al:alarm-type-id;
+    description
+      "An abstract alarm type used for all O-RAN-SC specific alarm types for
+       Managed Function Non-RT-RIC.";
+  }
+
+  identity e2-connection-loss {
+    base alarm-type-id;
+    description
+      "Loss of E2 connection to E2 node.
+       Instructions:
+       Check if reconnect happened, e.g. using the health check in RIC-95.";
+  }
+  identity time-out {
+    base alarm-type-id;
+    description
+      "Internal routing table update distribution might be incomplete
+            due to time out.
+       Instructions:
+       Operator to check if there were any failures in any of the components
+                  involved (xApp restarts, for example)if no such failures, operator
+                  might have to update time out settings in the configuration to
+                  adjust RIC system to scheduling latencies of the underlying cloud
+                  platform.";
+  }
+  identity overload {
+    base alarm-type-id;
+    description
+      "RIC messages could not be send or received due to temporary overload.
+       Instructions:
+       Operator to check for any failures. If no failures, operator might
+       have to adjust buffer sizes and timeouts and/or scale out the system.";
+  }
+}
diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-root-v1.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-root-v1.yang
new file mode 120000 (symlink)
index 0000000..6557df7
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-root-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-types-v1.yang b/data-model/yang/working/o-ran-sc/near-rt-ric/o-ran-sc-types-v1.yang
new file mode 120000 (symlink)
index 0000000..a07750c
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-types-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/ietf-alarms.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/ietf-alarms.yang
new file mode 120000 (symlink)
index 0000000..fab3a21
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-alarms.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/ietf-hardware.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/ietf-hardware.yang
new file mode 120000 (symlink)
index 0000000..d63ae98
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-hardware.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/ietf-interfaces.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/ietf-interfaces.yang
new file mode 120000 (symlink)
index 0000000..019946c
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-interfaces.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/ietf-yang-types.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/ietf-yang-types.yang
new file mode 120000 (symlink)
index 0000000..5f30137
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-yang-types.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-alarms-v1.yang
new file mode 120000 (symlink)
index 0000000..ffb1b64
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-alarms-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-common-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-common-alarms-v1.yang
new file mode 120000 (symlink)
index 0000000..4378ece
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-common-alarms-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-alarms-v1.yang
new file mode 100644 (file)
index 0000000..e29ff2d
--- /dev/null
@@ -0,0 +1,57 @@
+module o-ran-sc-cu-cp-alarms-v1 {
+  yang-version 1.1;
+  namespace "urn:o-ran-sc:cu:cp:alarms:1.0";
+  prefix osc-cu-cp-al;
+
+  import ietf-alarms {
+    prefix al;
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran-sc.org";
+  description
+    "This module defines the alarm identities for the O-RAN-SC Central Unit
+     Control Plane.
+
+     Copyright 2020 the O-RAN Software Community.
+
+     Licensed under the Apache License, Version 2.0 (the 'License');
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an 'AS IS' BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.";
+
+  revision 2020-01-18 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
+
+  identity alarm-type-id {
+    base al:alarm-type-id;
+    description
+      "An abstract alarm type used for all O-RAN-SC specific alarm types for
+       Managed Function O-CU-CP.";
+  }
+
+  identity huston-we-have-a-problem {
+    base alarm-type-id;
+    description
+      "A generic alarm which is under development and analysis,
+       must not happen in production environment.
+       Instructions:
+         Create an JIRA issue and provide the following intormation:
+         - SMO version, build number or git hash
+         - O-CU-CP version, build number or git hash
+         - A procedure to reproduce the alarm.";
+  }
+}
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-cu-cp-v1.yang
new file mode 100644 (file)
index 0000000..27d9833
--- /dev/null
@@ -0,0 +1,64 @@
+module o-ran-sc-cu-cp-v1 {
+  yang-version 1.1;
+  namespace "urn:o-ran:sc:centalized-unit:control-plane:1.0";
+  prefix ocucp;
+
+  import o-ran-sc-root-v1 {
+    prefix root;
+  }
+  import o-ran-sc-types-v1 {
+    prefix ot;
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran.org";
+  description
+    "This module contains the O-RAN Software Community CentralizedUnit
+     Control Plane specific O1 interface APIs.
+
+     Copyright 2020 the O-RAN Alliance.
+
+     Licensed under the Apache License, Version 2.0 (the 'License');
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an 'AS IS' BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.";
+
+  revision 2020-02-20 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
+
+  // identity
+
+  identity o-cu-cp {
+    base ot:control-function-type;
+    description
+      "TODO: Nice description";
+  }
+
+  // grouping
+
+  grouping o-cu-cp-specific-grp {
+    description
+      "TODO: add your specific leafs, lists, containers here.";
+  }
+
+  // Inherit from controlled-function
+  augment "/root:controlled-element/root:controlled-function" {
+    when "derived-from-or-self(./root:function-type, 'ocucp:o-cu-cp')";
+    uses o-cu-cp-specific-grp;
+    description
+      "TODO: Nice description";
+  }
+}
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-hardware-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-hardware-v1.yang
new file mode 120000 (symlink)
index 0000000..97c1467
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-hardware-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-interfaces-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-interfaces-v1.yang
new file mode 120000 (symlink)
index 0000000..d97789e
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-interfaces-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-root-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-root-v1.yang
new file mode 120000 (symlink)
index 0000000..6557df7
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-root-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-types-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-cp/o-ran-sc-types-v1.yang
new file mode 120000 (symlink)
index 0000000..a07750c
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-types-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/ietf-alarms.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/ietf-alarms.yang
new file mode 120000 (symlink)
index 0000000..fab3a21
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-alarms.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/ietf-hardware.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/ietf-hardware.yang
new file mode 120000 (symlink)
index 0000000..d63ae98
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-hardware.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/ietf-interfaces.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/ietf-interfaces.yang
new file mode 120000 (symlink)
index 0000000..019946c
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-interfaces.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/ietf-yang-types.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/ietf-yang-types.yang
new file mode 120000 (symlink)
index 0000000..5f30137
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-yang-types.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-alarms-v1.yang
new file mode 120000 (symlink)
index 0000000..ffb1b64
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-alarms-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-common-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-common-alarms-v1.yang
new file mode 120000 (symlink)
index 0000000..4378ece
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-common-alarms-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-alarms-v1.yang
new file mode 100644 (file)
index 0000000..020103f
--- /dev/null
@@ -0,0 +1,57 @@
+module o-ran-sc-cu-up-alarms-v1 {
+  yang-version 1.1;
+  namespace "urn:o-ran-sc:cu:up:alarms:1.0";
+  prefix osc-cu-up-al;
+
+  import ietf-alarms {
+    prefix al;
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran-sc.org";
+  description
+    "This module defines the alarm identities for the O-RAN-SC Central Unit
+     User Plane.
+
+     Copyright 2020 the O-RAN Software Community.
+
+     Licensed under the Apache License, Version 2.0 (the 'License');
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an 'AS IS' BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.";
+
+  revision 2020-01-18 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
+
+  identity alarm-type-id {
+    base al:alarm-type-id;
+    description
+      "An abstract alarm type used for all O-RAN-SC specific alarm types for
+       Managed Function O-CU-UP.";
+  }
+
+  identity huston-we-have-a-problem {
+    base alarm-type-id;
+    description
+      "A generic alarm which is under development and analysis,
+       must not happen in production environment.
+       Instructions:
+         Create an JIRA issue and provide the following intormation:
+         - SMO version, build number or git hash
+         - O-CU-UP version, build number or git hash
+         - A procedure to reproduce the alarm.";
+  }
+}
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-cu-up-v1.yang
new file mode 100644 (file)
index 0000000..9f6aee6
--- /dev/null
@@ -0,0 +1,64 @@
+module o-ran-sc-cu-up-v1 {
+  yang-version 1.1;
+  namespace "urn:o-ran:sc:centalized-unit:user-plane:1.0";
+  prefix ocuup;
+
+  import o-ran-sc-root-v1 {
+    prefix root;
+  }
+  import o-ran-sc-types-v1 {
+    prefix ot;
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran.org";
+  description
+    "This module contains the O-RAN Software Community CentralizedUnit
+     User Plane specific O1 interface APIs.
+
+     Copyright 2020 the O-RAN Alliance.
+
+     Licensed under the Apache License, Version 2.0 (the 'License');
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an 'AS IS' BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.";
+
+  revision 2020-02-20 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
+
+  // identity
+
+  identity o-cu-up {
+    base ot:control-function-type;
+    description
+      "TODO: Nice description";
+  }
+
+  // grouping
+
+  grouping o-cu-up-specific-grp {
+    description
+      "TODO: add your specific leafs, lists, containers here.";
+  }
+
+  // Inherit from controlled-function
+  augment "/root:controlled-element/root:controlled-function" {
+    when "derived-from-or-self(./root:function-type, 'ocuup:o-cu-up')";
+    uses o-cu-up-specific-grp;
+    description
+      "TODO: Nice description";
+  }
+}
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-hardware-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-hardware-v1.yang
new file mode 120000 (symlink)
index 0000000..97c1467
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-hardware-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-interfaces-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-interfaces-v1.yang
new file mode 120000 (symlink)
index 0000000..d97789e
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-interfaces-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-root-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-root-v1.yang
new file mode 120000 (symlink)
index 0000000..6557df7
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-root-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-types-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-cu-up/o-ran-sc-types-v1.yang
new file mode 120000 (symlink)
index 0000000..a07750c
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-types-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/ietf-alarms.yang b/data-model/yang/working/o-ran-sc/o-ran-du/ietf-alarms.yang
new file mode 120000 (symlink)
index 0000000..fab3a21
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-alarms.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/ietf-hardware.yang b/data-model/yang/working/o-ran-sc/o-ran-du/ietf-hardware.yang
new file mode 120000 (symlink)
index 0000000..d63ae98
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-hardware.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/ietf-interfaces.yang b/data-model/yang/working/o-ran-sc/o-ran-du/ietf-interfaces.yang
new file mode 120000 (symlink)
index 0000000..019946c
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-interfaces.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/ietf-yang-types.yang b/data-model/yang/working/o-ran-sc/o-ran-du/ietf-yang-types.yang
new file mode 120000 (symlink)
index 0000000..5f30137
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-yang-types.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-alarms-v1.yang
new file mode 120000 (symlink)
index 0000000..ffb1b64
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-alarms-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-common-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-common-alarms-v1.yang
new file mode 120000 (symlink)
index 0000000..4378ece
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-common-alarms-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-alarms-v1.yang
new file mode 100644 (file)
index 0000000..e19c245
--- /dev/null
@@ -0,0 +1,76 @@
+module o-ran-sc-du-alarms-v1 {
+    yang-version 1.1;
+    namespace "urn:o-ran-sc:du:alarms:1.0";
+    prefix osc-du-al;
+
+    import ietf-alarms {
+        prefix al;
+    }
+
+    organization
+      "O-RAN Software Community";
+    contact
+      "www.o-ran-sc.org";
+    description
+      "This module defines the alarm identities for the O-RAN-SC Distributed Unit.
+       
+       Copyright 2020 the O-RAN Software Community.
+       
+       Licensed under the Apache License, Version 2.0 (the 'License');
+       you may not use this file except in compliance with the License.
+       You may obtain a copy of the License at
+       
+        http://www.apache.org/licenses/LICENSE-2.0
+       
+       Unless required by applicable law or agreed to in writing, software
+       distributed under the License is distributed on an 'AS IS' BASIS,
+       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+       See the License for the specific language governing permissions and
+       limitations under the License.";
+
+    revision 2020-03-08 {
+        description
+          "initial revision";
+        reference
+          "O-RAN-OAM-Interface-Specification (O1)";
+    }
+
+    identity alarm-type-id {
+        base al:alarm-type-id;
+        description
+          "An abstract alarm type used for all O-RAN-SC specific alarm types for
+           Managed Function O-DU.";
+    }
+
+    identity loss-of-timing-synchronization {
+        base alarm-type-id;
+        description
+          "O-DU loss of time synchronization.
+            Instructions:
+            1) Verify the configuration of time synchronization on the O-DU.
+            2) Verify the connectivity between the O-DU and the synchronization
+               source in terms of routing and firewall settings along the path.
+            3) Check if QoS requirements between O-DU and synchronization source
+               are met.";
+    }
+    identity connection-loss-to-o-ru {
+        base alarm-type-id;
+        description
+          "O-DU loss of connection to O-RU.
+            Instructions:
+              1) Verify the configuration on O-DU and on O-RU.
+              2) Verify the connectivity between O-DU and O-RU in terms of 
+                 routing
+           and firewall settings along the path.";
+    }
+    identity o-du-low-configuration-loss-from-o-du-high {
+        base alarm-type-id;
+        description
+          "O-DU Low loss of configuration from O-DU High.
+           Instructions:
+             Create an JIRA issue and provide the following information:
+             - SMO version, build number or git hash
+             - O-DU version, build number or git hash
+             - A procedure to reproduce the alarm.";
+    }
+}
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-v1.yang
new file mode 100644 (file)
index 0000000..bbcab1f
--- /dev/null
@@ -0,0 +1,64 @@
+module o-ran-sc-du-v1 {
+  yang-version 1.1;
+  namespace "urn:o-ran:sc:distributed-unit:1.0";
+  prefix odu;
+
+  import o-ran-sc-root-v1 {
+    prefix root;
+  }
+  import o-ran-sc-types-v1 {
+    prefix ot;
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran.org";
+  description
+    "This module contains the O-RAN Software Community DistributedUnit specific
+     O1 interface APIs.
+
+     Copyright 2020 the O-RAN Alliance.
+
+     Licensed under the Apache License, Version 2.0 (the 'License');
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an 'AS IS' BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.";
+
+  revision 2020-02-20 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
+
+  // identity
+
+  identity o-du {
+    base ot:control-function-type;
+    description
+      "TODO: Nice description";
+  }
+
+  // grouping
+
+  grouping o-du-specific-grp {
+    description
+      "TODO: add your specific leafs, lists, containers here.";
+  }
+
+  // Inherit from controlled-function
+  augment "/root:controlled-element/root:controlled-function" {
+    when "derived-from-or-self(./root:function-type, 'odu:o-du')";
+    uses o-du-specific-grp;
+    description
+      "TODO: Nice description";
+  }
+}
diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-hardware-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-hardware-v1.yang
new file mode 120000 (symlink)
index 0000000..97c1467
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-hardware-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-interfaces-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-interfaces-v1.yang
new file mode 120000 (symlink)
index 0000000..d97789e
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-interfaces-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-root-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-root-v1.yang
new file mode 120000 (symlink)
index 0000000..6557df7
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-root-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-types-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-types-v1.yang
new file mode 120000 (symlink)
index 0000000..a07750c
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-types-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/ietf-alarms.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/ietf-alarms.yang
new file mode 120000 (symlink)
index 0000000..fab3a21
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-alarms.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/ietf-hardware.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/ietf-hardware.yang
new file mode 120000 (symlink)
index 0000000..d63ae98
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-hardware.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/ietf-interfaces.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/ietf-interfaces.yang
new file mode 120000 (symlink)
index 0000000..019946c
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-interfaces.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/ietf-yang-types.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/ietf-yang-types.yang
new file mode 120000 (symlink)
index 0000000..5f30137
--- /dev/null
@@ -0,0 +1 @@
+../template/ietf-yang-types.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-alarms-v1.yang
new file mode 120000 (symlink)
index 0000000..ffb1b64
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-alarms-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-common-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-common-alarms-v1.yang
new file mode 120000 (symlink)
index 0000000..4378ece
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-common-alarms-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-hardware-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-hardware-v1.yang
new file mode 120000 (symlink)
index 0000000..97c1467
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-hardware-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-interfaces-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-interfaces-v1.yang
new file mode 120000 (symlink)
index 0000000..d97789e
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-interfaces-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-root-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-root-v1.yang
new file mode 120000 (symlink)
index 0000000..6557df7
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-root-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-alarms-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-alarms-v1.yang
new file mode 100644 (file)
index 0000000..c52414d
--- /dev/null
@@ -0,0 +1,56 @@
+module o-ran-sc-ru-alarms-v1 {
+  yang-version 1.1;
+  namespace "urn:o-ran-sc:ru:alarms:1.0";
+  prefix osc-ru-al;
+
+  import ietf-alarms {
+    prefix al;
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran-sc.org";
+  description
+    "This module defines the alarm identities for the O-RAN-SC Components.
+
+     Copyright 2020 the O-RAN Software Community.
+
+     Licensed under the Apache License, Version 2.0 (the 'License');
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an 'AS IS' BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.";
+
+  revision 2020-01-18 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
+
+  identity alarm-type-id {
+    base al:alarm-type-id;
+    description
+      "An abstract alarm type used for all O-RAN-SC specific alarm types for
+       Managed Function O-RU.";
+  }
+
+  identity huston-we-have-a-problem {
+    base alarm-type-id;
+    description
+      "A generic alarm which is under development and analysis,
+       must not happen in production environment.
+       Instructions:
+         Create an JIRA issue and provide the following intormation:
+         - SMO version, build number or git hash
+         - O-RU version, build number or git hash
+         - A procedure to reproduce the alarm.";
+  }
+}
diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-ru-v1.yang
new file mode 100644 (file)
index 0000000..1566ec9
--- /dev/null
@@ -0,0 +1,64 @@
+module o-ran-sc-ru-v1 {
+  yang-version 1.1;
+  namespace "urn:o-ran:sc:radio-unit:1.0";
+  prefix oru;
+
+  import o-ran-sc-root-v1 {
+    prefix root;
+  }
+  import o-ran-sc-types-v1 {
+    prefix ot;
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran.org";
+  description
+    "This module contains the O-RAN Software Community RadioUnit specific
+     O1 interface APIs.
+
+     Copyright 2020 the O-RAN Alliance.
+
+     Licensed under the Apache License, Version 2.0 (the 'License');
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an 'AS IS' BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.";
+
+  revision 2020-02-20 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
+
+  // identity
+
+  identity o-ru {
+    base ot:control-function-type;
+    description
+      "TODO: Nice description";
+  }
+
+  // grouping
+
+  grouping o-ru-specific-grp {
+    description
+      "TODO: add your specific leafs, lists, containers here.";
+  }
+
+  // Inherit from controlled-function
+  augment "/root:controlled-element/root:controlled-function" {
+    when "derived-from-or-self(./root:function-type, 'oru:o-ru')";
+    uses o-ru-specific-grp;
+    description
+      "TODO: Nice description";
+  }
+}
diff --git a/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-types-v1.yang b/data-model/yang/working/o-ran-sc/o-ran-ru/o-ran-sc-types-v1.yang
new file mode 120000 (symlink)
index 0000000..a07750c
--- /dev/null
@@ -0,0 +1 @@
+../template/o-ran-sc-types-v1.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/template/README.md b/data-model/yang/working/o-ran-sc/template/README.md
new file mode 100644 (file)
index 0000000..f61d925
--- /dev/null
@@ -0,0 +1,16 @@
+# Template
+
+This folder contains a template yang modules with dependencies to published
+YANG modules and O-RAN-SC common yang modules.
+
+Please rename "TEMPLATE" by your O-RAN component.
+
+Please use the option "-L, --dereference" of the bash "cp" command to follow
+the symbolic link if needed.
+
+To validate our yang modules pyang is recommended, following the 
+O-RAN Alliance data modelling guidlines.
+
+```
+pyang --lint o-ran-sc-*.yang
+```
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/template/ietf-alarms.yang b/data-model/yang/working/o-ran-sc/template/ietf-alarms.yang
new file mode 120000 (symlink)
index 0000000..24bb77a
--- /dev/null
@@ -0,0 +1 @@
+../../../published/ietf/ietf-alarms.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/template/ietf-hardware.yang b/data-model/yang/working/o-ran-sc/template/ietf-hardware.yang
new file mode 120000 (symlink)
index 0000000..ff01a3c
--- /dev/null
@@ -0,0 +1 @@
+../../../published/ietf/ietf-hardware.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/template/ietf-interfaces.yang b/data-model/yang/working/o-ran-sc/template/ietf-interfaces.yang
new file mode 120000 (symlink)
index 0000000..a2954d0
--- /dev/null
@@ -0,0 +1 @@
+../../../published/ietf/ietf-interfaces.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/template/ietf-yang-types.yang b/data-model/yang/working/o-ran-sc/template/ietf-yang-types.yang
new file mode 120000 (symlink)
index 0000000..2353b09
--- /dev/null
@@ -0,0 +1 @@
+../../../published/ietf/ietf-yang-types.yang
\ No newline at end of file
diff --git a/data-model/yang/working/o-ran-sc/template/o-ran-sc-common-alarms-v1.yang b/data-model/yang/working/o-ran-sc/template/o-ran-sc-common-alarms-v1.yang
new file mode 100644 (file)
index 0000000..930bba3
--- /dev/null
@@ -0,0 +1,56 @@
+module o-ran-sc-common-alarms-v1 {
+  yang-version 1.1;
+  namespace "urn:o-ran-sc:alarms:1.0";
+  prefix osc-al;
+
+  import ietf-alarms {
+    prefix al;
+  }
+
+  organization
+    "O-RAN Software Community";
+  contact
+    "www.o-ran-sc.org";
+  description
+    "This module defines the alarm identities for the O-RAN-SC Components.
+
+     Copyright 2020 the O-RAN Software Community.
+
+     Licensed under the Apache License, Version 2.0 (the 'License');
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an 'AS IS' BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.";
+
+  revision 2020-01-18 {
+    description
+      "initial revision";
+    reference
+      "O-RAN-OAM-Interface-Specification (O1)";
+  }
+
+  identity alarm-type-id {
+    base al:alarm-type-id;
+    description
+      "An abstract alarm type use for all O-RAN-SC alarm types which are
+       common across the O-RAN managed functions.";
+  }
+
+  identity smo-o1-ves-collector-not-reachable {
+    base alarm-type-id;
+    description
+      "The configured VES end-point for asynchron messages is not reachable.
+       Instructions:
+         1) Verify the VES configuration on the O-RAN component.
+         2) Verify the connectivity between the O-RAN component and the
+            SMO in terms of routing and firewall settings along the path.
+         3) Check the credentials of the O-RAN component (user, password,
+            certificate). Did changes happen on SMO level recently?";
+  }
+}