From 66d45b1e8ff47a5d3ada72657bb8fd7ed704274f Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Tue, 20 Sep 2022 00:44:47 +0200 Subject: [PATCH] Integration_Rel18_SA5_145_YANG into Rel-18 after SA5#145 and SA#97 --- .../_3gpp-5gc-nrm-configurable5qiset.yang | 55 +++---- yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang | 8 +- yang-models/_3gpp-common-filemanagement.yang | 8 +- .../_3gpp-common-managed-function.yang | 2 +- yang-models/_3gpp-common-mnsregistry.yang | 41 ++++-- yang-models/_3gpp-common-qmcjob.yang | 127 +++++++++++++++++ yang-models/_3gpp-common-trace.yang | 23 +-- yang-models/_3gpp-common-yang-types.yang | 24 +++- yang-models/_3gpp-nr-nrm-bwpset.yang | 36 +++++ yang-models/_3gpp-nr-nrm-dlbofunction.yang | 5 +- yang-models/_3gpp-nr-nrm-dmrofunction.yang | 2 +- yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 20 +-- yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang | 3 +- yang-models/_3gpp-nr-nrm-gnbdufunction.yang | 3 +- yang-models/_3gpp-nr-nrm-nrcelldu.yang | 10 +- yang-models/_3gpp-nr-nrm-rrmpolicy.yang | 111 ++++++++++++--- yang-models/_3gpp-ns-nrm-networkslice.yang | 43 +++--- .../_3gpp-ns-nrm-networkslicesubnet.yang | 134 ++++++++++-------- yang-models/_3gpp-ns-nrm-sliceprofile.yang | 2 +- 19 files changed, 475 insertions(+), 182 deletions(-) create mode 100644 yang-models/_3gpp-common-qmcjob.yang create mode 100644 yang-models/_3gpp-nr-nrm-bwpset.yang diff --git a/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang b/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang index 9561ede16..ebf227f80 100755 --- a/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang +++ b/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang @@ -1,12 +1,9 @@ module _3gpp-5gc-nrm-configurable5qiset { yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-configurable5qiset; - prefix Conf5QIs3gpp; + prefix conf5QIs3gpp; import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -15,12 +12,13 @@ module _3gpp-5gc-nrm-configurable5qiset { (and configurable) to the 5G NFs."; reference "3GPP TS 28.541"; + revision 2022-07-28 { reference "CR-0770"; } revision 2022-04-29 { reference "CR-0729"; } revision 2022-01-07 { reference CR-0643; } revision 2020-08-04 { reference "CR-0321"; } revision 2020-06-03 { reference "CR-0286"; } - grouping PacketErrorRate { + grouping PacketErrorRateGrp { leaf scalar { type uint32 { range 0..9 ; @@ -41,11 +39,6 @@ module _3gpp-5gc-nrm-configurable5qiset { grouping FiveQICharacteristicsGrp { description "Represents the FiveQICharacteristics IOC."; - reference "3GPP TS 28.541"; - } - - list configurableFiveQIs { - key fiveQIValue; leaf fiveQIValue { type uint32 { range 0..255 ; @@ -68,27 +61,34 @@ module _3gpp-5gc-nrm-configurable5qiset { type uint32 { range 0..127 ; } + mandatory true; + description "It indicates the Priority Level of a 5QI, as specified + in TS 23.501."; } leaf packetDelayBudget { type uint32 { range 0..1023 ; } + mandatory true; description "Indicates the Packet Delay Budget (in unit of 0.5ms)of a 5QI, as specified in TS 23.501 "; } list packetErrorRate { key "scalar exponent"; + min-elements 1; max-elements 1; - uses PacketErrorRate; - reference "TS 23.501"; + uses PacketErrorRateGrp; + description "It indicates the Packet Error Rate of a 5QI, + as specified in TS 23.501."; } leaf averagingWindow { type uint32 { range 0..4095 ; } + mandatory true; units ms; reference "TS 23.501"; } @@ -97,24 +97,20 @@ module _3gpp-5gc-nrm-configurable5qiset { type uint32{ range 0..4095 ; } + mandatory true; units byte; } } - grouping FiveQiCharacteristicsSubtree { - description "Represents the FiveQICharacterics IOC."; - list FiveQICharacteristics { - key id; - uses top3gpp:Top_Grp; - container attributes { - uses FiveQICharacteristicsGrp; - } - } + grouping Configurable5QISetGrp { + description "Represents the Configurable5QISet IOC. + No attributes defined."; } - grouping Configurable5QISetGrp { - description "Represents the Configurable5QISet IOC."; - list configurable5QIs { + grouping FiveQICharacteristicsSubtree { + list FiveQICharacteristics { + description "This specifies the 5QI value and the corresponding + QoS characteristics for a 5QI."; key id; uses top3gpp:Top_Grp; container attributes { @@ -133,14 +129,7 @@ module _3gpp-5gc-nrm-configurable5qiset { container attributes { uses Configurable5QISetGrp; } + uses FiveQICharacteristicsSubtree; } } - - augment "/subnet3gpp:SubNetwork" { - uses Configurable5QISetSubtree; - } - - augment "/me3gpp:ManagedElement" { - uses Configurable5QISetSubtree; - } -} +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang index b19c9f6d7..583e6a2bf 100755 --- a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang +++ b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang @@ -1,6 +1,5 @@ module _3gpp-5gc-nrm-dynamic5qiset { yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-dynamic5qiset; prefix dyn5QIs3gpp; @@ -15,6 +14,7 @@ module _3gpp-5gc-nrm-dynamic5qiset { characteristics."; reference "3GPP TS 28.541"; + revision 2022-07-28 { reference "CR-0770"; } revision 2022-01-07 { reference CR-0643; } revision 2020-10-01 { reference "CR-0393"; } revision 2020-08-06 { reference "CR-0333"; } @@ -22,6 +22,11 @@ module _3gpp-5gc-nrm-dynamic5qiset { grouping Dynamic5QISetGrp { description "Represents the Dynamic5QISet IOC."; list dynamic5QIs { + description "This IOC specifies the dynamically assigned 5QIs + including their QoS characteristics, see 3GPP TS 23.501. + The instance of this IOC shall not be created or modified by the + MnS consumer except for the instance associated to + PCFFunction MOI or SMFFunction MOI when the PCF is not deployed."; key id; uses top3gpp:Top_Grp; container attributes { @@ -40,6 +45,7 @@ module _3gpp-5gc-nrm-dynamic5qiset { container attributes { uses Dynamic5QISetGrp; } + uses Conf5QIs3gpp:FiveQICharacteristicsSubtree; } } diff --git a/yang-models/_3gpp-common-filemanagement.yang b/yang-models/_3gpp-common-filemanagement.yang index 39dc1093f..b2c76e85e 100644 --- a/yang-models/_3gpp-common-filemanagement.yang +++ b/yang-models/_3gpp-common-filemanagement.yang @@ -59,9 +59,9 @@ module _3gpp-common-filemanagement { leaf cancelJob { description "Setting this attribute to TRUE cancels the file download job. - As specified in the definition of ProcessMonitor, cancellation is possible in - the NOT_STARTED and RUNNING state. Setting the attribute to FALSE has no - observable result."; + As specified in the definition of ProcessMonitor, cancellation is + possible in the NOT_STARTED and RUNNING state. Setting the attribute + to FALSE has no observable result."; type boolean; mandatory true; } @@ -92,4 +92,4 @@ module _3gpp-common-filemanagement { augment "/me3gpp:ManagedElement" { uses FileDownloadJobSubtree; } -} +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang index 57d745917..a2bca7e83 100755 --- a/yang-models/_3gpp-common-managed-function.yang +++ b/yang-models/_3gpp-common-managed-function.yang @@ -322,4 +322,4 @@ module _3gpp-common-managed-function { if-feature TraceUnderManagedFunction ; } } -} +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index df01996aa..e4336a99e 100755 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -17,9 +17,8 @@ module _3gpp-common-mnsregistry { revision 2021-10-18 { reference "S5-215263"; } revision 2021-08-29 { reference "Initial revision, S5-214388"; } - grouping MNSInfoGrp { - description "Represents the MNSInfo IOC."; - reference "3GPP TS 28.622"; + grouping MnsInfoGrp { + description "Represents the MnsInfo IOC."; leaf mnsLabel { description "Human-readable name of management service."; mandatory true; @@ -48,27 +47,47 @@ module _3gpp-common-mnsregistry { } leaf-list mnsScope { - description "List of the managed object instances that can be accessed using the MnS. If a complete SubNetwork can be accessed using the MnS, this attribute may contain the DN of the SubNetwork instead of the DNs of the individual managed entities within the SubNetwork."; + description "List of the managed object instances that can be accessed + using the MnS. If a complete SubNetwork can be accessed using the MnS, + this attribute may contain the DN of the SubNetwork instead of the + DNs of the individual managed entities within the SubNetwork."; min-elements 1; type types3gpp:DistinguishedName; } - } augment "/subnet3gpp:SubNetwork" { list MNSRegistry { - description "Represents the MNSRegistry IOC."; - reference "3GPP TS 28.622"; + description "Represents the MNSRegistry IOC. + The IOC is instantiated by the system."; uses top3gpp:Top_Grp; key id; max-elements 1; + list MNSInfo { - description "Represents the MNSInfo IOC."; - reference "3GPP TS 28.622"; + description "This IOC represents an available Management Service (MnS) + and provides the data required to support its discovery. + It is name-contained by MnsRegistry. + + This information is used by the consumer to discover the producers + of specific Management Services and to derive the addresses of the + Management Service. + + Attributes mnsLabel, mnsType, and mnsVersion are used to describe + the Management Service. + + Attribute mnsAddress is used to provide addressing information for + the Management Service operations. + + Attribute mnsScope is used to provide information about the + management scope of the Management Service. The management scope is + defined as the set of managed object instances that can be accessed + using the Management Service."; + uses top3gpp:Top_Grp; key "mnsType mnsVersion mnsAddress"; - uses MNSInfoGrp; - } + uses MnsInfoGrp; } } } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-qmcjob.yang b/yang-models/_3gpp-common-qmcjob.yang new file mode 100644 index 000000000..c68ca941b --- /dev/null +++ b/yang-models/_3gpp-common-qmcjob.yang @@ -0,0 +1,127 @@ +module _3gpp-common-qmcjob { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-qmcjob"; + prefix "qmc3gpp"; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + + import ietf-inet-types { prefix inet; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + + description "Quality of Experience Measurement Collection Job handling"; + + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + + 3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS)"; + + revision 2022-08-17 { reference "CR-0185"; } + revision 2022-04-29 { reference "CR-0171"; } + revision 2022-03-22 { reference "draftCR"; } + revision 2022-01-06 { reference "CR-0142"; } + + grouping QMCJobGrp { + leaf serviceType { + description "Specifies an end user service type for QoE measurements."; + mandatory true; + type enumeration { + enum DASH; + enum MTSI; + enum VR; + } + } + + leaf areaScope { + type string; + description "Defines the area in terms of NR cells or Tracking Area + where the QMC shall take place."; + } + + leaf qoECollectionEntityAddress { + type inet:ip-address; + mandatory true; + description "Specifies the address to which the QMC records shall be + transferred. Ipv4 or Ipv6 address(es) may be used."; + } + + list pLMNTarget { + max-elements 1; + description "Defines the PLMN for which sessions shall be selected in + the network request session in case of area based QMC when several + PLMNs are supported in the RAN (this means that shared cells and not + shared cells are allowed for the specified PLMN. Furthermore, several + PLMNs can be used for not shared RAN cases as well as for shared RAN + cases.). Only the sessions may be selected where the PLMN that the + UE reports as selected PLMN is the same as the PLMN Target."; + uses types3gpp:PLMNId; + key "mcc mnc"; + } + + leaf qoETarget { + type string; + description "Specifies the target object of the QMC in case of + signalling based QMC. The qoETarget attribute shall be able + to carry IMSI or SUPI."; + mandatory true; + } + + leaf qoEReference { + type string; + mandatory true; + description "Identifies the QoE measurement collection job in the + Managed Elements and in the measurement collection entity. The QoE + reference shall be globally unique therefore it is composed as follows: + MCC+MNC+QMC ID, where the MCC and MNC are coming with the QMC + activation request from the management system to identify one PLMN + containing the management system, and QMC ID is a 3 byte Octet String. + The QMC ID is generated by the management system or the operator."; + } + + list sliceScope { + description "Contains a list of S-NSSAIs (Single Network Slice Selection + Assistance Information). A Network Slice end to end is identified by + S-NSSAI."; + key "sd sst"; + uses types5g3gpp:SNssai; + } + + leaf qMCConfigFile { + type string; + description "Provides a reference to a file including the parameters for + configuration of application layer measurements, known as Container + for Application Layer Measurement Configuration."; + mandatory true; + } + } + + grouping QMCJobSubTree { + description "Helps with augmenting QMCJob into multple places."; + list QMCJob { + description "Represents the QMCJob IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses QMCJobGrp; + } + } + } + + augment "/subnet3gpp:SubNetwork" { + uses QMCJobSubTree; + } + + augment "/me3gpp:ManagedElement" { + uses QMCJobSubTree; + } +} diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 8051893e7..f112b8034 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -541,7 +541,8 @@ module _3gpp-common-trace { } leaf tjTriggeringEvent { - when '../tjJobType = "TRACE_ONLY" or ../tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + when '../tjJobType = "TRACE_ONLY" or ' + + '../tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; type string ; mandatory true; description "Specifies the triggering event parameter of the trace session. @@ -750,7 +751,8 @@ module _3gpp-common-trace { } leaf tjMDTLoggingDuration { - when '../tjJobType = "LOGGED_MDT_ONLY" or ../tjJobType = "LOGGED_MBSFN_MDT"'; + when '../tjJobType = "LOGGED_MDT_ONLY" or' + + ' ../tjJobType = "LOGGED_MBSFN_MDT"'; type uint32 { range "600|1200|2400|3600|5400|7200"; } @@ -764,7 +766,8 @@ module _3gpp-common-trace { } leaf tjMDTLoggingInterval { - when '../tjJobType = "LOGGED_MDT_ONLY" or ../tjJobType = "LOGGED_MBSFN_MDT"'; + when '../tjJobType = "LOGGED_MDT_ONLY" or' + + ' ../tjJobType = "LOGGED_MBSFN_MDT"'; type uint32 { range "1280|2560|5120|10240|20480|" +"30720|40960|61440"; @@ -778,7 +781,8 @@ module _3gpp-common-trace { } leaf tjMDTLoggingEventThreshold { - when '../tjJobType = "LOGGED_MDT_ONLY" or ../tjJobType = "LOGGED_MBSFN_MDT"'; + when '../tjJobType = "LOGGED_MDT_ONLY" or' + + ' ../tjJobType = "LOGGED_MBSFN_MDT"'; type uint32 { range "0..127"; } @@ -792,7 +796,8 @@ module _3gpp-common-trace { } leaf tjMDTLoggedHysteresis { - when '../tjJobType = "LOGGED_MDT_ONLY" or ../tjJobType = "LOGGED_MBSFN_MDT"'; + when '../tjJobType = "LOGGED_MDT_ONLY" or ' + + '../tjJobType = "LOGGED_MBSFN_MDT"'; type uint32 { range "0..30"; } @@ -806,7 +811,8 @@ module _3gpp-common-trace { } leaf tjMDTLoggedTimeToTrigger { - when '../tjJobType = "LOGGED_MDT_ONLY" or ../tjJobType = "LOGGED_MBSFN_MDT"'; + when '../tjJobType = "LOGGED_MDT_ONLY" or ' + + '../tjJobType = "LOGGED_MBSFN_MDT"'; type int32 ; description "It specifies the threshold which should trigger the reporting in case of event based reporting of logged NR MDT. @@ -992,7 +998,8 @@ module _3gpp-common-trace { } leaf tjMDTTraceCollectionEntityID { - when '../tjJobType = "LOGGED_MDT_ONLY" or ../tjJobType = "LOGGED_MBSFN_MDT"'; + when '../tjJobType = "LOGGED_MDT_ONLY" or ' + + '../tjJobType = "LOGGED_MBSFN_MDT"'; type uint8; mandatory true; description "It specifies the TCE Id which is sent to the UE in @@ -1117,4 +1124,4 @@ module _3gpp-common-trace { } } } -} +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 18084a2eb..0986cdefc 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -13,8 +13,10 @@ module _3gpp-common-yang-types { network slicing."; reference "3GPP TS 28.623"; + revision 2022-07-26 { reference CR-0180 ; } revision 2022-02-09 { reference "CR-0144"; } revision 2021-11-01 { reference "CR-0141"; } + revision 2021-09-30 { description "Added Longitude, Latitude, TenthOfDegrees, OnOff."; reference "CR-0138"; @@ -68,7 +70,7 @@ module _3gpp-common-yang-types { The progress of the process is described by the 'status' and 'progressPercentage' attributes. Additional textual qualifications for - the 'status' attribute may be provided by the 'progessStateInfo' and + the 'status' attribute may be provided by the 'progressStateInfo' and 'resultStateInfo' attributes. When the process is instantiated, the 'status' is set to 'NOT_RUNNING' @@ -80,7 +82,7 @@ module _3gpp-common-yang-types { During the 'RUNNING' state the 'progressPercentage' attribute may be repeatedly updated. The exact semantic of this attribute is subject to - further specialisation. The 'progessInfo' attribute may be used to + further specialisation. The 'progressInfo' attribute may be used to provide additional textual information in the 'NOT_RUNNING', 'CANCELLING' and 'RUNNING' states. Further specialisation of 'progressStateInfo' may be provided where this data type is @@ -428,6 +430,24 @@ module _3gpp-common-yang-types { } } + typedef BasicAdministrativeState { + reference "3GPP TS 28.625 and ITU-T X.731"; + type enumeration { + enum LOCKED { + value 0; + description "The resource is administratively prohibited from performing + services for its users."; + } + + enum UNLOCKED { + value 1; + description "The resource is administratively permitted to perform + services for its users. This is independent of its inherent + operability."; + } + } + } + typedef AdministrativeState { reference "3GPP TS 28.625 and ITU-T X.731"; type enumeration { diff --git a/yang-models/_3gpp-nr-nrm-bwpset.yang b/yang-models/_3gpp-nr-nrm-bwpset.yang new file mode 100644 index 000000000..ff630709c --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-bwpset.yang @@ -0,0 +1,36 @@ +module _3gpp-nr-nrm-bwpset { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-bwpset"; + prefix "bwpset3gpp"; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the BWPSet Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2022-06-29 { reference CR-0756 ; } + + grouping BWPSetGrp { + description "Represents the BWPSet IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + } + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + + list BWPList { + description "Represents a bandwidth part (BWP) set."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses BWPSetGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} diff --git a/yang-models/_3gpp-nr-nrm-dlbofunction.yang b/yang-models/_3gpp-nr-nrm-dlbofunction.yang index a9915f7f3..d532fe037 100644 --- a/yang-models/_3gpp-nr-nrm-dlbofunction.yang +++ b/yang-models/_3gpp-nr-nrm-dlbofunction.yang @@ -16,7 +16,7 @@ module _3gpp-nr-nrm-dlbofunction { Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2022-03-25 { reference "CR-XXXX"; } + revision 2022-03-25 { reference "CR-0683"; } revision 2021-10-22 { reference "CR-0577"; } feature DLBOUnderGNBCUCPFunction { @@ -49,6 +49,7 @@ module _3gpp-nr-nrm-dlbofunction { type int32 { range "-20..20"; } units "0.5 dB"; } + leaf maximumDeviationHoTriggerHigh { description "This parameter defines the maximum allowed upper deviation of the Handover Trigger, from the default point of @@ -97,4 +98,4 @@ module _3gpp-nr-nrm-dlbofunction { if-feature DLBOUnderSubNetwork; uses DLBOFunctionSubtree; } -} +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-dmrofunction.yang b/yang-models/_3gpp-nr-nrm-dmrofunction.yang index f56ee7012..4a065cdf9 100755 --- a/yang-models/_3gpp-nr-nrm-dmrofunction.yang +++ b/yang-models/_3gpp-nr-nrm-dmrofunction.yang @@ -98,4 +98,4 @@ module _3gpp-nr-nrm-dmrofunction { if-feature subnet3gpp:DMROFunction; uses DMROFunctionSubtree; } -} +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index 4c4cee4d6..dcc5aac9c 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -7,7 +7,6 @@ module _3gpp-nr-nrm-gnbcucpfunction { import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -15,6 +14,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2022-07-28 { reference "CR-0770"; } revision 2021-11-06 { reference "CR-0611" ; } revision 2021-11-05 { reference "CR-0609"; } revision 2020-10-02 { reference CR-0384 ; } @@ -25,9 +25,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { revision 2020-04-28 { reference "0260"; } revision 2020-02-14 { reference S5-20XXXX ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } feature DESManagementFunction { description "Classs representing Distributed SON Energy Saving feature"; @@ -46,7 +44,6 @@ module _3gpp-nr-nrm-gnbcucpfunction { description "Represents the GNBCUCPFunction IOC."; reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; - uses nrrrmpolicy3gpp:RRMPolicy_Grp; leaf gNBId { description "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID) @@ -102,24 +99,29 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf-list xnHOBlackList { type string; description "List of nodes to which handovers over Xn are prohibited."; - } + } + leaf configurable5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the GNBCUCPFunction supports (is associated to)."; + description "DN of the Configurable5QISet that the GNBCUCPFunction + supports (is associated to)."; } leaf-list x2HOBlackList { type string; description "List of nodes to which handovers over X2 are prohibited."; } + leaf dynamic5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the GNBCUCPFunction supports (is associated to)."; + description "DN of the Dynamic5QISet that the GNBCUCPFunction supports + (is associated to)."; } leaf dCHOControl { type boolean; - description "This attribute determines whether the CHO function is enabled or disabled."; + description "This attribute determines whether the CHO function is + enabled or disabled."; } leaf dDAPSHOControl { diff --git a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang index 944da20a7..2de8aaf65 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang @@ -7,7 +7,6 @@ module _3gpp-nr-nrm-gnbcuupfunction { import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } organization "3GPP SA5"; @@ -16,6 +15,7 @@ module _3gpp-nr-nrm-gnbcuupfunction { Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2022-07-28 { reference "CR-0770"; } revision 2020-11-05 { reference CR-0412 ; } revision 2020-08-06 { reference "CR-0333"; } revision 2020-08-03 { reference "CR-0321"; } @@ -98,7 +98,6 @@ module _3gpp-nr-nrm-gnbcuupfunction { description "Represents the GNBCUUPFunction IOC."; reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; - uses nrrrmpolicy3gpp:RRMPolicy_Grp; leaf gNBCUUPId { type uint64 { diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang index c52250c6d..8e6bb83f0 100755 --- a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang @@ -6,7 +6,6 @@ module _3gpp-nr-nrm-gnbdufunction { import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; @@ -15,6 +14,7 @@ module _3gpp-nr-nrm-gnbdufunction { Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2022-07-28 { reference "CR-0770"; } revision 2021-10-28 { reference CR-0607 ; } revision 2021-04-30 { reference CR-0490 ; } revision 2020-10-02 { reference CR-0384 ; } @@ -132,7 +132,6 @@ module _3gpp-nr-nrm-gnbdufunction { description "Represents the GNBDUFunction IOC."; reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; - uses nrrrmpolicy3gpp:RRMPolicy_Grp; leaf gNBId { type int64 { range "0..4294967295"; } diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index 0cb6dce0c..94e552b38 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -8,17 +8,17 @@ module _3gpp-nr-nrm-nrcelldu { import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import ietf-yang-types { prefix yang; } - organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRCellDU Information Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2022-07-28 { reference "CR-0770"; } + revision 2022-06-29 { reference CR-0756 ; } revision 2021-10-28 { reference CR-0607 ; } revision 2021-01-25 { reference CR-0454 ; } revision 2020-11-25 { reference CR-0386 ; } @@ -82,7 +82,6 @@ module _3gpp-nr-nrm-nrcelldu { description "Represents the NRCellDU IOC."; reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; - uses nrrrmpolicy3gpp:RRMPolicy_Grp; leaf cellLocalId { description "Identifies an NR cell of a gNB. Together with the @@ -374,6 +373,11 @@ module _3gpp-nr-nrm-nrcelldu { type types3gpp:DistinguishedName; } + leaf-list bWPSetRef { + description "Reference to corresponding BWPSet instance."; + type types3gpp:DistinguishedName; + } + leaf-list nRFrequencyRef { description "Reference to corresponding NRFrequency instance."; type types3gpp:DistinguishedName; diff --git a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang index cfe977059..8165e6d0b 100755 --- a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang +++ b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang @@ -1,10 +1,16 @@ module _3gpp-nr-nrm-rrmpolicy { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-rrmpolicy"; - prefix "nrrrmpolicy3gpp"; + prefix "rrmpolicy3gpp"; import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp ; } + import _3gpp-nr-nrm-nrcelldu { prefix nrcelldu3gpp ; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp ; } + import _3gpp-nr-nrm-gnbcuupfunction { prefix gnbcuup3gpp ; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp ; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -12,6 +18,7 @@ module _3gpp-nr-nrm-rrmpolicy { is part of the NR Network Resource Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2022-07-28 { reference "CR-0770"; } revision 2020-11-05 { reference CR-0412 ; } revision 2020-04-28 { reference "CR0285"; } revision 2020-02-14 { reference "Initial revision"; } @@ -26,13 +33,6 @@ module _3gpp-nr-nrm-rrmpolicy { uses types5g3gpp:PLMNInfo; } - typedef CyclicPrefix { - type enumeration { - enum NORMAL; - enum EXTENDED; - } - } - grouping RRMPolicy_Grp { description "This IOC represents the properties of an abstract RRMPolicy . The RRMPolicy_ IOC needs to be subclassed to be instantiated. @@ -71,13 +71,11 @@ module _3gpp-nr-nrm-rrmpolicy { } } // grouping - grouping RRMPolicyRatioGrp { description "Represents the RRMPolicyRatio concrete IOC."; uses RRMPolicy_Grp; // Inherits RRMPolicy_ - leaf rRMPolicyMaxRatio { description " This attribute specifies the maximum percentage of radio resource that can be used by the associated rRMPolicyMemberList. @@ -113,16 +111,89 @@ module _3gpp-nr-nrm-rrmpolicy { } } - list RRMPolicyRatio { - description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, - see the inheritance in Figure 4.2.1.2-1. This RRM framework allows - adding new policies, both standardized (like RRMPolicyRatio) or as - vendor specific, by inheriting from the - abstract RRMPolicy_ IOC. For details see subclause 4.3.36."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses RRMPolicyRatioGrp; + grouping RrmPolicySubtree { + description "Contains RrmPolicy related classes. + Should be used in all classes (or classes inheriting from) + - NRCellCU, NRCellDU, GNBCUUPFunction, GNBCUCPFunction, GNBDUFunction + + If some YAM wants to augment these classes/list/groupings they must + augment all user classes!"; + + list RRMPolicyRatio { + description "This IOC represents the properties of RRMPolicyRatio. + RRMPolicyRatio is one realization of abstract RRMPolicy_ IOC. + RRMPolicyRatio has three attributes, apart from those inherited + (DN, resourceType, rRMPolicyMemberList). + + Structure of RRMPolicyRatio includes in order: Dedicated Resources, + Prioritized Resources, Shared Resources, etc. + + - The attribute rRMPolicyMaxRatio defines the maximum resource usage + quota for the associated rRMPolicyMemberList, including at least one of + shared resources, prioritized resources and dedicated resources. The + sum of the 'rRMPolicyMaxRatio' values assigned to all RRMPolicyRatio(s) + name-contained by same MangedEntity can be greater than 100. + - The attribute rRMPolicyMinRatio defines the minimum resource usage + quota for the associated RRMPolicyMemberList, including at least one + of prioritized resources and dedicated resources, which means the + resources quota that need to be guaranteed for use by the associated + rRMPolicyMemberList. The sum of the 'rRMPolicyMinRatio' values assigned + to all RRMPolicyRatio(s) name-contained by same MangedEntity shall be + less or equal 100. + - The attribute rRMPolicyDedicatedRatio defines the dedicated resource + usage quota for the RRMPolicyMemberList, including dedicated resources. + The sum of the 'rRMPolicyDedicatedRatio' values assigned to all + RRMPolicyRatio(s) name-contained by same MangedEntity shall be less + or equal 100. + + The following are the definition for above mentioned three resource + categories: + - Shared resources: means the resources that are shared with other + rRMPolicyMemberList(s) (i.e. the rRMPolicyMemberList(s) defined in + RRMPolicyRatio(s) name-contained by the same ManagedEntity). The shared + resources are not guaranteed for use by the associated + rRMPolicyMemberList. The shared resources quota is represented by + [rRMPolicyMaxRatio-rRMPolicyMinRatio]. + - Priortized resources: means the resources are preferentially used by + the associated RRMPolicyMemberList. These resources are guaranteed for + use by the associated RRMPolicyMemberList when it needs to use them. + When not used, these resources may be used by other + rRMPolicyMemberList(s) (i.e. the rRMPolicyMemberList(s) defined in + RRMPolicyRatio(s) name-contained by the same ManagedEntity). + The prioritized resources quota is represented by + [rRMPolicyMinRatio-rRMPolicyDedicatedRatio] + - Dedicated resources: means the resources are dedicated for use by + the associated RRMPolicyMemberList. These resources can not be shared + even if the associated RRMPolicyMember does not use them. The Dedicated + resources quota is represented by [rRMPolicyDedicatedRatio]."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses RRMPolicyRatioGrp; + } } } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + "nrcellcu3gpp:NRCellCU" { + uses RrmPolicySubtree; + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/" + + "nrcelldu3gpp:NRCellDU" { + uses RrmPolicySubtree; + } + + augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { + uses RrmPolicySubtree; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + uses RrmPolicySubtree; + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + uses RrmPolicySubtree; + } + } \ No newline at end of file diff --git a/yang-models/_3gpp-ns-nrm-networkslice.yang b/yang-models/_3gpp-ns-nrm-networkslice.yang index f187bd1a9..f5704943c 100755 --- a/yang-models/_3gpp-ns-nrm-networkslice.yang +++ b/yang-models/_3gpp-ns-nrm-networkslice.yang @@ -3,7 +3,6 @@ module _3gpp-ns-nrm-networkslice { namespace urn:3gpp:sa5:_3gpp-ns-nrm-networkslice; prefix ns3gpp; - import _3gpp-ns-nrm-networkslicesubnet { prefix nss3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } @@ -20,6 +19,7 @@ module _3gpp-ns-nrm-networkslice { Information model definitions for network slice NRM (chapter 6) "; + revision 2022-07-26 { reference CR-770 ; } revision 2020-06-02 { reference "CR-0485, CR-0508"; } @@ -30,15 +30,15 @@ module _3gpp-ns-nrm-networkslice { } grouping NetworkSliceGrp { - - uses subnet3gpp:SubNetworkGrp; // Inherits from SubNetwork - + description "Represents the NetworkSlice IOC"; + leaf operationalState { description "The operational state of the network slice instance. - It describes whether or not the resource is physically installed + It describes whether or not the resource is installed and working."; - config false; type types3gpp:OperationalState; + config false; + mandatory true; } leaf administrativeState { @@ -46,6 +46,7 @@ module _3gpp-ns-nrm-networkslice { It describes the permission to use or prohibition against using the instance, imposed through the OAM services."; type types3gpp:AdministrativeState; + default LOCKED; } list serviceProfileList { @@ -56,23 +57,25 @@ module _3gpp-ns-nrm-networkslice { } leaf networkSliceSubnetRef { - type leafref { - path /nss3gpp:NetworkSliceSubnet/nss3gpp:id; - } - description "The NetworkSliceSubnet that the NetworkSlice is - associated with."; + type types3gpp:DistinguishedName; + config false; + mandatory true; + description "DN of NetworkSliceSubnet relating to the + NetworkSlice instance"; } } - list NetworkSlice { - description "Represents the properties of a network slice instance in - a 5G network."; - key id; - - container attributes { - uses NetworkSliceGrp; + augment /subnet3gpp:SubNetwork { + list NetworkSlice { + description "Represents the properties of a network slice instance in + a 5G network."; + key id; + + container attributes { + uses NetworkSliceGrp; + } + + uses top3gpp:Top_Grp; } - - uses top3gpp:Top_Grp; } } \ No newline at end of file diff --git a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang index 98daa9b54..5885d62d6 100755 --- a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang +++ b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang @@ -6,9 +6,7 @@ module _3gpp-ns-nrm-networkslicesubnet { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-top { prefix top3gpp; } - // import _3gpp-ns-nrm-common { prefix ns3cmn; } include _3gpp-ns-nrm-sliceprofile; @@ -23,6 +21,7 @@ module _3gpp-ns-nrm-networkslicesubnet { Information model definitions for network slice NRM (chapter 6) "; + revision 2022-07-26 { reference CR-0770 ; } revision 2021-05-05 { description "replace perfReq with 3 new datatypes xxxSliceSubnetProfile"; reference "CR-0485"; @@ -39,11 +38,6 @@ module _3gpp-ns-nrm-networkslicesubnet { 3GPP TS 28.541 V15.X.XX"; } - feature MeasurementsUnderNetworkSliceSubnet { - description "The MeasurementSubtree shall be contained under - NetworkSliceSubnet."; - } - typedef ETSI-GS-NFV-Identifier { type string; reference "ETSI GS NFV-IFA 013"; @@ -114,13 +108,10 @@ module _3gpp-ns-nrm-networkslicesubnet { } grouping NetworkSliceSubnetGrp { - - uses subnet3gpp:SubNetworkGrp; - uses EPTransportGrp; - + description "Represents the NetworkSliceSubnet IOC."; leaf operationalState { - description "The operational state of the network slice instance. - It describes whether or not the resource is physically installed + description "The operational state of the resouce. + It describes whether or not the resource is installed and working."; mandatory true; config false; @@ -131,7 +122,7 @@ module _3gpp-ns-nrm-networkslicesubnet { description "The administrative state of the network slice instance. It describes the permission to use or prohibition against using the instance, imposed through the OAM services."; - mandatory true; + default LOCKED; type types3gpp:AdministrativeState; } @@ -157,61 +148,80 @@ module _3gpp-ns-nrm-networkslicesubnet { uses SliceProfileGrp; } - list managedFunctionRef { - description "The managed functions that the NetworkSliceSubnet is - associated with."; - key aggregatedManagedFunction; - leaf aggregatedManagedFunction { - type instance-identifier; + leaf priorityLabel { + type int32 ; + mandatory true ; + description "Specifies a label that consumer would assign a value on + an instance of network slice subnet. The management system takes + the value of this attribute into account. The effect of this + attribute value to the subject managed entity is not standardized"; + } + + leaf networkSliceSubnetType { + type enumeration { + enum TOP_SLICESUBNET; + enum RAN_SLICESUBNET; + enum CN_SLICESUBNET; } + mandatory true; + description "Indicates the type of network slice subnet, including: + - Top network slice subnet + - RAN network slice subnet + - CN network slice subnet"; + } + + leaf-list managedFunctionRef { + type types3gpp:DistinguishedName; + config false; + description "This holds a list of DN of ManagedFunction instances + supporting the NetworkSliceSubnet instance."; } leaf-list networkSliceSubnetRef { - type leafref { - path /NetworkSliceSubnet/id; - } - description "Lists the NetworkSliceSubnet instances associated with - this NetworkSliceSubnet."; + type types3gpp:DistinguishedName; + config false; + description "List of DNs of constituent NetworkSliceSubnet supporting + NetworkSliceSubnet instance ."; + } + + leaf-list epTransportRef { + type types3gpp:DistinguishedName; + description "List of transport level EPs associated with the + application level EP (i.e. EP_N3 or EP_NgU) or network slice subnet."; } } - list NetworkSliceSubnet { - description "Represents the properties of a network slice subnet - instance in a 5G network."; - key id; - - container attributes { - - uses NetworkSliceSubnetGrp; - - leaf-list parents { - description "Reference to direct parent NetworkSliceSubnet - instances. - If NetworkSliceSubnets form a containment hierarchy this is - modeled using references between the child NetworkSliceSubnet - and the parent NetworkSliceSubnet. - This reference MUST NOT be present for the top level - NetworkSliceSubnet and MUST be present for other - NetworkSliceSubnets."; - type leafref { - path "/NetworkSliceSubnet/id"; - } - } - - leaf-list containedChildren { - description "Reference to all directly contained NetworkSliceSubnet - instances. If NetworkSliceSubnets form a containment hierarchy - this is modeled using references between the child - NetworkSliceSubnet and the parent NetworkSliceSubnet."; - type leafref { - path "/NetworkSliceSubnet/id"; - } + augment /subnet3gpp:SubNetwork { + list NetworkSliceSubnet { + description "Represents the properties of a network slice subnet + instance in a 5G network. + + The NetworkSliceSubnet can be categorized by following types: + - RANSliceSubne represent the RAN network slice subnet in a 5G network, + which is associated to one or multiple 'RANSliceSubnetProfile'. + - CNSliceSubnet represent the CN network slice subnet in a 5G network, + which is associated to one or multiple 'CNSliceSubnetProfile'. + - TopSliceSubnet represent the top network slice subnet in a 5G network, + which is associated to one or multiple 'TopSliceSubnetProfile'. + + The attribute epTransportRef is used to specify a list of EP_Transport + instance as transport resources to be aggregated to a NetworkSliceSubnet + instance. The MnS consumer determines the EP_Transport instance(s) to + support EP_Application instances as part of the NetworkSliceSubnet + instance and request the MnS producer to configure the attribute + epTransportRef of the NetworkSliceSubnet. + + The EP_Transport is name contained by SubNetwork, and an EP_Transport + instance can be a new instance created for the EP_Application instances + as part of NetworkSliceSubnet instance or an existing instance reused + for EP_Application instance."; + key id; + + container attributes { + uses NetworkSliceSubnetGrp; } - } - - uses top3gpp:Top_Grp; - uses meas3gpp:MeasurementSubtree { - if-feature MeasurementsUnderNetworkSliceSubnet; - } + + uses top3gpp:Top_Grp; + } } } \ No newline at end of file diff --git a/yang-models/_3gpp-ns-nrm-sliceprofile.yang b/yang-models/_3gpp-ns-nrm-sliceprofile.yang index c1441d45a..1e3217278 100755 --- a/yang-models/_3gpp-ns-nrm-sliceprofile.yang +++ b/yang-models/_3gpp-ns-nrm-sliceprofile.yang @@ -1049,4 +1049,4 @@ submodule _3gpp-ns-nrm-sliceprofile { uses TopSliceSubnetProfileGrp; } } -} +} \ No newline at end of file -- GitLab