Test-Env Setup

End-to-end test with the 5GC emulator

To validate the BP, a 5GC emulator is provided, which consists of a 5G CP and UP.

  • The 5G CP is based on the Network Exposure Function (NEF) implemented by openNESS ngc

  • The 5G UP is an iPerf instance running in the client mode, controller by the 5G CP

Offloading call flow

The offloading call flow is as follows.

  1. A UE (not shown in the figure) sends a DNS request via the 5G user plane, which is detected by the Local DNS (LDNS) at the Edge GW.
  2. A new offloading rule is injected to the Edge Connector by the Edge GW. 
  3. AF function hosted on the Edge Connector invokes the TrafficInfluence API, offered by the 5G CP.
  4. A DNS response is composed and sent by the LDNS, which includes an IP pointing to an Edge server.
  5. 5G CP configures the 5G UP with standardized 5G signaling related to offloading.
  6. Traffic from the UE is offloaded to the Edge server.

Setup guide

  • Step 1, deploy edge GW and on-board iPerf (server) following the steps described in Installation Documentation.
  • Step 2, run ngc/start.sh to launch the 5G CP (NEF), Edge GW+server and AF. A DNS request will be sent hereafter.  

  • Step 3, run ngc/test/Post.sh to start traffic offloading or ngc/test/Delete.sh to stop offloading.

Unit Test

Enter test directory:

  • cd ./5g-mec-cloud-gaming

Execute the versify.sh script to setup the test environment:

       versify.sh script first installs Golang and ginkgothen installs docker and docker-compose.

 The test commands for the three submodules are as follows:

  • make -C 5GCEmulator/ngc build && make -C 5GCEmulator/ngc test-unit-nef
  • make -C edgenode networkedge
  • make -C edgecontroller build-dnscli &&  make -C edgecontroller test-dnscli

Test results

End-to-end test

  • Non-offloading case

The 5GC prints "No data offloaded..." when offloading is not enabled.

  • Offloading case

The 5GC prints "Offloading in progress", while the Edge GW prints the mount of data it receives in realtime. 

       

Unit Test

  • 5GCEmulator


  • EdgeNode


  • EdgeController

CI/CD logs

Pushed to the Nexus server




  • No labels