Configuring the NRF Endpoints Profile Parameters
The SMF provides CLI for configuring NRF endpoints for different services that are supported by NRF, such as nnrf-nfm (NF management) and nnrf-nfd (NF Discovery).
Note | For a discovery group, only the nnrf-disc service can be configured. For management service, only nnrf-nfm can be configured. |
The CLI configuration allows configuring multiple endpoints under each endpoint profile. The SMF uses the priority and capacity parameters to load balance between these endpoints. Primary, secondary, and tertiary host [ip:port] can be configured within each endpoint. Both IPv4 and IPv6 address can be specified. If both are specified, then IPv4 address is preferred.
A URI uniquely identifies a resource. In the 5GC SBI APIs, when a resource URI is an absolute URI, its structure is specified as follows:
{apiRoot}/{apiName}/{apiVersion}/{apiSpecificResourceUriPart}
" apiRoot " is a concatenation of the following parts: scheme ("http" or "https")
Note | In this release of the specification, both HTTP and HTTPS scheme URIs are allowed. See 3GPP TS 33.501, subclause 13.1 for further details on security of service-based Interfaces. |
-
the fixed string "://"
-
authority (host and optional port) as defined in IETF RFC 3986
-
an optional deployment-specific string (API prefix) that starts with a "/" character. [api-root in CLI]
configure
group nrf { mgmt mgmt_name | discovery discovery_name }
service type nrf { nnrf-nfm | nnrf-disc }
endpoint-profile epprofile_name
priority priority_value
capacity capacity
api-root api_string
api-uri-prefix uri_prefix_string
uri-scheme { http | https }
endpoint-name ep_name { capacity capacity | primary ip-address
{ ipv4 ipv4_address | ipv6 ipv6_address | port port_num}
| secondary ip-address { ipv4 ipv4_address | ipv6 ipv6_address
| port port_num } | tertiary ip-address { ipv4 ipv4_address
| ipv6ipv6_address | port port_num } }
version [ uri-version version_num full version version_num ]
end
NOTES:
-
api-root api_string: Specifies the deployment-specific service API prefix that is used within the { apiRoot }.
-
api-uri-prefix uri_prefix_string: Specifies the {apiName}. If not configured, it takes the standard API name for the service as per the specification.
-
capacity capacity: Specifies the profile capacity.
-
endpoint-name ep_name { capacity capacity | primary ip-address { ipv4 ipv4_address | ipv6 ipv6_address | port port_num } | secondary ip-address { ipv4 ipv4_address | ipv6 ipv6_address | port port_num } | tertiary ip-address { ipv4 ipv4_address | ipv6 ipv6_address | port port_num } }: Specifies the endpoint name. You can configure the primary, secondary, and tertiary host (IP: Port) within each endpoint for NF server failover handling. The server failover configuration accepts both the IPv4 and IPv6 addresses. However, the SMF gives preference to the IPv4 address.
-
capacity capacity : Specifies the node capacity for the endpoint. capacity must be an integer in the range of 0-65535.
-
The endpoint selection for sending the message is based on probabilistic load-balancing algorithm (IETF RFC 2782) using the priority and capacity parameters.
-
primary ip-address { ipv4 ipv4_address | ipv6 ipv6_address | port port_num } : Specifies the primary endpoint IPv4 address, IPv6 address or port.
-
secondary ip-address { ipv4 ipv4_address | ipv6 ipv6_address | port port_num } : Specifies the secondary endpoint IPv4 address, IPv6 address or port.
-
tertiary ip-address { ipv4 ipv4_address | ipv6 ipv6_address | port port_num } : Specifies the tertiary endpoint IPv4 address, IPv6 address, or port.
-
priority priority_value : Specifies the priority for the service to select the appropriate profile using the load-balancing logic. priority must be an integer in the range of 0-65535.
-
uri-scheme { http | https } : Specifies the URI scheme, as http or https .
-
version [ uri-version version_num full version version_num ] : Specifies the api/Version. The full version format is <Major-version>.<Minor-version>.<patch-version>.[alpha-<draft-number>].