Docker ULCL Deployment
Note
ULCL provides an Uplink Classifier for splitting the traffic of specific DN.
Architecture Overview
In ULCL, we define a specific traffic route for the destination 1.1.1.1/32
. All traffic destined for 1.1.1.1/32
will be routed through the path gNB - I-UPF - DN
. Other traffic will be routed through gNB - I-UPF - PSA-UPF - DN
.
Here is the deployment of ULCL version:
A. Prerequisites
-
Docker:
-
Install
sudo apt update sudo apt install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install docker-ce sudo systemctl start docker sudo docker --version
-
Docker group (avoid sudo problem)
-
-
gtp5g
-
Packages
-
Clone, Build and Install
-
B. Build free-ran-ue Image
-
Clone
-
Build Image
After building, use
docker images
cli to check image.
C. Start ULCL Compose
For the specific ue routes, please configure at free-ran-ue/docker/config/ULCL/uerouting.yaml
.
In default, there is a specific path for destination 1.1.1.1/32
.
D. UE
After docker compose started, UE can be started by entering the ue
container.
-
Enter
ue
container -
Start UE
-
Check Network Interface
Expected output included:
ueTun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500 inet 10.60.0.1 netmask 255.255.255.255 destination 10.60.0.1 inet6 fe80::b1e9:2933:3c64:b981 prefixlen 64 scopeid 0x20<link> unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
-
Application
Now, the whole deployment is finished. Network interface
ueTun0
can be used for any application, e.g. ICMP / iperf.