Skip to content
Docs / dflux TinyCore
ContactGet started

Enable IPv6

Give UEs IPv6 addresses on the UPF — per-DNN, /64-per-UE or /128-per-UE, and dual-stack.

IPv6 on the default DNN

By default the UPF is IPv4-only. Add a v6 prefix to the default DNN with -ue-ip-cidr6:

Bash

Omitting -ue-ip-cidr6 leaves the default DNN v4-only, and v6 PDU sessions targeting it are rejected. Supplying it makes the default DNN dual-stack.

Allocation mode: prefix vs host

-ue-ip-mode controls how the v6 prefix is carved up. It applies globally to every v6 pool on the UPF:

  • prefix (default) — /64 per UE. The operator prefix (e.g. a /48 or /56) is split into /64s, one assigned to each UE. This matches the 3GPP model where each PDU session gets a /64.
  • host/128 per UE. The prefix is carved into single addresses, one per UE. Convenient for lab and dev setups where you do not want to burn a /64 per UE.
Bash
Mode is global
-ue-ip-mode is not per-DNN — it governs how all v6 pools on this UPF (the default plus any -dnn-pool6) carve their prefixes.

Per-DNN IPv6 pools

For additional DNNs, declare v6 pools with -dnn-pool6 name=cidr (repeatable, IPv6 only). A DNN named only by -dnn-pool6 is v6-only:

Bash

Here iot serves only IPv6, while the default internet DNN stays IPv4-only (no -ue-ip-cidr6 was given).

Dual-stack DNNs

To make a single DNN dual-stack, declare both a v4 and a v6 pool for the same name. -dnn-pool6 merges into the matching -dnn-pool by name, giving that DNN one v4 and one v6 pool:

Bash

The voice DNN is now dual-stack. Each DNN allows at most one v6 prefix; a duplicate -dnn-pool6 for the same name is an error. Each DNN must have at least one of a v4 or v6 pool — a DNN with neither is rejected.

Where to go next