Commit 33c5c4da authored by rosabolzek's avatar rosabolzek Committed by lengyelb
Browse files

moving from nfprofile to nrffunction nd correcting pyang an lint errors

parent 76ce2f33
Loading
Loading
Loading
Loading
+43 −43
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ module _3gpp-5gc-nrm-ausffunction {
        by the PCF instance.";
      key idx;
      leaf idx { type uint32 ; }
      uses mnfp3gpp:SupiRange;
      uses mnfp3gpp:SupiRangeGrp;
    }

      leaf-list routingIndicators {
+141 −141
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ TTA, TTC). All rights reserved.";
            type types3gpp:NfType;
        }
    }
    grouping SupiRange {
    grouping SupiRangeGrp {
    leaf start {
        description "First value identifying the start ofa SUPI range.To be
        used when the range of SUPI's can be represented as a numeric range
@@ -119,7 +119,7 @@ TTA, TTC). All rights reserved.";
                 be selected.";
            key idx;
            leaf idx { type uint32; }
            uses SupiRange;
            uses SupiRangeGrp;
        }
        list gpsiRangeList {
            description "It represents a set of GPSIs for which the NF
+424 −83
Original line number Diff line number Diff line
@@ -18,6 +18,9 @@ module _3gpp-5gc-nrm-nrffunction {
  import _3gpp-5gc-nrm-smffunction { prefix smf3gpp;}
  import _3gpp-5gc-nrm-upffunction { prefix upf3gpp;}
  import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp;}
  import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp;}
  import _3gpp-5gc-nrm-gmlcfunction { prefix gmlc3gpp;}
  import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp;}


  organization "3gpp SA5";
@@ -28,6 +31,7 @@ module _3gpp-5gc-nrm-nrffunction {
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541";

  revision 2025-07-25 { reference CR-1558 ; }
  revision 2025-01-25 { reference CR-1442 ; }
  revision 2023-09-18 { reference CR-1043 ; }
  revision 2023-04-26 { reference CR-0916; }
@@ -36,6 +40,246 @@ module _3gpp-5gc-nrm-nrffunction {
  revision 2019-10-28 { reference S5-193518 ; }
  revision 2019-05-15 { reference "initial revision"; }


    grouping bsfInfo {

      list ipv4AddressRanges {
        description "List of ranges of IPv4 addresses handled by BSF.
                     If not provided, the BSF can serve any IPv4 address.";
        key "start end";
        uses types3gpp:Ipv4AddressRange;
      }

      leaf-list dnnList {
        description "List of DNNs handled by the BSF
                     If not provided, the BSF can serve any DNN.";

        min-elements 1;
        type string;
      }

      leaf-list ipDomainList {
        description "List of IPv4 address domains, as described in
        subclause 6.2 of 3GPP TS 29.513, handled by the BSF.
                     If not provided, the BSF can serve any IP domain.";
        min-elements 1;
        type string;
      }

      list ipv6PrefixRanges {
        description "List of ranges of IPv6 prefixes handled by the BSF.
                     If not provided, the BSF can serve any IPv6 prefix.";
        key "start end";
        uses types3gpp:Ipv6PrefixRange;
      }
    }
        grouping chfInfo {

      list supiRangeList {
        description "List of ranges of SUPIs that can be served by
         the CHF instance. If not provided, the CHF can serve any SUPI.";
        key "start end pattern";
        min-elements 1;
        uses mnfp3gpp:SupiRangeGrp;
      }

      list gpsiRangeList {
        description "List of ranges of GPSI that can be served
        by the CHF instance. If not provided, the CHF can serve any GPSI.";
        key idx;
        leaf idx { type uint32; }
        min-elements 1;
        uses mnfp3gpp:IdentityRange;
      }

      list plmnRangeList {
        description "List of ranges of PLMNs (including the PLMN
        IDs of the CHF instance) that can be served by the CHF instance.
                     If not provided, the CHF can serve any PLMN.";

        min-elements 1;
        key "mcc mnc";
        uses types3gpp:PLMNId;
      }
      leaf primaryChfInstance {
        //optional
        description "This attribute represents the NF Instance Id of the
        primary CHF instance. This attribute shall be absent if the
        secondaryChfInstance is present.";
        type string;

      }
      leaf secondaryChfInstance {
        //optional
        description "This attribute represents the NF Instance Id of the
        secondary CHF instance.This attribute shall be absent if the
        primaryChfInstance is present.";
        type string;
      }
    }
    grouping pcscfInfo  {
        description "This data type represents the information of a P-CSCF NF Instance.
     For more information, see clause 6.1.6.2.53 of TS 29.510.";

      leaf-list accessType {
        description "It provides the condition of access type of the UE when
        the session AMBR shall be enforced, see TS 29.512 [60].If this
        attribute is included in SmfInfo, it shall contain the access type
        (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF.If not
        included, it shall be assumed the both access types are supported.";
        type enumeration {
        enum 3GPP_ACCESS;
        enum NON_3GPP_ACCESS;
       }
        min-elements 1;
        max-elements 2;
      }
      leaf-list dnnList {
        description "It represents the DNNs supported by the PCF. The DNN,
        as defined in clause 9A of TS 23.003 [13], shall contain the Network
        Identifier and it may additionally contain an Operator Identifier,
        as specified in TS 23.003 [13] clause 9.1.1 and 9.1.2. If the Operator
        Identifier is not included, the DNN is supported for all the PLMNs in
        the plmnList of the NF Profile.If not provided, the PCF can serve any
        DNN.";
        min-elements 1;
        type string;
      }
      leaf-list gmFqdn {
        description "This attribute represents FQDN of the P-CSCF for the Gm
        interface..";
        max-elements 1;
        type string;
        //optional
      }
      leaf-list gmIpv4Addresses {
        description "This attribute represents list of IPv4 addresses of of
        the P-CSCF for the Gm interface.";
        type inet:ipv4-address;
        //optional
      }
      leaf-list gmIpv6Addresses {
        description "This attribute represents list of IPv6 addresses of of the
        P-CSCF for the Gm interface.";
        type inet:ipv6-address;
        //optional
      }
      leaf mwFqdn {
        description "This attribute represents FQDN of the P-CSCF for the Mw
        interface.";
        type string;
        //optional
      }
      leaf-list mwIpv4Addresses {
        description "List of ranges of PLMNs (including the PLMN
        IDs of the CHF instance) that can be served by the CHF instance.
        If not provided, the CHF can serve any PLMN.";
        type inet:ipv4-address;
        //optional
      }
      leaf-list mwIpv6Addresses {
        description "This attribute represents list of IPv4 addresses of
        the P-CSCF for the Mw interface.";
        type inet:ipv6-address;
        //optional
      }
      list servedIpv4AddressRanges {
        description "List of ranges of PLMNs (including the PLMN
        IDs of the CHF instance) that can be served by the CHF instance.
                     If not provided, the CHF can serve any PLMN.";

        min-elements 1;
        key "mcc mnc";
        uses types3gpp:PLMNId;
        //optional
      }
    }
  grouping HssInfoGrp {
    description " Information of an HSS NF Instance";
    leaf groupID{
      description "This attribute defines the identity of the HSS group
      that is served by the HSS instance.If not provided, the HSS instance
      does not pertain to any HSS group.";
      type string;
    }
    list imsiRanges {
      description "This attribute defines the list of ranges of IMSIs whose
      profile data is available in the HSS instance.";
      min-elements 1;
      key "id";
      leaf id {
      description "Unique identifier for the IMSI range.";
      type string;
      }
      uses ImsiRange;
    }
    list imsPrivateIdentityRanges{
      description "This attribute defines the list of ranges of IMS Private
      Identities whose profile data is available in the HSS instance.";
      min-elements 1;
      key "id";
      leaf id {
      description "Unique identifier for the IMSI range.";
      type string;
      }
      uses mnfp3gpp:IdentityRange;
    }
    list imsPublicIdentityRanges{
      description "This attribute defines the list of ranges of MSISDNs whose
      profile data is available in the HSS instance. ";
      min-elements 1;
      key "id";
      leaf id {
      description "Unique identifier for the IMSI range.";
      type string;
      }
      uses mnfp3gpp:IdentityRange;
    }
    list msisdnRanges{
      description "This attribute defines the list of ranges of IMS Public
      Identities whose profile data is available in the HSS instance ";
      min-elements 1;
      key "id";
      leaf id {
      description "Unique identifier for the IMSI range.";
      type string;
      }
      uses mnfp3gpp:IdentityRange;
    }
    list externalGroupIdentifiersRanges{
      description "This attribute defines the list of ranges of external
      group IDs that can be served by this HSS instance.If not provided,
      the HSS instance does not serve any external groups. ";
      min-elements 1;
      key "id";
      leaf id {
      description "Unique identifier for the IMSI range.";
      type string;
      }
      uses mnfp3gpp:IdentityRange;
    }
    list hssDiameterAddress{
      description "This attribute defines the Diameter Address of the HSS ";
      max-elements 1;
      key "id";
      leaf id {
      description "Unique identifier for the IMSI range.";
      type string;
      }
      uses NetworkNodeDiameterAddress;
    }
    list additionalDiamAddresses{
      description "This attribute defines the Additional Diameter Addresses
      of the HSS;may be present if hssDiameterAddress is present ";
      min-elements 1;
      key "id";
      leaf id {
      description "Unique identifier for the IMSI range.";
      type string;
      }
      uses NetworkNodeDiameterAddress;
    }
  }
    grouping NrfInfoGrp {

      list servedUdrInfo {
@@ -283,7 +527,104 @@ module _3gpp-5gc-nrm-nrffunction {
        uses FiveGDdnmfInfo ;
      }
    }
  grouping ImsiRange{
    leaf start{
      description "This attribute indicates the first value identifying
      the start of a IMSI range. ";
      type string{
        pattern "^[0-9]+$";
      }
    }
    leaf end{
      description "This attribute indicates the last value identifying
       the end of a IMSI range.";
      type string{
        pattern "^[0-9]+$";
      }
    }
    leaf pattern{
      description "This attribute indicates pattern (regular expression
      according to the ECMA-262 dialect [75]) representing the set of
      IMSIs belonging to this range. An IMSI value is considered part
      of the range if and only if the IMSI string fully matches the
      regular expression.Either the start and end attributes, or the
      pattern attribute, shall be present.";
      type string;
    }
  }
  grouping NetworkNodeDiameterAddress {
    leaf-list name{
      description "This attribute indicates the Diameter
      name of the network node diameter address.";
      reference " See TS 29.571 [61]. String contains a Diameter Identity
       (FQDN).";
       type string;
       min-elements 1;
       max-elements 1;
    }
    leaf-list realm{
      description "This attribute indicates the Diameter realm of the
       network node diameter addres. See TS 29.571 [61]. String contains
       a Diameter Identity (FQDN).";
      type string;
      min-elements 1;
      max-elements 1;
    }
  }
    typedef PduSessionType {
    type enumeration {
      enum IPV4;
      enum IPV6;
      enum IPV4V6;
      enum UNSTRUCTURED;
      enum ETHERNET;
      }
    }
  grouping DnnUpfInfoItem {
    leaf dnn {
      description "String representing a Data Network.";
      mandatory true;
      type string;
    }

    leaf-list dnaiList {
      description "List of Data network access identifiers supported
       by the UPF for this DNN.
                   The absence of this attribute indicates that the UPF
                   can be selected for this DNN for any DNAI.";
      min-elements 1;
      type string; //dnai is the type but its only a string with
      //desc: DNAI (Data network access identifier),
      //is this needed as its own typedef or string is ok
    }

    leaf-list pduSessionTypes {
      description "List of PDU session type(s) supported by
       the UPF for a specific DNN.";
      min-elements 1;
      type PduSessionType;
    }
  }
  grouping nfInfoGrp {
      description "This data type represents the information of a
      generic NF Instance. (See clause 6.1.6.2.56 TS 29.510 [23]).";
    leaf nfType {
      description "This parameter defines type of Network Function";
      type uint16;
    }
  }
  grouping FiveGDdnmfInfo {
    description "This data type represents the specific data for the 5G DDMF NF.
    See clause 6.1.6.2.74 of TS 29.510.";
    list plmnId {
      description "PLMN ID for which list of supported S-NSSAI(s)
       is provided.";
      min-elements 1;
      max-elements 1;
      key "mcc mnc";
      uses types3gpp:PLMNId;
    }
  }
  grouping NRFFunctionGrp {
    description "Represents the NRFFunction IOC";
    uses mf3gpp:ManagedFunctionGrp;
@@ -300,6 +641,7 @@ module _3gpp-5gc-nrm-nrffunction {
      uses types3gpp:PLMNId;
    }


    leaf sBIFQDN {
      description "The FQDN of the registered NF instance in the service-based
        interface.";
@@ -325,6 +667,7 @@ module _3gpp-5gc-nrm-nrffunction {
      key "sd sst";
      uses types5g3gpp:SNssai;
    }

    list nrfInfo {
      description "";
      key idx;
@@ -339,8 +682,6 @@ module _3gpp-5gc-nrm-nrffunction {
      min-elements 1;
      max-elements 1;
      uses mnfp3gpp:ManagedNFProfileGrp;
      description "This parameter defines profile for managed NF";
      reference "3gpp TS 23.501";
    }
    list managedNFProfile {
      key idx;
+44 −43
Original line number Diff line number Diff line
@@ -113,9 +113,10 @@ module _3gpp-5gc-nrm-pcffunction {
      list supiRanges {
        description "List of ranges of SUPIs that can be served by
         the PCF instance. If not provided, the PCF can serve any SUPI.";
        key "start end pattern";
        key idx;
        leaf idx { type uint32; }
        min-elements 1;
        uses mnfp3gpp:SupiRange;
        uses mnfp3gpp:SupiRangeGrp;
      }

      leaf rxDiamHost {
+47 −47
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ module _3gpp-5gc-nrm-udmfunction {
        available in the UDM instance.";
        key "start end pattern";
        min-elements 1;
        uses mnfp3gpp:SupiRange;
        uses mnfp3gpp:SupiRangeGrp;
      }

      list gpsiRanges {
Loading