Skip to content

Commit

Permalink
Merge pull request #146 from brianwaters3/delivery1.9
Browse files Browse the repository at this point in the history
Delivery1.9
  • Loading branch information
himanshu3 authored May 12, 2021
2 parents 92ceac5 + 2db7305 commit 4e9d08b
Show file tree
Hide file tree
Showing 301 changed files with 47,371 additions and 71,283 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ cp/build/
dp/build/
dp/cdr
oss_adapter/c3po_oss/oss-util
oss_adapter/libepcadapter/build
third_party
*.a
*.o
Expand Down
19 changes: 9 additions & 10 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,32 @@
variables:
LOCAL_ARTIFACT_DIR: "/home/gitlab-runner/artifacts/"
GIT_IP: "10.155.205.206"
OSS_UTIL_BRANCH: "delivery_1.8"
FDM_BRANCH: "gx"
FDM_GIT_URL: "https://github.com/omec-project/freediameter.git"
FDM_GIT_URL: "https://github.com/omec-project/freeDiameter.git"
LIB_GTPV2C_REPO: "https://github.com/omec-project/libgtpv2c.git"
LIB_GTPV2C_COMMIT_ID: "9f954fb781d94186a8957cf1b60d48e5d0b5e7f3"

stages:
- build

build:
stage: build
only:
- delivery_1.8
- delivery_1.9
before_script:
- echo -e "*************************************\n\tNGIC Build Started\n*************************************"
script:
- echo "Git clone OSS util packages"
#- echo $CI_PROJECT_DIR
- ssh-keyscan $GIT_IP >> ~/.ssh/known_hosts
- cd $CI_PROJECT_DIR/oss_adapter/c3po_oss/ && git clone git@$GIT_IP:C3PO-NGIC/oss-util.git -b $OSS_UTIL_BRANCH
- sudo chown gitlab-runner:gitlab-runner -R $CI_PROJECT_DIR/oss_adapter/c3po_oss
- mkdir -p $CI_PROJECT_DIR/third_party && cd $CI_PROJECT_DIR/third_party && git clone $FDM_GIT_URL -b $FDM_BRANCH
- sudo chown gitlab-runner:gitlab-runner -R $CI_PROJECT_DIR/third_party/freediameter
- mkdir -p $CI_PROJECT_DIR/third_party && cd $CI_PROJECT_DIR/third_party && git clone $FDM_GIT_URL -b $FDM_BRANCH && git clone $LIB_GTPV2C_REPO && cd libgtpv2c && git checkout $LIB_GTPV2C_COMMIT_ID
- sudo chown gitlab-runner:gitlab-runner -R $CI_PROJECT_DIR/third_party
- cd $CI_PROJECT_DIR && chmod +x install_builddeps.sh && sudo ./install_builddeps.sh
- cd $CI_PROJECT_DIR && source setenv.sh && cd cp && make
- cd $CI_PROJECT_DIR && source setenv.sh && make build-lib && cd dp && make
- cd $CI_PROJECT_DIR && sudo chown gitlab-runner:gitlab-runner -R *
after_script:
- cd $CI_PROJECT_DIR && sudo tar -zcvf $LOCAL_ARTIFACT_DIR/ngic-prod-$TAG.tar.gz libgtpv2c/lib/libgtpv2c.so libpfcp/lib/libpfcp.so cp/build/ngic_controlplane dp/build/ngic_dataplane third_party/dpdk/usertools/ third_party/dpdk/x86_64-native-linuxapp-gcc/kmod/ config dp/run.sh cp/run.sh cp/logs /usr/local/lib/lib* /usr/local/lib/freeDiameter kni_ifcfg cp/gx_app
- cd $CI_PROJECT_DIR && sudo tar -zcvf $LOCAL_ARTIFACT_DIR/ngic-prod-$TAG.tar.gz third_party/libgtpv2c/lib/libgtpv2c.so third_party/libpfcp/lib/libpfcp.so cp/build/ngic_controlplane dp/build/ngic_dataplane third_party/dpdk/usertools/ third_party/dpdk/x86_64-native-linuxapp-gcc/kmod/ config dp/run.sh cp/run.sh cp/logs /usr/local/lib/lib* /usr/local/lib/freeDiameter kni_ifcfg cp/gx_app
- echo "Uploading artifact to nexus artifactory"
- cd $LOCAL_ARTIFACT_DIR && curl -v -F "asset1.filename=ngic-prod-$TAG.tar.gz" -F "directory=ngic_builds/$TAG" -F "asset1=@ngic-prod-$TAG.tar.gz" -u $NEXUS_USER:$NEXUS_PASS $NEXUS_URL/service/rest/v1/components?repository=raw-internal
#- rm -rf $LOCAL_ARTIFACT_DIR/*
- rm -rf $LOCAL_ARTIFACT_DIR/*

14 changes: 7 additions & 7 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,8 @@ with PCRF and SGWC/PGWC/SAEGWC communicates with DNS for selecting User Plane no
----------------
The NGIC VNF currently supports the following features:

* IPv6 interfaces and applications support in Deployment models
* IPv6 support in Mobility Management
* User level packet copying
* TEID implementation as per "C3PO TEID Assignment and Recovery Scenarios"
* Restoration CSID implementation and UP recovery
Expand All @@ -140,10 +142,10 @@ The NGIC VNF currently supports the following features:
* E-UTRAN procedures
* PCC (Policy Control and Charging) rules configuration.
* Packet Filters for Service Data Flow (SDF) configuration.
* UE sessions with multiple Bearer support.
* UE sessions with multiple Bearer support
* IPv4 support
* Charging by volume and time notification.
* Enable command line or display stats periodically.
* Charging by volume and time notification
* Enable command line or display stats periodically
* Promotion Demotion

4. High Level Design
Expand Down Expand Up @@ -251,16 +253,14 @@ Please refer to Figures below for the basic architecture in the NGIC.
5. Build, install, configure and test
------------------------------------------

Please refer to [Control and User Plane Gateway User Guide](docs/Control_User_Plane_Gateway_User_Guide_1.8.docx).
Please refer to [Control and User Plane Gateway User Guide](docs/Control_User_Plane_Gateway_User_Guide_1.9.docx).

6. Known Issues and limitations
-----------------------------
- ICMP supported under KNI-Linux
- IPV4 fragmentation and option header not supported.
- IPV4/IPV6 fragmentation and option header not supported.
- IPSec not supported.
- ARP handling supported under KNI-Linux.
- IPv6 support in Mobility Management.
- IPv6 interfaces and applications support in Deployment models.
- QoS Control in User Plane is not supported.
- ISR procedure is not supported.
- Multimedia Priority Service is not supported
85 changes: 67 additions & 18 deletions config/cp.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -6,47 +6,53 @@ CP_TYPE = 03

;Configure control-plane[SGWC/SAEGWC] S11 interface details
S11_IP = 10.0.7.28
;S11_IP_V6 = FC12:1234:4321:FF01::
S11_PORT = 2123

;Configure control-plane[SGWC/PGWC] S5S8 interface details
S5S8_IP = 10.0.5.80
;S5S8_IP_V6 = FC12:1234:4321:FF01::
S5S8_PORT = 2123

;Configure control-plane[SGWC/PGWC/SAEGWC] PFCP/SX interface details
PFCP_IP = 192.168.0.44
;PFCP_IP_V6 = FC12:1234:4321:FF01::
PFCP_PORT = 8805

;Configure MME[SGWC/SAEGWC] IP address statically
MME_S11_IP = 10.0.7.102
MME_S11_PORT = 2123

;Configure User-Plane[SGWU/SAEGWU] IP address statically, if DNS is disable
UPF_PFCP_IP = 192.168.0.42
;UPF_PFCP_IP_V6 = FC12:1234:4321:FF01::
UPF_PFCP_PORT = 8805

;Configure User-Plane[SGWU/PGWU/SAEGWU] S5S8 intf subnet.
;Configure any IP Address from the UPF S5S8 intf subnet
UPF_S5S8_IP = 10.1.6.0
UPF_S5S8_MASK = 255.255.255.0

;Configure redis ip & port to send generated CDR to redis server
;Configure Redis Server ip (either ipv4 or ipv6)
;& port to send generated CDR to redis server
REDIS_IP = 10.73.80.113
REDIS_PORT = 6379

;Configure cp ip & port used for redis server connection
;Configure cp ip (either ipv4 or ipv6)
;& port used for redis server connection
CP_REDIS_IP = 192.168.0.27

;Provide redis certificate path
REDIS_CERT_PATH = ../config/redis_cert

;Configure ddf2 ip and port used for user level packet copying
DDF2_IP = 192.168.0.69
DDF2_PORT = 8888
DDF2_INTFC = ens3

;D-DF2 Local Interface IP Address
DDF2_LOCAL_IP = 192.168.0.44

;Configure dadmf ip and port used for user level packet copying
DADMF_IP = 192.168.0.69
DADMF_PORT = 8881

DADMF_LOCAL_IP = 10.3.11.40
;DADMF Local Interface IP Address
DADMF_LOCAL_IP = 192.168.0.44

;Configure network trigger / ue trigger service request configurations
SUGGESTED_PKT_COUNT = 10
LOW_LEVEL_ARP_PRIORITY = 2

;Restoration procedure timers
;Configure periodic and transmit timers to check chennel is active or not between peer node.
Expand All @@ -70,13 +76,19 @@ TRANSMIT_COUNT = 3
REQUEST_TIMEOUT=3000
REQUEST_TRIES=2

;Change value of cp logger to 1 for activation of logger
CP_LOGGER = 0

;Configure control-plane[SGWC/PGWC/SAEGWC] request to run with or without dnsquery.
;Change the value of use dns to 0 for running without dnsquery
USE_DNS=1

;Configure CP IP (either ipv4 or ipv6) for DNS source IP
CP_DNS_IP = 192.168.0.27

;Configure CLI REST IP Address(either ipv4 or ipv6) for curl cmds.
CLI_REST_IP = 127.0.0.1

;Configure CLI REST Port for curl cmds.
CLI_REST_PORT = 12997

;Configure control-plane [PGWC/SAEGWC] with or without CDR
;Change value of CDR flag to 1 for enbale CDR.
;Change value of CDR flag to 0 for disable CDR.
Expand All @@ -102,10 +114,32 @@ SGW_CC = 3
;Change value of ADD_DEFAULT_RULE flag to 2 add rule deny any to any if Default Bearer QOS is missing in CCA-I
ADD_DEFAULT_RULE=1

;Configure control-plane [PGWC/SAEGWC] IP ALLOCATION MODE
;Change value of IP_ALLOCATION_MODE flag to 1 for DYNAMIC IP ALLOCATION.
;Change value of IP_ALLOCATION_MODE flag to 0 for STATIC IP ALLOCATION.
IP_ALLOCATION_MODE = 0

;For supported IP type configuration option
;0 = only IPv4 type
;1 = only IPv6 type
;2 = both IPv4 and IPv6 (priority based)
;3 = both IPv4 and IPv6 (dual mode)
IP_TYPE_SUPPORTED = 2

;Configure IP TYPE PRIORITY
;Change value of IP_TYPE_PRIORITY flag to 0 for IPv4.
;Change value of IP_TYPE_PRIORITY flag to 1 for IPv6.
IP_TYPE_PRIORITY = 1

;Configure control-plane[PGWC/SAEGWC] request to run with or without gx interface.
;Change the value of use gx to 0 for running without gx interface
USE_GX=1

;Change the value to 1 if running gateway for performance.
;Use the CLI get/post cmds to get and set/reset the perf flag value at run time.
;Using this flag to disable unnecessary operation.
PERF_FLAG=0

;For CDR generation URR trigger_type configuration option
;0 = only volume based
;1 = only time based
Expand All @@ -121,6 +155,10 @@ trigger_type=2
uplink_volume_th=1048576
downlink_volume_th=1048576
time_th=120
IP_POOL_IP=16.0.0.0
IP_POOL_MASK=255.0.0.0
IPV6_NETWORK_ID=FC12:1234:4321:AA::
IPV6_PREFIX_LEN=64

[APN]
name=apn2
Expand All @@ -130,6 +168,11 @@ trigger_type=2
uplink_volume_th=1048576
downlink_volume_th=1048576
time_th=120
IP_POOL_IP=17.0.0.0
IP_POOL_MASK=255.0.0.0
IPV6_NETWORK_ID=FC13:1234:4321::
IPV6_PREFIX_LEN=64


[APN]
name=apn3
Expand All @@ -139,6 +182,10 @@ trigger_type=2
uplink_volume_th=1048576
downlink_volume_th=1048576
time_th=120
IP_POOL_IP=18.0.0.0
IP_POOL_MASK=255.0.0.0
IPV6_NETWORK_ID=FC14:1234:4321::
IPV6_PREFIX_LEN=64

;Use default URR values for CDR generation,
;if apn is not configured in cp.cfg
Expand Down Expand Up @@ -167,7 +214,9 @@ frequency_seconds=3
filename=opsqueries.json
nameserver=10.43.13.27


;Use default IP_POOL_CONIFG
[IP_POOL_CONFIG]
IP_POOL_IP=16.0.0.0
IP_POOL_IP=19.0.0.0
IP_POOL_MASK=255.0.0.0
IPV6_NETWORK_ID=FC12:1234:4321:FF01::
IPV6_PREFIX_LEN=64
23 changes: 0 additions & 23 deletions config/cp_config_pgwc.cfg

This file was deleted.

25 changes: 0 additions & 25 deletions config/cp_config_sgwc.cfg

This file was deleted.

Loading

0 comments on commit 4e9d08b

Please sign in to comment.