Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

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.

Test results

  • 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

NEF

prerequisite - ginkgo

  • cd 5GCEmulator/ngc  && make build
  • make test-unit-nef

edgdnscli (configures LDNS)

prerequisite - ginkgo

  • cd edgecontroller && make build-dnscli
  • make test-dnscli

Setup Test-Env

enter test dir:

  • 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.

 

Unit Test

This part is also included in versify.sh script. 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

5GCEmulator


EdgeNode

EdgeController

CI/CD logs

Pushed to the Nexus server




  • No labels