Commit e6371b3b authored by lengyelb's avatar lengyelb
Browse files

Corrected EutraNetwork containment and inheritance

parent 736eb3e4
Loading
Loading
Loading
Loading
Loading
+16 −38
Original line number Diff line number Diff line
@@ -3,20 +3,21 @@ module _3gpp-nr-nrm-eutranetwork {
  namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranetwork";
  prefix "eutranet3gpp";

  import _3gpp-common-subnetwork { prefix subnet3gpp; }
  import _3gpp-common-managed-element { prefix me3gpp; }
  import _3gpp-common-top { prefix top3gpp; }
  import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; }

  organization "3GPP SA5";
  contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
  description "Defines the YANG mapping of the EUtraNetwork Information Object
    Class (IOC) that is part of the NR Network Resource Model (NRM).
    Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, 
    Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, 
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541 5G Network Resource Model (NRM)";

  revision 2024-10-06 { reference CR-1389; }
  revision 2023-09-18 { reference CR-1043; } 
  revision 2019-06-17 {
    description "Initial revision";
  }
  revision 2019-06-17 { reference "Initial revision"; }

  feature ExternalsUnderEUtraNetwork {
    description "Classes representing external entities like EUtranFrequency, 
@@ -24,40 +25,17 @@ module _3gpp-nr-nrm-eutranetwork {
  }

  grouping EUtraNetworkGrp {
    description "Represents the EUtraNetwork IOC.";
    reference "3GPP TS 28.541";
    uses subnet3gpp:SubNetworkGrp;
    description "Represents the EUtraNetwork IOC.
      It has no attributes, just the ones inherited from Top.";
  }

  augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" {
    list EUtraNetwork {
      description "A subnetwork containing gNB external E-UTRAN entities.";
      reference "3GPP TS 28.541";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EUtraNetworkGrp;
      leaf-list parents {
        description "Reference to all containg EUtraNetwork instances 
          in strict order from the root EUtraNetwork down to the immediate 
          parent EUtraNetwork.
          If EUtraNetworks form a containment hierarchy this is 
          modeled using references between the child EUtraNetwork and the parent 
          EUtraNetworks. 
          This reference MUST NOT be present for the top level EUtraNetwork and 
          MUST be present for other EUtraNetworks.";
        type leafref {
          path "../../../EUtraNetwork/id";  
        } 
      }
      
      leaf-list containedChildren{
        description "Reference to all directly contained EUtraNetwork instances.
          If EUtraNetworks form a containment hierarchy this is 
          modeled using references between the child EUtraNetwork and the parent 
          EUtraNetwork.";
        type leafref {
          path "../../../EUtraNetwork/id";  
        } 
      }
    }
  }