You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[Step 4: Conduct a ping test](#step-4-conduct-a-ping-test)
51
+
-[Step 5: Test Connectivity](#step-5-test-connectivity)
52
+
-[Step 6: Verify traffic through the 5G network](#step-6-verify-traffic-through-the-5g-network)
53
+
-[Utilities](#utilities)
54
+
-[Viewing Logs](#viewing-logs)
55
+
-[Accessing a Shell](#accessing-a-shell)
56
+
-[IP Ranges](#ip-ranges)
44
57
-[License](#license)
45
58
46
59
@@ -288,33 +301,197 @@ The python scripts can be used to add subscriber information. For details see [A
288
301
Once the subscriber data is correctly inserted, we can move on to deploying the RAN.
289
302
UERANSIM can be used to deploy a simulated monolithic gNB.
290
303
304
+
### Step 1: Deploy UERANSIM gNB
305
+
291
306
The `ueransim` directory contains Kubernetes manifest files for both gNB and UEs. First, deploy UERANSIM gNB using `ueransim/ueransim-gnb` directory and wait for NGAP connection to succeed.
1. Deploy UERANSIM UEs using `ueransim/ueransim-ue/` directory.
354
+
Now that the gNB is deployed, we can proceed to deploy UERANSIM UEs using `ueransim/ueransim-ue/` directory.
304
355
305
-
The UEs should connect to the gNB and establish a PDU session with the 5G core network.
356
+
### Step 1: Deploy UEs
306
357
358
+
```bash
359
+
kubectl apply -k ueransim/ueransim-ue -n open5gs
360
+
```
361
+
This will deploy 2 simulated UEs, ue1 and ue2 which connects to our 2 network slices.
307
362
308
-

363
+
### Step 2: Verify UE deployment
364
+
You can verify that the UEs have been deployed by the `kubectl get pods -n open5gs` command. You should see output similar to the one below, indicating that the simulated UEs have been deployed.
309
365
310
-
Once the PDU session is established, we can conduct a ping test from the UEs as shown.
366
+
```bash
367
+
ueransim-ue1-6df4cb95b-nq2m5 1/1 Running 0 6s
368
+
ueransim-ue2-6d5cc8487-58fvf 1/1 Running 0 6s
369
+
```
311
370
312
-

371
+
### Step 3: Check UE logs
313
372
314
-
</details>
373
+
The UEs should now connect to the gNB and establish a PDU session with the 5G core network. To verify this, check the logs of ue1:
374
+
```bash
375
+
kubectl logs ueransim-ue1-<pod-id> -n open5gs
376
+
```
377
+
You should see logs similar to the following, indicating successful PDU session establishment:
Once inside the pod, we can look at the interfaces as follows:
316
399
317
-
### IP Ranges
400
+
```bash
401
+
ip a
402
+
```
403
+
You should see the interfaces similar to the one below:
404
+
```bash
405
+
root@ueransim-ue1-6df4cb95b-nq2m5:/ueransim# ip a
406
+
3: uesimtun0: <POINTOPOINT,PROMISC,NOTRAILERS,UP,LOWER_UP> mtu 1400 qdisc fq_codel state UNKNOWN group default qlen 500
407
+
link/none
408
+
inet 10.41.0.2/32 scope global uesimtun0
409
+
valid_lft forever preferred_lft forever
410
+
inet6 fe80::917c:fa60:d6ea:9ddc/64 scope link stable-privacy
411
+
valid_lft forever preferred_lft forever
412
+
```
413
+
414
+
Note that a tunnel interface `uesimtun0` has been created denoting the UE's connection to the 5G network, with an IP in the range `10.41.0.0/16` If using a COTS UE, this would be the IP assigned to the UE. This IP range is specified in our core configuration, in the [SMF config file](open5gs/slices/slice1/smf1/smf-configmap.yaml#L45).
415
+
416
+
### Step 5: Test Connectivity
417
+
418
+
Let's test this by sending pings to google.ca using the `uesimtun0` interface.
PING www.google.ca (142.251.33.163) from 10.41.0.2 uesimtun0: 56(84) bytes of data.
427
+
64 bytes from yyz10s17-in-f3.1e100.net (142.251.33.163): icmp_seq=1 ttl=59 time=8.24 ms
428
+
64 bytes from yyz10s17-in-f3.1e100.net (142.251.33.163): icmp_seq=2 ttl=59 time=6.19 ms
429
+
64 bytes from yyz10s17-in-f3.1e100.net (142.251.33.163): icmp_seq=3 ttl=59 time=7.66 ms
430
+
```
431
+
432
+
### Step 6: Verify traffic through the 5G network
433
+
To verify that the pings are indeed going through the 5G network, leave the pings running, open up a new terminal, and we can open up a shell on the UPF1 pod (recall that ue1 is connected to slice1, and slice1 has upf1) as follows:
Copy file name to clipboardExpand all lines: add-subscribers-using-cli.md
+2-1
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,8 @@ Our setup supports three types of subscribers:
27
27
28
28
This automated addition is beneficial for scalability testing in multi-slice deployments.
29
29
30
-
**Note**: The default Open5GS configuration in the project root supports up to **2 slices**. For additional slices, refer to the multi-slice deployment (msd) sub-directory.
30
+
> [!CAUTION]
31
+
> The default Open5GS configuration in the project root supports up to **2 slices**. For additional slices, refer to the multi-slice deployment (msd) sub-directory.
31
32
32
33
## Adding subscribers
33
34
Ensure your virtual environment is active as described in as described in [Set up a virtual environment](README.md#1-set-up-a-virtual-environment).
0 commit comments