Refactor folder structure.
[sim/o1-interface.git] / ntsimulator / yang / x-ran / xran-lbm.yang
diff --git a/ntsimulator/yang/x-ran/xran-lbm.yang b/ntsimulator/yang/x-ran/xran-lbm.yang
new file mode 100644 (file)
index 0000000..65ea7fb
--- /dev/null
@@ -0,0 +1,269 @@
+module xran-lbm {\r
+  yang-version 1.1;\r
+  namespace "urn:xran:lbm:1.0";\r
+  prefix "xran-lbm";\r
+\r
+  import ietf-yang-types {\r
+    prefix yang;\r
+    revision-date 2013-07-15;\r
+  }\r
+\r
+  organization "xRAN Forum";\r
+\r
+  contact\r
+    "www.xran.org";\r
+\r
+  description\r
+    "This module defines the module capabilities for\r
+    the xRAN Radio loop-back protocol (IEEE 802.1ag).\r
+    It is derived from MEF-38 (Service OAM Fault Management YANG Modules, April 2012)\r
+\r
+    Copyright 2018 the xRAN Forum.\r
+\r
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\r
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\r
+    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
+    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
+    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
+    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
+    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
+    POSSIBILITY OF SUCH DAMAGE.\r
+\r
+    Redistribution and use in source and binary forms, with or without\r
+    modification, are permitted provided that the following conditions are met:\r
+\r
+    * Redistributions of source code must retain the above copyright notice,\r
+    this list of conditions and the above disclaimer.\r
+    * Redistributions in binary form must reproduce the above copyright notice,\r
+    this list of conditions and the above disclaimer in the documentation\r
+    and/or other materials provided with the distribution.\r
+    * Neither the Members of the xRAN Forum nor the names of its\r
+    contributors may be used to endorse or promote products derived from\r
+    this software without specific prior written permission.";\r
+\r
+  revision "2018-07-20" {\r
+    description\r
+      "version 1.0.0 - First release of the xRAN YANG M-Plane models.\r
+\r
+      This version of the model supports v01.00 of the corrsponding xRAN\r
+      M-Plane Specification.";\r
+    reference "XRAN-FH.MP.0-v01.00";\r
+  }\r
+\r
+  typedef priority-type {\r
+    type uint32 {\r
+      range "0..7";\r
+    }\r
+    description\r
+      "A 3 bit priority value to be used in the VLAN tag, if present\r
+       in the transmitted frame.";\r
+    reference "[802.1q] 12.14.7.3.2:e";\r
+  }\r
+\r
+\r
+  typedef mep-id-type {\r
+    type uint16 {\r
+      range "1..8191";\r
+    }\r
+    description\r
+      "Maintenance association End Point Identifier (MEPID): A small integer,\r
+       unique over a given Maintenance Association, identifying a\r
+       specific MEP.";\r
+    reference "[802.1q] 3.19 and 19.2.1";\r
+  }\r
+  typedef vlan-id-type {\r
+    type uint16 {\r
+      range "1..4094";\r
+    }\r
+    description\r
+      "The VLAN-ID that uniquely identifies a VLAN.  This is the 12-bit VLAN-ID\r
+       used in the VLAN Tag header.";\r
+    reference "[802.1q] 9.6";\r
+  }\r
+\r
+  typedef md-level-type {\r
+    type int32 {\r
+      range "0..7";\r
+    }\r
+    description\r
+      "Maintenance Domain Level (MD Level) identifier.  Higher numbers\r
+       correspond to higher Maintenance Domains, those with the greatest\r
+       physical reach, with the highest values for customers' CFM PDUs.\r
+       Lower numbers correspond to lower Maintenance Domains, those with\r
+       more limited physical reach, with the lowest values for CFM PDUs\r
+       protecting single bridges or physical links.";\r
+    reference "[802.1q] 18.3, 21.4.1, IEEE8021-CFM-MIB.Dot1agCfmMDLevel";\r
+  }\r
+\r
+  typedef lbm-transaction-id-type {\r
+    type uint32;\r
+    description\r
+      "A loopback transaction identifier";\r
+    reference "[802.1q] 21.7.3";\r
+  }\r
+\r
+  list maintenance-domain {\r
+    key "id";\r
+    description\r
+      "A Maintenance Domain managed object is required in order to create an MA\r
+       with a MAID that includes that Maintenance Domain’s Name. From\r
+       this Maintenance Domain managed object, all Maintenance\r
+       Association managed objects associated with that Maintenance\r
+       Domain managed object can be accessed, and thus controlled.";\r
+    reference "[802.1q] 12.14.5";\r
+    leaf id {\r
+      type string;\r
+      description\r
+        "A unique identifier of a Maintenance Domain";\r
+      reference "[802.1q] 12.14.5";\r
+    }\r
+\r
+    leaf name {\r
+      type string;\r
+      description\r
+        "The value for the Maintenance Domain Name. Only the name-type\r
+               'character-string' is supported";\r
+      reference "[802.1q] 21.6.5.1 (Table 21-19), 12.14.5.3.2:a";\r
+    }\r
+\r
+    leaf md-level {\r
+      type md-level-type;\r
+      default 0;\r
+      description\r
+        "Integer identifying the Maintenance Domain Level (MD Level).  Higher\r
+         numbers correspond to higher Maintenance Domains, those with the\r
+         greatest physical reach, with the highest values for customers'\r
+         CFM PDUs.  Lower numbers correspond to lower Maintenance\r
+         Domains, those with more limited physical reach, with the lowest\r
+         values for CFM PDUs protecting single bridges or physical links.";\r
+      reference "[802.1q] 12.14.5.1.3:b";\r
+    }\r
+\r
+    list maintenance-association {\r
+      key "id";\r
+      description\r
+        "This list represents Maintenance Entity Groups (Y.1731) or\r
+         Maintenance Associations (802.1ag). MEGs/MAs are sets of\r
+         MEPs, each configured to the same service inside a common\r
+         OAM domain.";\r
+      leaf id {\r
+        type string;\r
+        description\r
+          "A unique identifier of a Maintenance Association";\r
+        reference "[802.1q] 12.14.6";\r
+      }\r
+      leaf name {\r
+       type string;\r
+\r
+        description\r
+          "The value for the Maintenance Association Name. Only the name-type\r
+               'character-string' is supported";\r
+        reference "[802.1q] 12.14.5.3.2:b, Table 21-20";\r
+      }\r
+\r
+      list component-list {\r
+        key "component-id";\r
+        description\r
+          "A list of components each of which can be managed in a manner\r
+           essentially equivalent to an 802.1Q bridge.";\r
+        reference "[802.1q] IEEE8021-CFM-V2-MIB.ieee8021CfmMaCompTable";\r
+        leaf component-id {\r
+          type uint32;\r
+          description\r
+            "The bridge component within the system to which the information\r
+             in this maintenance-association applies";\r
+          reference "[802.1q] IEEE8021-CFM-V2-MIB.ieee8021CfmMaComponentId";\r
+        }\r
+       leaf name {\r
+         type string;\r
+\r
+         description\r
+           "The value for the Maintenance Association Name. Only the name-type\r
+               'character-string' is supported";\r
+         reference "[802.1q] 12.14.5.3.2:b, Table 21-20";\r
+       }\r
+\r
+       leaf-list vid {\r
+          type vlan-id-type;\r
+          min-elements 1;\r
+          ordered-by user;\r
+          description\r
+            "The VID(s) monitored by this MA, or 0, if the MA is not attached to any\r
+             VID. The first VID returned is the MA's Primary VID";\r
+          reference "[802.1q] 12.14.5.3.2:b";\r
+        }\r
+\r
+       leaf-list remote-meps {\r
+         type mep-id-type;\r
+         description\r
+           "A list of the MEPIDs of the MEPs in the MA.";\r
+         reference "[802.1q] 12.14.6.1.3:g";\r
+       }\r
+       list maintenance-association-end-point {\r
+         key "mep-identifier";\r
+         description\r
+           "The list of Maintenance association End Points in a specific Maintance\r
+           Association.";\r
+         leaf mep-identifier {\r
+           type mep-id-type;\r
+           description\r
+             "Integer that is unique among all the MEPs in the same MA. Other\r
+             definition is: a small integer, unique over a given\r
+             Maintenance Association, identifying a specific Maintenance\r
+             association End Point.";\r
+           reference "[802.1q] 12.14.6.3.2:b";\r
+         }\r
+         leaf interface {\r
+           type string;\r
+           mandatory true;\r
+           description\r
+             "An interface, either a Bridge Port or an aggregated IEEE 802.3 port\r
+             within a Bridge Port, to which the MEP is attached. Each interface in\r
+             the system is uniquely identified by an interface-name. The structure\r
+             and content of the name is outside the scope of this specification.";\r
+           reference "[802.1q] 12.14.7.1.3:b";\r
+         }\r
+         leaf primary-vid {\r
+           type vlan-id-type;\r
+           mandatory true;\r
+           description\r
+             "The Primary VID of the MEP. The value 0 indicates that either the\r
+             Primary VID is that of the MEP's MA or that the MEP's MA is\r
+             associated with no VID";\r
+           reference "[802.1q] 12.14.7.1.3:d";\r
+         }\r
+         leaf administrative-state {\r
+           type boolean;\r
+           mandatory true;\r
+           description\r
+             "The administrative state of the MEP";\r
+           reference "[802.1q] 12.14.7.1.3:e";\r
+         }\r
+         leaf mac-address {\r
+           type yang:mac-address;\r
+           config false;\r
+           description\r
+             "The MAC address of the MEP";\r
+           reference "[802.1q] 12.14.7.1.3:i";\r
+         }\r
+         container loopback {\r
+           config false;\r
+           description\r
+             "Data definitions related to the Loopback function.";\r
+           leaf replies-transmitted {\r
+             type yang:counter32;\r
+             config false;\r
+             mandatory true;\r
+             description\r
+               "The total number of LBRs transmitted.";\r
+             reference "[802.1q] 12.14.7.1.3:ad";\r
+           }\r
+         }\r
+       }\r
+      }\r
+    }\r
+  }\r
+}\r