From 05fe114a5969727c32cd9f1051cd7b9fde0344d5 Mon Sep 17 00:00:00 2001 From: Ravi Pendurty Date: Mon, 19 Apr 2021 12:46:16 +0200 Subject: Reorganization of devicemanager directory structure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Organized into core, onap and o-ran-sc directories Issue-ID: CCSDK-3242 Signed-off-by: Ravi Pendurty Change-Id: I3c23710f990a2d96ba01104c97315fc8c6b1921b Signed-off-by: Ravi Pendurty Signed-off-by: Michael DÜrre --- .../provider/src/main/yang/qos-profile-1-0.yang | 534 +++++++++++++++++++++ 1 file changed, 534 insertions(+) create mode 100644 sdnr/wt/devicemanager-onap/onf14/provider/src/main/yang/qos-profile-1-0.yang (limited to 'sdnr/wt/devicemanager-onap/onf14/provider/src/main/yang/qos-profile-1-0.yang') diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/yang/qos-profile-1-0.yang b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/yang/qos-profile-1-0.yang new file mode 100644 index 000000000..7dd05d092 --- /dev/null +++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/yang/qos-profile-1-0.yang @@ -0,0 +1,534 @@ +module qos-profile-1-0 { + yang-version 1.1; + namespace "urn:onf:yang:qos-profile-1-0"; + prefix qos-profile; + + import ietf-yang-types { + prefix yang; + } + import core-model-1-4 { + prefix core-model; + } + + organization + "openBackhaul.com proposal to Open Networking Foundation (ONF)"; + contact + "WG Web : https://github.com/openBackhaul/Overview + WG List: QosProfile@openBackhaul.com + Editor : Thorsten Heinze + Email : Thorsten.Heinze@openBackhaul.com"; + description + "Copyright 2019 openBackhaul.com + + 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-24 { + description + "Model for the Transport SDN Pilot at Telefonica Germany. + Please view https://github.com/openBackhaul/qosProfile/issues for changes."; + reference + "https://github.com/openBackhaul/qosProfile/tree/tsp: Model definition + https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition"; + } + revision 2019-07-12 { + description + "Model for the Transport SDN Pilot at Telefonica Germany. + Please view https://github.com/openBackhaul/qosProfile/issues for changes."; + reference + "https://github.com/openBackhaul/qosProfile/tree/tsp: Model definition + https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition"; + } + + identity PROFILE_NAME_TYPE_QOS_PROFILE { + base core-model:PROFILE_NAME_TYPE; + description + "none"; + } + + augment "/core-model:control-construct/core-model:profile-collection/core-model:profile" { + when "derived-from-or-self(./core-model:profile-name, 'qos-profile:PROFILE_NAME_TYPE_QOS_PROFILE')"; + uses qos-profile-spec; + description + "none"; + } + + /**************************************** + * package notifications + **************************************/ + + notification object-creation-notification { + uses object-creation-notification; + description + "none"; + } + + grouping object-creation-notification { + leaf counter { + type int32; + default "-1"; + config false; + description + "Counts object creation notifications."; + } + leaf timestamp { + type yang:date-and-time; + default "2010-11-20T14:00:00+01:00"; + config false; + description + "none"; + } + leaf object-id-ref { + type leafref { + path "/core-model:control-construct/core-model:profile-collection/core-model:profile/core-model:uuid"; + require-instance false; + } + config false; + description + "none"; + } + leaf object-type { + type string; + default "Type of created object not specified."; + config false; + description + "none"; + } + description + "none"; + } + + notification object-deletion-notification { + uses object-deletion-notification; + description + "none"; + } + + grouping object-deletion-notification { + leaf counter { + type int32; + default "-1"; + config false; + description + "Counts object deletion notifications."; + } + leaf timestamp { + type yang:date-and-time; + default "2010-11-20T14:00:00+01:00"; + config false; + description + "none"; + } + leaf object-id-ref { + type leafref { + path "/core-model:control-construct/core-model:profile-collection/core-model:profile/core-model:uuid"; + require-instance false; + } + config false; + description + "none"; + } + description + "none"; + } + + /**************************************** + * grouping statements for object classes + **************************************/ + + grouping qos-profile-spec { + container qos-profile-pac { + uses qos-profile-pac; + description + "none"; + } + description + "none"; + } + + grouping qos-profile-pac { + container qos-profile-capability { + config false; + uses qos-profile-capability; + description + "none"; + } + container qos-profile-configuration { + config false; + uses qos-profile-configuration; + description + "none"; + } + description + "none"; + } + + grouping qos-profile-capability { + leaf profile-naming-is-avail { + type boolean; + default "false"; + config false; + description + "1 = There is a free text field available for naming the profile."; + } + leaf-list available-queue-list { + type queue-name-type; + config false; + min-elements 1; + max-elements 8; + description + "List of queues, which are available at the physical interface."; + } + leaf drop-precedence-at-be-queue-is-avail { + type boolean; + default "false"; + config false; + description + "1 = Configuration of the drop precedence is available at the best effort queue."; + } + leaf drop-precedence-at-af-queues-is-avail { + type boolean; + default "false"; + config false; + description + "1 = Configuration of the drop precedence is available at the assured forwarding queues."; + } + leaf drop-precedence-at-prio-queues-is-avail { + type boolean; + default "false"; + config false; + description + "1 = Configuration of the drop precedence is available at the priority queues."; + } + leaf available-qos-profile-kind-list { + type qos-profile-kind-type; + default "QOS_PROFILE_KIND_TYPE_NOT_YET_DEFINED"; + config false; + description + "List of header information that are supported to be base of the QoS definition."; + } + description + "none"; + } + + grouping qos-profile-configuration { + leaf profile-name { + type string; + default "Name of profile not yet defined."; + description + "Identifier of the profile. Could be a name, could be a number. Free text field to be filled by the operator."; + } + leaf qos-profile-kind { + type qos-profile-kind-type; + default "QOS_PROFILE_KIND_TYPE_NOT_YET_DEFINED"; + description + "Defines whether the sorting into queues is done based on VLAN, MPLS or IP header information."; + } + list ingress-8021p-to-per-hop-behavior-mapping-list { + key "queue-name drop-precedence-inside-queue"; + min-elements 8; + max-elements 8; + uses per-hop-behavior-type; + description + "Only relevant when qosProfileKind == IEEE8021P. Associates the value of the three p-bits of the VLAN header with a per hop behavior at the physical interface. First entry in the list [0] relates to p-bit value '0'. Last entry in the list [7] relates to p-bit value '7'."; + } + list ingress-exp-to-per-hop-behavior-mapping-list { + key "queue-name drop-precedence-inside-queue"; + min-elements 8; + max-elements 8; + uses per-hop-behavior-type; + description + "Only relevant when qosProfileKind == MPLS_EXP. Associates the value of the three p-bits of the MPLS header with a per hop behavior at the physical interface. First entry in the list [0] relates to p-bit value '0'. Last entry in the list [7] relates to p-bit value '7'."; + } + list ingress-ip-dscp-to-per-hop-behavior-mapping-list { + key "queue-name drop-precedence-inside-queue"; + min-elements 64; + max-elements 64; + uses per-hop-behavior-type; + description + "Only relevant when qosProfileKind == IP_DSCP. Associates the value of the 8 dscp bits of the IP header with a per hop behavior at the physical interface. First entry in the list [0] relates to dscp value '0'. Last entry in the list [63] relates to dscp value '63'."; + } + leaf writing-per-hop-behavior-into-8021p-is-on { + type boolean; + default "false"; + description + "1 = Original content of 802.1p bits is overwritten with local per hop behavior."; + } + list egress-per-hop-behavior-to-8021p-mapping-list { + key "mapping-number"; + max-elements 24; + uses egress-per-hop-behavior-to-priority-bits-mapping-type; + description + "Only relevant if (writingPerHopBehaviorInto8021pIsOn==1). Translates (queue and drop precedence) into values of the three p-bits of the VLAN header."; + } + leaf writing-per-hop-behavior-into-mpls-exp-is-on { + type boolean; + default "false"; + description + "1 = Original content of MPLS EXP bits is overwritten with local per hop behavior."; + } + list egress-per-hop-behavior-to-mpls-exp-mapping-list { + key "mapping-number"; + max-elements 24; + uses egress-per-hop-behavior-to-priority-bits-mapping-type; + description + "Only relevant if (writingPerHopBehaviorIntoMplsExpIsOn==1). Translates (queue and drop precedence) into values of the three p-bits of the MPLS header."; + } + leaf writing-per-hop-behavior-into-ip-dscp-is-on { + type boolean; + default "false"; + description + "1 = Original content of IP DSCP bits is overwritten with local per hop behavior."; + } + list egress-per-hop-behavior-to-ip-dscp-mapping-list { + key "mapping-number"; + max-elements 24; + uses egress-per-hop-behavior-to-priority-bits-mapping-type; + description + "Only relevant if (writingPerHopBehaviorIntoIpDscpIsOn==1). Translates (queue and drop precedence) into values of the six dscp bits of the IP header."; + } + description + "Defines the profile that will be used for mapping between header information and queues (next hop behavior)."; + } + + /**************************************** + * typedef statements + **************************************/ + + typedef severity-type { + type identityref { + base SEVERITY_TYPE; + } + description + "none"; + } + + typedef qos-profile-kind-type { + type identityref { + base QOS_PROFILE_KIND_TYPE; + } + description + "none"; + } + + typedef queue-name-type { + type identityref { + base QUEUE_NAME_TYPE; + } + description + "none"; + } + + typedef drop-precedence-type { + type identityref { + base DROP_PRECEDENCE_TYPE; + } + description + "none"; + } + + /********************************************* + * grouping statements for complex data types + *******************************************/ + + identity SEVERITY_TYPE { + description + "none"; + } + + identity SEVERITY_TYPE_NON-ALARMED { + base SEVERITY_TYPE; + description + "none"; + } + + identity SEVERITY_TYPE_WARNING { + base SEVERITY_TYPE; + description + "none"; + } + + identity SEVERITY_TYPE_MAJOR { + base SEVERITY_TYPE; + description + "none"; + } + + identity SEVERITY_TYPE_MINOR { + base SEVERITY_TYPE; + description + "none"; + } + + identity QOS_PROFILE_KIND_TYPE { + description + "none"; + } + + identity QOS_PROFILE_KIND_TYPE_NONE { + base QOS_PROFILE_KIND_TYPE; + description + "none"; + } + + identity QOS_PROFILE_KIND_TYPE_IEEE8021P { + base QOS_PROFILE_KIND_TYPE; + description + "none"; + } + + identity QOS_PROFILE_KIND_TYPE_MPLS_EXP { + base QOS_PROFILE_KIND_TYPE; + description + "none"; + } + + identity QOS_PROFILE_KIND_TYPE_IP_DSCP { + base QOS_PROFILE_KIND_TYPE; + description + "none"; + } + + identity QOS_PROFILE_KIND_TYPE_NOT_YET_DEFINED { + base QOS_PROFILE_KIND_TYPE; + description + "none"; + } + + identity QUEUE_NAME_TYPE { + description + "none"; + } + + identity QUEUE_NAME_TYPE_BEST_EFFORT_QUEUE { + base QUEUE_NAME_TYPE; + description + "Queue 0."; + } + + identity QUEUE_NAME_TYPE_ASSURED_FORWARDING_QUEUE1 { + base QUEUE_NAME_TYPE; + description + "Queue 1."; + } + + identity QUEUE_NAME_TYPE_ASSURED_FORWARDING_QUEUE2 { + base QUEUE_NAME_TYPE; + description + "Queue 2."; + } + + identity QUEUE_NAME_TYPE_ASSURED_FORWARDING_QUEUE3 { + base QUEUE_NAME_TYPE; + description + "Queue 3."; + } + + identity QUEUE_NAME_TYPE_ASSURED_FORWARDING_QUEUE4 { + base QUEUE_NAME_TYPE; + description + "Queue 4."; + } + + identity QUEUE_NAME_TYPE_EXPEDITED_FORWARDING_QUEUE { + base QUEUE_NAME_TYPE; + description + "Queue 5."; + } + + identity QUEUE_NAME_TYPE_CLASS_SELECTOR_QUEUE6 { + base QUEUE_NAME_TYPE; + description + "Queue 6."; + } + + identity QUEUE_NAME_TYPE_CLASS_SELECTOR_QUEUE7 { + base QUEUE_NAME_TYPE; + description + "Queue 7."; + } + + identity QUEUE_NAME_TYPE_NOT_YET_DEFINED { + base QUEUE_NAME_TYPE; + description + "none"; + } + + identity DROP_PRECEDENCE_TYPE { + description + "none"; + } + + identity DROP_PRECEDENCE_TYPE_NONE { + base DROP_PRECEDENCE_TYPE; + description + "none"; + } + + identity DROP_PRECEDENCE_TYPE_LOW { + base DROP_PRECEDENCE_TYPE; + description + "Would be equal to GREEN."; + } + + identity DROP_PRECEDENCE_TYPE_MEDIUM { + base DROP_PRECEDENCE_TYPE; + description + "Would be equal to YELLOW."; + } + + identity DROP_PRECEDENCE_TYPE_HIGH { + base DROP_PRECEDENCE_TYPE; + description + "Would be equal to RED."; + } + + identity DROP_PRECEDENCE_TYPE_NOT_YET_DEFINED { + base DROP_PRECEDENCE_TYPE; + description + "none"; + } + + grouping per-hop-behavior-type { + leaf queue-name { + type queue-name-type; + description + "Name of the queue."; + } + leaf drop-precedence-inside-queue { + type drop-precedence-type; + description + "(if dropPrecedenceAt*QueueIsAvail for the referenced queue == 0) default value shall be kept and configuration attempts shall be ignored."; + } + description + "none"; + } + + grouping egress-per-hop-behavior-to-priority-bits-mapping-type { + leaf mapping-number { + type int16; + description + "none"; + } + container per-hop-behavior { + uses per-hop-behavior-type; + description + "Per hop behavior, which is to be translated into a p-bit entry in the VLAN, MPLS or IP header."; + } + leaf value-of-priority-bits { + type int8; + default "-1"; + description + "Associated value of the three, three or six p-bits of the VLAN, MPLS or IP header."; + } + description + "none"; + } +} -- cgit 1.2.3-korg