Skip to content

Latest commit

 

History

History
80 lines (68 loc) · 9.77 KB

Configuration.md

File metadata and controls

80 lines (68 loc) · 9.77 KB

UPF Config

Description

Currently UPF have several config parameters shown below.
Parameters can be configured through command line interface, config files (YAML, JSON) or environment variables.

Parameter Description yaml env cli arg Defaults
Interface name
Mandatory
List of network interfaces handling N3 (GTP) & N6 (SGi) traffic. eUPF attaches XDP hook to every interface in this list. Format: [ifnameA, ifnameB, ...]. interface_name UPF_INTERFACE_NAME --iface lo
N3 address
Mandatory
IPv4 address for N3 interface n3_address UPF_N3_ADDRESS --n3addr 127.0.0.1
XDP mode
Optional
XDP attach mode:
generic – Kernel-level implementation. For evaluation purpose.
native – Driver-level implenemntaion
offloaded – NIC-level implementation. XDP can be loaded and executed directly on the NIC.
Refer to How XDP Works
xdp_attach_mode UPF_XDP_ATTACH_MODE --attach generic
API address
Optional
Local address for serving REST API server api_address UPF_API_ADDRESS --aaddr :8080
PFCP address
Optional
Local address that PFCP server will listen to pfcp_address UPF_PFCP_ADDRESS --paddr :8805
PFCP NodeID
Optional
Local NodeID for PFCP protocol. Format is IPv4 address. pfcp_node_id UPF_PFCP_NODE_ID --nodeid 127.0.0.1
GTP peer
Optional
List of gtp peer's address to send echo requests to. Format is [hostnameA:portA, hostnameB:portB, ...]. gtp_peer UPF_GTP_PEER --peer -
Echo request iterval
Optional
Echo request sending interval. Format is seconds. echo_interval UPF_ECHO_INTERVAL --echo 10
Metrics address
Optional
Local address for serving Prometheus mertrics endpoint. metrics_address UPF_METRICS_ADDRESS --maddr :9090
QER map size
Optional
Size of the eBPF map for QER parameters qer_map_size UPF_QER_MAP_SIZE --qersize 1024
FAR map size
Optional
Size of the eBPF map for FAR parameters far_map_size UPF_FAR_MAP_SIZE --farsize 1024
PDR map size
Optional
Size of the eBPF map for PDR parameters pdr_map_size UPF_PDR_MAP_SIZE --pdrsize 1024
Logging level
Optional
Logs having level <= selected level will be written to stdout logging_level UPF_LOGGING_LEVEL --loglvl info
UEIP Feature
Optional
Support for IP allocation option feature_ueip UPF_FEATURE_UEIP --ueip false
FTUP Feature
Optional
Support for TEID allocation option feature_ftup UPF_FEATURE_FTUP --ftup false
UE IP Pool
Optional
Pool of IP addresses, needed to allocate ip when the UEIP option is enabled ueip_pool UPF_UEIP_POOL --ueippool 10.60.0.0/24
TEID Pool
Optional
Pool of TEIDs, needed to allocate TEID when the FTUP option is enabled teid_pool UPF_TEID_POOL --teidpool 65535
We are using Viper for configuration handling, Viper uses the following precedence order. Each item takes precedence over the item below it:
  • CLI argument
  • environment variable
  • configuration file value
  • default value

NOTE: as of commit we are currently only support IPv4 NodeID.

Example configuration

Default values YAML

interface_name: [lo]
xdp_attach_mode: generic
api_address: :8080
pfcp_address: :8805
pfcp_node_id: 127.0.0.1
metrics_address: :9090
n3_address: 127.0.0.1
qer_map_size: 1024
far_map_size: 1024
pdr_map_size: 1024
feature_ueip: true
feature_ftup: true
ip_pool: 10.60.0.0/16
teid_pool: 65535

Environment variables

UPF_INTERFACE_NAME="[eth0, n6]"
UPF_XDP_ATTACH_MODE=generic
UPF_API_ADDRESS=:8081
UPF_PFCP_ADDRESS=:8806
UPF_METRICS_ADDRESS=:9091
UPF_PFCP_NODE_ID: 10.100.50.241  # address on n4 interface
UPF_N3_ADDRESS: 10.100.50.233

CLI

eupf \
 --iface n3 \
 --iface n6 \
 --attach generic \
 --aaddr :8081 \
 --paddr :8086 \
 --nodeid 127.0.0.1 \
 --maddr :9090 \
 --n3addr 10.100.50.233