Add WG4 yangs published 2023-03 (v11)
[scp/oam/modeling.git] / data-model / yang / published / o-ran / ru-fh / o-ran-mplane-int@2021-12-01.yang
diff --git a/data-model/yang/published/o-ran/ru-fh/o-ran-mplane-int@2021-12-01.yang b/data-model/yang/published/o-ran/ru-fh/o-ran-mplane-int@2021-12-01.yang
new file mode 100644 (file)
index 0000000..7209e2e
--- /dev/null
@@ -0,0 +1,286 @@
+module o-ran-mplane-int {
+  yang-version 1.1;
+  namespace "urn:o-ran:mplane-interfaces:1.0";
+  prefix "o-ran-mplane-int";
+
+  import ietf-inet-types {
+    prefix "inet";
+  }
+
+  import ietf-interfaces {
+    prefix "if";
+  }
+
+  import o-ran-interfaces {
+    prefix "o-ran-int";
+  }
+
+  organization "O-RAN Alliance";
+
+  contact
+    "www.o-ran.org";
+
+  description
+    "This module defines the YANG definitions for managing the O-RAN Radio Unit
+     management plane interface.
+
+     Copyright 2021 the O-RAN Alliance.
+
+     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+     ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+     LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+     CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+     SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     POSSIBILITY OF SUCH DAMAGE.
+
+     Redistribution and use in source and binary forms, with or without
+     modification, are permitted provided that the following conditions are met:
+
+     * Redistributions of source code must retain the above copyright notice,
+     this list of conditions and the above disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice,
+     this list of conditions and the above disclaimer in the documentation
+     and/or other materials provided with the distribution.
+     * Neither the Members of the O-RAN Alliance nor the names of its
+     contributors may be used to endorse or promote products derived from
+     this software without specific prior written permission.";
+
+   revision "2021-12-01" {
+     description
+       "version 7.1.0
+
+          1) typographical corrections";
+
+     reference "ORAN-WG4.M.0-v07.00";
+   }
+
+  revision "2021-07-26" {
+    description
+      "version 7.0.0
+
+         1) new leaf for recommended scan interval  ";
+
+    reference "ORAN-WG4.M.0-v07.00";
+  }
+
+  revision "2021-03-22" {
+        description
+          "version 6.0.0
+
+          1) typographical corrections in descriptions.
+          2) new functionality to report TLS information ";
+
+        reference "ORAN-WG4.M.0-v06.00";
+  }
+
+  revision "2019-07-03" {
+       description
+         "version 1.1.0
+
+         1) enabling NETCONF clients to be configured.
+         2) shifting new container to correct position
+         3) backward compatible changes to introduce groupings";
+
+       reference "ORAN-WG4.M.0-v01.00";
+  }
+
+  revision "2019-02-04" {
+    description
+      "version 1.0.0
+
+      1) imported model from xRAN
+      2) changed namespace and reference from xran to o-ran";
+
+    reference "ORAN-WG4.M.0-v01.00";
+  }
+
+
+  typedef vlan-id {
+    type uint16 {
+      range 1..4094;
+    }
+    description
+      "Type definition representing a single-tagged VLAN";
+  }
+
+  // Groupings
+
+  grouping mplane-group {
+    description "mplane grouping";
+    container searchable-mplane-access-vlans-info {
+      description
+        "These parameters shall be stored by the equipment in reset persistent memory
+        to enable it to be re-used to optimize VLAN discovery procedures.";
+      leaf-list searchable-access-vlans {
+        type vlan-id;
+        description
+          "A list of access VLANs that may be operational on the transport
+          network. Can be used by the equipment to optimize its VLAN searching - for
+          M-plane operations.";
+      }
+      container vlan-range {
+        description "the range of VLAN IDs that may be configured for M-Plane";
+        leaf lowest-vlan-id {
+          type vlan-id;
+          description
+            "Value of this parameter informs equipment about lowest VID to be used
+            in VLAN scan procedure";
+        }
+        leaf highest-vlan-id {
+          type vlan-id;
+          description
+            "Value of this parameter informs about highest VID to be used
+            in VLAN scan procedure";
+        }
+      }
+      leaf scan-interval {
+          type uint16;
+          units seconds;
+          default 60;
+          description
+            "The O-RU should repeatedly search using untagged frames and previously configured
+            VLANs whenever it searches across the full range of VLAN IDs.The O-RU controller is
+            able to recommend the maximum interval between repeatedly scanning for M-Plane connectivity
+            on the untagged and configured VLANs using this timer schema node.
+
+            The O-RU shall store this schem-node in reset persistent memory.";
+      }
+    }
+
+    container m-plane-interfaces {
+      description "information concerning m-plane interfaces";
+      list m-plane-sub-interfaces {
+        key "interface-name sub-interface";
+        description "list of m-plane information";
+        leaf interface-name {
+          type leafref {
+            path "/if:interfaces/if:interface/if:name";
+          }
+          description "the name of the interface";
+        }
+        leaf sub-interface {
+          type leafref {
+            path "/if:interfaces/if:interface[if:name = current()/../interface-name]/o-ran-int:vlan-id";
+          }
+          description
+            "vlans used to communicate with management plane servers.";
+        }
+        container client-info {
+          config false;
+          description
+            "the NETCONF client information, discovered by DHCP or manually
+             configured during installation.";
+          list mplane-ipv4-info {
+            key mplane-ipv4;
+            description "list of IPv4 NETCONF clients";
+            leaf mplane-ipv4 {
+              type inet:ipv4-address;
+              description "The IPv4 address of M-Plane client discovered by the O-RU
+              or manually configured.";
+            }
+            leaf port {
+              type inet:port-number;
+              description
+                "The call home port number discovered or manually configured.";
+            }
+          }
+          list mplane-ipv6-info {
+            key mplane-ipv6;
+            description "list of IPv6 NETCONF clients";
+            leaf mplane-ipv6 {
+              type inet:ipv6-address;
+              description "The IPv6 address of M-Plane client discovered by the O-RU
+              or manually configured.";
+            }
+            leaf port {
+              type inet:port-number;
+              description
+                "The call home port number discovered or manually configured.";
+            }
+          }
+          leaf-list mplane-fqdn {
+            type inet:domain-name;
+            description "The discovered FQDN(s) of M-Plane client(s).";
+          }
+        }
+      }
+
+      container m-plane-ssh-ports {
+        description "leafs for managing SSH ports";
+        leaf call-home-ssh-port {
+          type inet:port-number;
+          default 4334;
+          description "The configured call home server port number";
+        }
+        leaf server-ssh-port {
+          type inet:port-number;
+          default 830;
+          description "The configured SSH server port number";
+        }
+      }
+      container m-plane-tls-ports {
+        description "leafs for managing TLS ports";
+        leaf call-home-tls-port {
+          type inet:port-number;
+          default 4335;
+          description "The configured call home server port number";
+        }
+        leaf server-tls-port {
+          type inet:port-number;
+          default 6513;
+          description "The configured TLS server port number";
+        }
+      }
+    }
+    container configured-client-info {
+      description
+        "the NETCONF client information that may be configured by another
+        NETCONF client. These clients are reported independently from clients
+        manually configured or discovered using DHCP.";
+      list mplane-ipv4-info {
+        key mplane-ipv4;
+        description "list of IPv4 NETCONF clients";
+        leaf mplane-ipv4 {
+          type inet:ipv4-address;
+          description "The IPv4 address of configured M-Plane client.";
+        }
+        leaf port {
+          type inet:port-number;
+          description
+            "The configured call home port number.";
+        }
+      }
+      list mplane-ipv6-info {
+        key mplane-ipv6;
+        description "list of IPv6 NETCONF clients";
+        leaf mplane-ipv6 {
+          type inet:ipv6-address;
+          description "The IPv6 address of configured M-Plane client..";
+        }
+        leaf port {
+          type inet:port-number;
+          description
+            "The configured call home port number.";
+        }
+      }
+      leaf-list mplane-fqdn {
+        type inet:domain-name;
+        description "The configured FQDN(s) of M-Plane client(s).";
+      }
+    }
+  }
+
+
+  // Top Level Container
+
+  container mplane-info {
+    description "top-level container for management plane information";
+
+    uses mplane-group;
+  }
+}