blob: 80e1cab3b3fb9e0d089d8c1529ebecd2b1b1b571 [file] [log] [blame]
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 managng the O-RAN Radio Unit
management plane interface.
Copyright 2019 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 "2019-04-11" {
description
"version 1.0.2
1) Changes for ERI-001 - enabling NETCONF clients to be configured.
2) shifting new container to correct position.";
reference "ORAN-WG4.M.0-v01.00";
}
revision "2019-03-07" {
description
"version 1.0.1
1) 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 {
container searchable-mplane-access-vlans-info {
description
"These parameters shall be stored by the equipment in reset persistant memory
to enable it to be re-used to optimize VALN discovery procerdures.";
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";
}
}
}
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 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;
}
}