README.md 3.64 KB
Newer Older
1
# openair-cn5g-smf
lionelgo's avatar
lionelgo committed
2
3
4
5

It is distributed under OAI Public License V1.0. 
The license information is distributed under LICENSE file in the same directory.

6
The OpenAirInterface CN SMF software is composed of the following parts: 
lionelgo's avatar
lionelgo committed
7

8
openair-cn5g-smf
9
├── 3gpp-specs:    Directory containing 3GPP specification files (YAML) used to implement SMF network function. 
10
11
├── build:         Build directory, contains targets and object files generated by compilation of network functions. 
    ├── log:       Directory containing build log files.
12
    ├── scripts:   Directory containing scripts for building network functions.
13
    └── smf:       Directory containing CMakefile.txt and object files generated by compilation of SMF network function. 
14
15
├── ci-scripts:    Directory containing the script files for CI framework.
├── docs:          Directory containing the documentation files.
16
17
├── etc:           Directory containing the configuration file to be deployed for SMF.
└── src:           Source files of SMF.
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
18
    ├── api-server: SMF services APIs. 
19
20
21
    ├── common:    Common header files
    │   ├── msg:   ITTI messages definitions.
    │   └── utils: Common utilities.
22
23
24
    ├── itti:      Inter task interface.
    ├── nas:       NAS protocol implememtation.
    ├── ngap:      NGAP protocol implememtation.
25
26
27
28
29
    ├── oai_smf:   SMF main directory, contains the "main" CMakeLists.txt file.
    ├── pfcp:      Generic PFCP stack implementation.
    ├── smf_app:   SMF network functions procedures and contexts.
    ├── test:      Minimal implementation for AMF, UDM network functions for testing purpose.
    └── udp :      UDP server implementation.
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
30

31
32
33
34
35
36
37
38
39
40
41
# OAI-SMF testbed: network topology
AMF (eno1:amf 172.16.1.102)-----------------SBI interfaces-----------------(eno1:udm 172.16.1.103) UDM 
                                               |
                                               |
                                     (eno1:smf 172.16.1.101)
                                              SMF
                                     (eno1:sn4 172.16.2.101)
                                               |
                                               |
                                    (eno1:sn4 172.16.2.102)                                                        
gNB (172.16.3.101)---(eno1:s1u 172.16.3.102)UPF/SPGW-U (SGI: eno1)----------------------------DNN
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
42
43
44
45
46
47
48
49

## Download source code from Gitlab
git clone https://gitlab.eurecom.fr/oai/oai-cn5g-smf/
cd oai-cn5g-smf/
git checkout develop

## install dependencies
cd /oai-cn5g-smf/build/scripts
50
./build_smf -I -f
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
51
## build SMF
52
./build_smf -c -V -b Debug -j
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
53
54

## Create configuration file for SMF
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
55
cd /oai-cn5g-smf/build/scripts
56
./smf_conf.sh
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
57
58
59
60
61
62
63

## Build and launch UDM
cd /oai-cn5g-smf/src/test/udm
mkdir build
cd build
cmake ..
make
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
64
sudo ./udm-server -i 172.16.1.103
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
65

Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
66
67
68
69
70
71
## Build and launch AMF server
cd /oai-cn5g-smf/src/test/amf
mkdir build
cd build
cmake ..
make
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
72
sudo ./amf-server -i 172.16.1.102
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
73

74
75
76
77
78
79
80
81
82
83
84
85
86

## launch SMF
sudo smf -c /usr/local/etc/oai/smf.conf -o 

## Build UPF (SPGWU) and Launch UPF (SPGWU)
git clone https://github.com/OPENAIRINTERFACE/openair-cn-cups/
cd /openair-cn-cups/build/scripts
./build_spgwu -I -f
./build_spgwu -c -V -b Debug -j

#configure SPGWU using an example configure file (spgw_u.conf)
cd /oai-cn5g-smf/src/test/upf/
./spgwu_conf.sh
87
sudo spgwu -c /usr/local/etc/oai/spgw_u.conf
88
89


Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
90
91
92
93
94
95
## Build and launch AMF client
cd /oai-cn5g-smf/src/test/amf_client
mkdir build
cd build
cmake ..
make
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
96
./amf-client -i 172.16.1.101
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
97

98
99
100
101
#Launch AMF client with HTTP2 (-v: http version, -p: port)
./amf-client -i 172.16.1.101 -v 2 -p 9090


Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
102