UPF Configuration
Below you may find some of the upf override configuration.
Bess default values can be found here
PFCP Dump Examples
This contains values.yaml snippets to enable the PFCP raw-dump
feature for debugging parse errors in the pfcp-agent container.
Use transient storage (empty dir)
upfDump:
enabled: true
dir: /var/log/upf/pfcp_dumps
upfName: my-upf-instance
maxBytes: 104857600 # 100 MiB total per-instance
maxFiles: 1000
toLog: false
persistence:
enabled: false
This will mount an emptyDir into the pod at /var/log/upf/pfcp_dumps and
the runtime will prune files when the directory exceeds maxBytes or
maxFiles.
Use persistent storage (PVC)
upfDump:
enabled: true
dir: /var/log/upf/pfcp_dumps
upfName: upf-01
maxBytes: 1073741824 # 1 GiB
maxFiles: 10000
toLog: false
persistence:
enabled: true
size: 10Gi
storageClass: fast-ssd
This configuration will cause the chart to create a PersistentVolumeClaim named
<release>-pfcp-dump-pvc and mount it into the pfcp-agent container at
the configured dir.
Notes
maxBytesandmaxFilesare enforced by the UPF process (pruning). Set either to0to disable that limit.toLog=truewill also emit base64-encoded dumps to application logs — be careful in high-throughput environments.
UPF Address Pool
Below config is basic minimal config which has UE address pool configuration .. code-block:
config:
upf:
cfgFiles:
upf.jsonc:
mode: af_packet #this mode means no dpdk
hwcksum: true
log_level: "trace"
gtppsc: true #extension header is enabled in 5G. Sending QFI in pdu session extension header
measure_upf: false #enable packet processing time
cpiface:
dnn: "internet" #keep it matching with Slice dnn
hostname: "upf"
#http_port: "8080"
enable_ue_ip_alloc: true # if true then it means UPF allocates address from below pool
ue_ip_pool: "172.250.0.0/16" # UE ip pool is used if enable_ue_ip_alloc is set to true
Slice rate Configuration
config:
upf:
cfgFiles:
upf.jsonc:
# Default global rate limits. Can be changed at runtime via BESS gRPC.
slice_rate_limit_config:
# Uplink
n6_bps: 1000000000 # 1Gbps
n6_burst_bytes: 12500000 # 10ms * 1Gbps
# Downlink
n3_bps: 1000000000 # 1Gbps
n3_burst_bytes: 12500000 # 10ms * 1Gbps
Note
TBD : add REST api documentation to change slice QoS rates.
UPF Enable dpdk & sriov
config:
upf:
# Enable privileged when run from VM with sriov support
privileged: false
hugepage:
enabled: true
sriov:
enabled: true
cniPlugin: vfioveth
access:
# Provide sriov resource name when sriov is enabled
resourceName: "intel.com/intel_sriov_vfio"
core:
# Provide sriov resource name when sriov is enabled
resourceName: "intel.com/intel_sriov_vfio"
cfgFiles:
upf.jsonc:
mode: dpdk