Commit d63e0b51 authored by sunse's avatar sunse
Browse files

Ts28.541 rel18 cr1020 nrm enhancements for mbupf function

parent 5a80eef5
Loading
Loading
Loading
Loading
+256 −98
Original line number Diff line number Diff line
@@ -749,13 +749,24 @@ components:
        interfaceType:
          type: string
          enum:
            - IPV4ENDPOINTADDRESSES
            - IPV6ENDPOINTADDRESSES
            - FQDN
            - N3
            - N6
            - N9
            - DATA_FORWARDING
            - N3MB
            - N6MB
            - N19MB
            - NMB9
        ipv4EndpointAddresses:
          type: array
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr'
          minItems: 1
        ipv6EndpointAddresses:
          type: array
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr'
          minItems: 1
        fqdn:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn'
        networkInstance:
@@ -1689,95 +1700,6 @@ components:
            # $ref: 'TS29564_Nupf_EventExposure.yaml#/components/schemas/EventType'
          # minItems: 1

    # SnssaiUpfInfoItem/IpIndex/DnnUpfInfoItem stage2/3 introduced in SnssaiUpfInfoItem is introduced in CR1020 (via S5-236244)
    # the stage 3 for these threes are only for validation. When merged in integration branch,
    # the stage 3 for these three shall only keep one copy
    SnssaiUpfInfoItem:
      description: Set of parameters supported by UPF for a given S-NSSAI
      type: object
      required:
        - sNssai
        - dnnUpfInfoList
      properties:
        sNssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai'
        dnnUpfInfoList:
          type: array
          items:
            $ref: '#/components/schemas/DnnUpfInfoItem'
          minItems: 1
        redundantTransport:
          type: boolean
          default: false
    IpIndex:
      description: Represents the IP Index to be sent from UDM to the SMF (its value can be either an integer or a string)
      anyOf:
        - type: integer
        - type: string
    DnnUpfInfoItem:
      description: Set of parameters supported by UPF for a given DNN
      type: object
      required:
        - dnn
      properties:
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        dnaiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
          minItems: 1
        pduSessionTypes:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType'
          minItems: 1
        ipv4AddressRanges:
          type: array
          items:
            $ref: '#/components/schemas/Ipv4AddressRange'
          minItems: 1
        ipv6PrefixRanges:
          type: array
          items:
            $ref: '#/components/schemas/Ipv6PrefixRange'
          minItems: 1
        natedIpv4AddressRanges:
          type: array
          items:
            $ref: '#/components/schemas/Ipv4AddressRange'
          minItems: 1
        natedIpv6PrefixRanges:
          type: array
          items:
            $ref: '#/components/schemas/Ipv6PrefixRange'
          minItems: 1
        ipv4IndexList:
          type: array
          items:
            $ref: '#/components/schemas/IpIndex'
          minItems: 1
        ipv6IndexList:
          type: array
          items:
            $ref: '#/components/schemas/IpIndex'
          minItems: 1
        networkInstance:
          description: >
            The N6 Network Instance associated with the S-NSSAI and DNN.
          type: string
        dnaiNwInstanceList:
          description: >
            Map of network instance per DNAI for the DNN, where the key of the map is the DNAI.
            When present, the value of each entry of the map shall contain a N6 network instance
            that is configured for the DNAI indicated by the key.
          type: object
          additionalProperties:
            type: string
          minProperties: 1
      not:
        required: [ networkInstance, dnaiNwInstanceList ]

    PcfInfo:
      description: Information of a PCF NF Instance
      type: object
@@ -2530,6 +2452,128 @@ components:
            type: string
            pattern: '^[0-9]{1,4}$'

    MbUpfInfo:
      description: Information of an MB-UPF NF Instance
      type: object
      required:
        - sNssaiMbUpfInfoList
      properties:
        sNssaiMbUpfInfoList:
          type: array
          items:
            $ref: '#/components/schemas/SnssaiUpfInfoItem'
          minItems: 1
        mbSmfServingArea:
          type: array
          items:
            type: string
          minItems: 1
        interfaceMbUpfInfoList:
          type: array
          items:
            $ref: '#/components/schemas/InterfaceUpfInfoItem'
          minItems: 1
        taiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai'
          minItems: 1
        taiRangeList:
          type: array
          items:
            $ref: '#/components/schemas/TaiRange'
          minItems: 1
        priority:
          type: integer
          minimum: 0
          maximum: 65535
        supportedPfcpFeatures:
          type: string
    SnssaiUpfInfoItem:
      description: Set of parameters supported by UPF for a given S-NSSAI
      type: object
      required:
        - sNssai
        - dnnUpfInfoList
      properties:
        sNssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai'
        dnnUpfInfoList:
          type: array
          items:
            $ref: '#/components/schemas/DnnUpfInfoItem'
          minItems: 1
        redundantTransport:
          type: boolean
          default: false
    IpIndex:
      description: Represents the IP Index to be sent from UDM to the SMF (its value can be either an integer or a string)
      anyOf:
        - type: integer
        - type: string
    DnnUpfInfoItem:
      description: Set of parameters supported by UPF for a given DNN
      type: object
      required:
        - dnn
      properties:
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        dnaiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
          minItems: 1
        pduSessionTypes:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType'
          minItems: 1
        ipv4AddressRanges:
          type: array
          items:
            $ref: '#/components/schemas/Ipv4AddressRange'
          minItems: 1
        ipv6PrefixRanges:
          type: array
          items:
            $ref: '#/components/schemas/Ipv6PrefixRange'
          minItems: 1
        natedIpv4AddressRanges:
          type: array
          items:
            $ref: '#/components/schemas/Ipv4AddressRange'
          minItems: 1
        natedIpv6PrefixRanges:
          type: array
          items:
            $ref: '#/components/schemas/Ipv6PrefixRange'
          minItems: 1
        ipv4IndexList:
          type: array
          items:
            $ref: '#/components/schemas/IpIndex'
          minItems: 1
        ipv6IndexList:
          type: array
          items:
            $ref: '#/components/schemas/IpIndex'
          minItems: 1
        networkInstance:
          description: >
            The N6 Network Instance associated with the S-NSSAI and DNN.
          type: string
        dnaiNwInstanceList:
          description: >
            Map of network instance per DNAI for the DNN, where the key of the map is the DNAI.
            When present, the value of each entry of the map shall contain a N6 network instance
            that is configured for the DNAI indicated by the key.
          type: object
          additionalProperties:
            type: string
          minProperties: 1
      not:
        required: [ networkInstance, dnaiNwInstanceList ]

#-------- Definition of concrete IOCs --------------------------------------------
    ProvMnS:
@@ -2650,6 +2694,9 @@ components:
              $ref: '#/components/schemas/BsfFunction-Multiple'
            MBSMFFunction:
              $ref: '#/components/schemas/MbSmfFunction-Multiple'
              $ref: '#/components/schemas/BsfFunction-Multiple'            
            MBUPFFunction:
              $ref: '#/components/schemas/MbUpfFunction-Multiple'  

    AmfFunction-Single:
      allOf:
@@ -4667,10 +4714,8 @@ components:
              $ref: '#/components/schemas/EP_N16mb-Multiple'
            EP_Nmb1:
              $ref: '#/components/schemas/EP_Nmb1-Multiple'
            # EP_N4mb introduced in S5-236244 CR1020, to uncomment the following two lines
            # by code moderator when merging CR in integration branch
            # EP_N4mb:
              # $ref: '#/components/schemas/EP_N4mb-Multiple'
            EP_N4mb:
              $ref: '#/components/schemas/EP_N4mb-Multiple'
              
    EP_N11mb-Single:
      allOf:
@@ -4715,6 +4760,93 @@ components:
                    remoteAddress:
                      $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress'

    MbUpfFunction-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr'
                - type: object
                  properties:
                    plmnIdList:
                      $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList'
                    managedNFProfile:
                      $ref: '#/components/schemas/ManagedNFProfile'
                    commModelList:
                      $ref: '#/components/schemas/CommModelList'
                    mbUpfInfo:
                      $ref: '#/components/schemas/MbUpfInfo'
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO'
        - type: object
          properties:
            EP_N3mb:
              $ref: '#/components/schemas/EP_N3mb-Multiple'
            EP_N4mb:
              $ref: '#/components/schemas/EP_N4mb-Multiple'
            EP_N19mb:
              $ref: '#/components/schemas/EP_N19mb-Multiple'
            EP_Nmb9:
              $ref: '#/components/schemas/EP_Nmb9-Multiple'
              
    EP_N3mb-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr'
                - type: object
                  properties:
                    localAddress:
                      $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress'
                    remoteAddress:
                      $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress'
    EP_N4mb-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr'
                - type: object
                  properties:
                    localAddress:
                      $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress'
                    remoteAddress:
                      $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress'
    EP_N19mb-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr'
                - type: object
                  properties:
                    localAddress:
                      $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress'
                    remoteAddress:
                      $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress'
    EP_Nmb9-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr'
                - type: object
                  properties:
                    localAddress:
                      $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress'
                    remoteAddress:
                      $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress'

#-------- Definition of JSON arrays for name-contained IOCs ----------------------

    SubNetwork-Multiple:
@@ -5062,6 +5194,22 @@ components:
      type: array
      items:
        $ref: '#/components/schemas/EP_Nmb1-Single'
    EP_N3mb-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/EP_N3mb-Single'
    EP_N4mb-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/EP_N4mb-Single'
    EP_N19mb-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/EP_N19mb-Single'
    EP_Nmb9-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/EP_Nmb9-Single'        
    Configurable5QISet-Multiple:
      type: array
      items:
@@ -5122,6 +5270,10 @@ components:
      type: array
      items:
        $ref: '#/components/schemas/MbSmfFunction-Single'
    MbUpfFunction-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MbUpfFunction-Single'

#------------ Definitions in TS 28.541 for TS 28.532 -----------------------------

@@ -5212,6 +5364,11 @@ components:
       - $ref: '#/components/schemas/EP_Npc7-Single'
       - $ref: '#/components/schemas/EP_Npc8-Single'

       - $ref: '#/components/schemas/EP_N3mb-Single'
       - $ref: '#/components/schemas/EP_N4mb-Single'
       - $ref: '#/components/schemas/EP_N19mb-Single'
       - $ref: '#/components/schemas/EP_Nmb9-Single'

       - $ref: '#/components/schemas/EP_S5C-Single'
       - $ref: '#/components/schemas/EP_S5U-Single'
       - $ref: '#/components/schemas/EP_Rx-Single'
@@ -5242,3 +5399,4 @@ components:
       - $ref: '#/components/schemas/AanfFunction-Single'
       - $ref: '#/components/schemas/BsfFunction-Single'
       - $ref: '#/components/schemas/MbSmfFunction-Single'
       - $ref: '#/components/schemas/MbUpfFunction-Single'