NRF Support

Feature Summary and Revision History

Summary Data

Table 1. Summary Data

Applicable Product(s) or Functional Area

5G-UPF

Applicable Platform(s)

VPC-SI

Feature Default Setting

Disabled - Configuration Required

Related Changes in this Release

Not Applicable

Related Documentation

Not Applicable

Revision History

Table 2. Revision History

Revision Details

Release

First introduced.

2022.04.0

Feature Description

In the 5G service-based architecture, the Network Repository Function (NRF) maintains an updated repository of all the 5G Network Functions (NFs) available in the operator's network. NRF also contains the details of the services provided by the 5G NFs, and allows the 5G NFs to instantiate, scale, and terminate without or minimal manual intervention.

NRF interacts with all NFs in the 5G core network, and provides the following services:

  • Management Services

  • Discovery Services

  • OAuth2 Authorization

  • Bootstrapping

The UPF supports only NRF Management Services.

NRF Management Services

The NRF Management (Nnrf_NFManagement) service enables the NF instances in the serving PLMN to register, update, or deregister their profiles in the NRF. The NF instance described here is the UPF StarOS based instance.

Figure 1. NRF Management
Illustrates how the NF instances register, update, or deregister their profiles in the NRF

Presently, the Nnrf_NFManagement service provides the following operations:

  • Register NF instance (NFRegister)—An NF instance registers its profile in the NRF along with the list of services that it provides.

  • Update NF instance (NFUpdate)—An NF instance partially updates or replaces the NF profile parameters in the NRF. It also adds or deletes the services that it provides.

    Currently, NFUpdate supports the following operations:

    • Update of NF profile attributes

    • Heartbeat of NF

  • De-register NF instance (NFDeregister)—An NF instance deregisters its NF profile and the services that it provides in the 5G network.

How it Works

This feature enables management services between UPF and NRF.

UPF Registration

Once the minimal configuration is done, the UPF triggers the registration procedure toward the NRF. The Nrfmgr proclet receives the configuration from the SessCtrl, and selects the endpoint with the lowest priority-number. If Nrfmgr does not receive response from the NRF for a retry, then Nrfmgr selects the endpoint with the next lowest priority-number. This process continues with all the endpoints endlessly. To stop this process, you must delete the configuration.

UPF Heartbeat

Once the registration is complete, Nrfmgr checks if the "nr hb-enable" option is configured. If "nr hb-enable" is configured already, Nrfmgr builds or sends the Heartbeat Request message. Nrfmgr then starts the timer using the heartbeat timer-value received from peer NRF. If no heartbeat response is received until the heartbeat timer-value, Nrfmgr picks the endpoint with the next lowest priority-number. This process continues with all the endpoints in a round-robin fashion endlessly. To stop this process, you must delete the configuration.

UPF DeRegistration

Once the configuration is deleted, UPF sends an NRF Deregistration message to NRF from Nrfmgr, and thus NRF deregisters UPF.

Standards Compliance

The NRF Support feature complies with 3GPP TS 29.510 "5G System; Network function repository services; Stage 3".

Configuring NRF Management Services

NRF Profile Configuration

The NRF Profile configuration provides UPF the flexibility or control to define the optional parameters that must be sent toward the NRF. For example, if you configure locality in the NNRF Mgmt profile, and the NF profile is associated with the NNRF service, locality is sent to the NRF.

To configure the NRF profile in the UPF, use the following CLI commands:

configure 
  context context_name 
    user-plane-nnrf 
      nnrf-mgmt-format profile_name 
        priority number 
        locality string 
        sst sst_number [ sd sd_number ] 
        smf-serving-area area_n 
      exit 
    exit 
    

NOTES:

  • user-plane-nnrf : Configures the UPF NRF profile.

  • nnrf-mgmt-format profile_name : Configures the NNRF management profile to control the parameters that are sent to NRF.

  • priority number : Specifies the priority of the UPF. If configured, the value is sent to NRF.

    number must be an from integer from 1 to 100. Default: No value is sent to NRF.

  • locality string : Specifies the locality of the UPF. If configured, this value is sent to NRF. The maximum length of string must be 63 bytes.

  • sst sst_number [ sd sd_number ] : Specifies the Slice information of the UPF. If configured, this value is sent to NRF.

    sst sst_number must be an integer from 0 to 255. Default: Slice/SST is not sent to NRF.

    sd sd_number must be an integer from 0 to 16777215. If not configured, SD is not sent to NRF.

  • smf-serving-area area_n : Specifies the SMF serving area of the UPF. You can configure up to five SMF areas.

    The maximum length of area_n must be 63 bytes. If configured, the value is sent to NRF.

NRF Service Configuration

To configure NRF services in the UPF, use the following CLI commands:

configure 
  context context_name 
     nnrf-nfm-service service_name 
       associate nnrf-mgmt-format profile_name 
       uri-scheme { http | https } 
       hb-enable 
       retransmission-timeout timeout_value 
       max-retransmissions max_retries 
       certificate path [ key path ] [ ca-certificate path ] 
       endpoint-name endpoint_name 
         priority number 
         ipv4-address ipv4_address [ portv4 port_number ] [ ipv6-address ipv6_address ] [ portv6 port_number ] 
         exit 
       bind ipv4-address ipv4_address [ portv4 port_number ] [ ipv6-address ipv6_address ] [ portv6 port_number ] 
    exit 
    user-plane-service userplane_service 
      associate nnrf-nfm-service service_name 
      nf-instance-id number 
    exit 
  exit 
exit 

NOTES:

  • nnrf-nfm-service service_name : Configures the NRF service.

  • associate nnrf-mgmt-format profile_name : Associates the NNRF management profile configuration. If not associated, the profile configurations such as priority/slice/smfarea are not sent in NFMgmt messages to the NRF.

  • uri-scheme { http | https } : Specifies the URI Scheme that is used to send messages to NRF (HTTP or HTTPS). Default value: HTTP.

  • [ no ] hb-enable : Enables or disables heartbeat messages to NRF.

  • retransmission-timeout timeout_value : Specifies the retry timer-interval, in seconds, for an endpoint to send messages to NRF. timeout_value must be an integer from 1 to 100. Default value: 15 seconds.

  • max-retransmissions max_retries : Specifies the maximum retries for sending messages to NRF. max_retries must be an integer from 1 to 20. Default value: three retries.

  • certificate path [ key path ] [ ca-certificate path ] : Specifies the path to certificate or CA certificate, and key URLs.

  • endpoint-name endpoint_name : Specifies the NRF endpoint. You must configure at least one endpoint to trigger messages from UPF to NRF.

  • priority number : Specifies the NRF endpoint priority.

    number must be an integer from 1 to 100. Default value: 50.

  • bind ipv4-address ipv4_address [ portv4 port_number ] [ ipv6-address ipv6_address ] [ portv6 port_number ] : Binds an IPv4 or IPv6 address to NRF. This configuration is required to trigger messages from UPF to NRF. If configured, IPv6 is prioritized over IPv4.

  • user-plane-service userplane_service : Defines the user-plane-service to nnrf-nfm-service association and the NF instance. This configuration is required to trigger messages from UPF to NRF.

  • associate nnrf-nfm-service service_name : Specifies the associated nnrf-nfm-service service.

  • nf-instance-id number : Specifies the NF instance ID in UUID format.

Monitoring and Troubleshooting

This section provides information about the CLI commands available for monitoring and troubleshooting this feature.

Show Commands and/or Outputs

This section describes the clear and show CLI commands for this feature.

  • clear nrf statistics

  • show nrf statistics

  • show nrf nnrf-nfm-service all

  • show nrf nnrf-nfm-service name service_name

    The following is a sample output of this command:

      Service name:             nrf-svc1
     VPN Name / Id:             ingress / 2
      State       :             Started
      Timer Value :             15        
      Max Retries :             3         
      Heartbeat   :             Enabled 
     Bind IPv4Addr:             209.165.201.2
     Bind IPv4Port:             0         
     Bind IPv6Port:             0         
       URI Scheme :             HTTPS
       NRF profile:             prof1
    
  • show nrf nnrf-nfm-service name service_name statistics

    The following is a sample output of this command:

    Service  name:             nrf-svc1
      Curr Endpoint:             end1
      Curr State   :             NRFMGMT_STATE_PENDING_REG
    
    Statistics for endpoint name end1
    =====================================================================
    
    Num PUT Req      : 3                     Num PATCH Req           : 0                   
    Num PUT Success  : 0                     Num PATCH Success       : 0                   
    Num PUT Failed   : 3                     Num PATCH Failed        : 0                   
    Num DEL Req      : 0             	 Last Conn Req Time      : 2022-08-05+19:11:14                               
    Num DEL Success  : 0                     Last Conn Resp Time     : NA                                                
    Num DEL Failed   : 0           
    
  • mon-pro support 18