forked from acouzens/open5gs
update it
This commit is contained in:
parent
e8bd501165
commit
5fe3a0fcfb
|
@ -5,6 +5,7 @@ Prerequisite
|
|||
sudo apt-get install autoconf libtool m4
|
||||
sudo apt-get install libsctp-dev
|
||||
sudo apt-get install freediameter-dev
|
||||
sudo apt-get install libmongoc-1.0-0
|
||||
|
||||
|
||||
Build from Git
|
||||
|
@ -43,3 +44,7 @@ Install Tuntap for Mac OS X
|
|||
- Install tuntap_20150118.pkg in /usr/local/Caskroom/tuntap/20150118
|
||||
- sudo kextload /Library/Extensions/tun.kext
|
||||
|
||||
Install FreeDiameter, MongoDB C driver
|
||||
===========================================
|
||||
- brew install freediamter
|
||||
- brew install mongo-c-driver
|
||||
|
|
|
@ -4,7 +4,7 @@ ACLOCAL_AMFLAGS = -I m4
|
|||
|
||||
SUBDIRS = lib src test
|
||||
|
||||
bin_PROGRAMS = mmed hssd sgwd pgwd nextepcd
|
||||
bin_PROGRAMS = mmed hssd sgwd pgwd epcd
|
||||
|
||||
dist_mmed_SOURCES = main.c
|
||||
mmed_LDADD = $(top_srcdir)/src/libmme.la
|
||||
|
@ -18,8 +18,8 @@ sgwd_LDADD = $(top_srcdir)/src/libsgw.la
|
|||
dist_pgwd_SOURCES = main.c
|
||||
pgwd_LDADD = $(top_srcdir)/src/libpgw.la
|
||||
|
||||
dist_nextepcd_SOURCES = main.c
|
||||
nextepcd_LDADD = $(top_srcdir)/src/libepc.la
|
||||
dist_epcd_SOURCES = main.c
|
||||
epcd_LDADD = $(top_srcdir)/src/libepc.la
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_srcdir)/lib/core/include \
|
||||
|
|
6
main.c
6
main.c
|
@ -8,7 +8,7 @@
|
|||
#include "core_signal.h"
|
||||
|
||||
/* Server */
|
||||
#include "init.h"
|
||||
#include "app.h"
|
||||
|
||||
static char *compile_time = __DATE__ " " __TIME__;
|
||||
|
||||
|
@ -145,7 +145,7 @@ int main(int argc, char *argv[])
|
|||
#endif
|
||||
}
|
||||
|
||||
if (epc_initialize(config_path, log_path) != CORE_OK)
|
||||
if (app_initialize(config_path, log_path) != CORE_OK)
|
||||
{
|
||||
d_fatal("NextEPC initialization failed. Aborted");
|
||||
return EXIT_FAILURE;
|
||||
|
@ -157,7 +157,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
d_info("NextEPC daemon terminating...");
|
||||
|
||||
epc_terminate();
|
||||
app_terminate();
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ SUBDIRS = mme hss sgw pgw
|
|||
noinst_LTLIBRARIES = libmme.la libhss.la libsgw.la libpgw.la libepc.la
|
||||
|
||||
COMMON_SOURCES = init.c
|
||||
COMMON_INCLUDES = init.h
|
||||
COMMON_INCLUDES = app.h
|
||||
|
||||
libmme_la_SOURCES = $(COMMON_INCLUDES)
|
||||
nodist_libmme_la_SOURCES = mme.c $(COMMON_SOURCES)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef __INIT_H__
|
||||
#define __INIT_H__
|
||||
#ifndef __APP_H__
|
||||
#define __APP_H__
|
||||
|
||||
#include "core.h"
|
||||
#include "core_errno.h"
|
||||
|
@ -8,13 +8,13 @@
|
|||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
CORE_DECLARE(status_t) will_initialize(char *config_path, char *log_path);
|
||||
CORE_DECLARE(status_t) did_initialize(char *config_path, char *log_path);
|
||||
CORE_DECLARE_NONSTD(void) will_terminate(void);
|
||||
CORE_DECLARE_NONSTD(void) did_terminate(void);
|
||||
CORE_DECLARE(status_t) app_will_initialize(char *config_path, char *log_path);
|
||||
CORE_DECLARE(status_t) app_did_initialize(char *config_path, char *log_path);
|
||||
CORE_DECLARE_NONSTD(void) app_will_terminate(void);
|
||||
CORE_DECLARE_NONSTD(void) app_did_terminate(void);
|
||||
|
||||
CORE_DECLARE(status_t) epc_initialize(char *config_path, char *log_path);
|
||||
CORE_DECLARE_NONSTD(void) epc_terminate(void);
|
||||
CORE_DECLARE(status_t) app_initialize(char *config_path, char *log_path);
|
||||
CORE_DECLARE_NONSTD(void) app_terminate(void);
|
||||
|
||||
CORE_DECLARE(status_t) mme_initialize();
|
||||
CORE_DECLARE_NONSTD(void) mme_terminate(void);
|
14
src/epc.c
14
src/epc.c
|
@ -4,18 +4,18 @@
|
|||
#include "core_signal.h"
|
||||
#include "core_semaphore.h"
|
||||
|
||||
#include "init.h"
|
||||
#include "app.h"
|
||||
|
||||
static pid_t hss_pid;
|
||||
|
||||
static int check_signal(int signum);
|
||||
|
||||
status_t epc_initialize(char *config_path, char *log_path)
|
||||
status_t app_initialize(char *config_path, char *log_path)
|
||||
{
|
||||
status_t rv;
|
||||
semaphore_id semaphore;
|
||||
|
||||
will_initialize(config_path, log_path);
|
||||
app_will_initialize(config_path, log_path);
|
||||
|
||||
rv = semaphore_create(&semaphore, 0);
|
||||
d_assert(rv == CORE_OK, return -1, "semaphore_create() failed");
|
||||
|
@ -51,14 +51,14 @@ status_t epc_initialize(char *config_path, char *log_path)
|
|||
rv = semaphore_post(semaphore);
|
||||
d_assert(rv == CORE_OK, return -1, "semaphore_post() failed");
|
||||
|
||||
did_initialize(config_path, log_path);
|
||||
app_did_initialize(config_path, log_path);
|
||||
|
||||
return CORE_OK;
|
||||
}
|
||||
|
||||
void epc_terminate(void)
|
||||
void app_terminate(void)
|
||||
{
|
||||
will_terminate();
|
||||
app_will_terminate();
|
||||
|
||||
mme_terminate();
|
||||
sgw_terminate();
|
||||
|
@ -66,7 +66,7 @@ void epc_terminate(void)
|
|||
|
||||
core_kill(hss_pid, SIGTERM);
|
||||
|
||||
did_terminate();
|
||||
app_did_terminate();
|
||||
}
|
||||
|
||||
static int check_signal(int signum)
|
||||
|
|
14
src/hss.c
14
src/hss.c
|
@ -4,27 +4,27 @@
|
|||
#include "core_signal.h"
|
||||
#include "core_semaphore.h"
|
||||
|
||||
#include "init.h"
|
||||
#include "app.h"
|
||||
|
||||
status_t epc_initialize(char *config_path, char *log_path)
|
||||
status_t app_initialize(char *config_path, char *log_path)
|
||||
{
|
||||
status_t rv;
|
||||
|
||||
will_initialize(config_path, log_path);
|
||||
app_will_initialize(config_path, log_path);
|
||||
|
||||
rv = hss_initialize();
|
||||
if (rv != CORE_OK) return rv;
|
||||
|
||||
did_initialize(config_path, log_path);
|
||||
app_did_initialize(config_path, log_path);
|
||||
|
||||
return CORE_OK;
|
||||
}
|
||||
|
||||
void epc_terminate(void)
|
||||
void app_terminate(void)
|
||||
{
|
||||
will_terminate();
|
||||
app_will_terminate();
|
||||
|
||||
hss_terminate();
|
||||
|
||||
did_terminate();
|
||||
app_did_terminate();
|
||||
}
|
||||
|
|
12
src/init.c
12
src/init.c
|
@ -1,4 +1,4 @@
|
|||
#define TRACE_MODULE _init
|
||||
#define TRACE_MODULE _app
|
||||
|
||||
#include "core_general.h"
|
||||
#include "core_debug.h"
|
||||
|
@ -8,14 +8,14 @@
|
|||
|
||||
#include "logger.h"
|
||||
|
||||
#include "init.h"
|
||||
#include "app.h"
|
||||
|
||||
static pid_t logger_pid;
|
||||
static thread_id net_thread;
|
||||
|
||||
void *THREAD_FUNC net_main(thread_id id, void *data);
|
||||
|
||||
status_t will_initialize(char *config_path, char *log_path)
|
||||
status_t app_will_initialize(char *config_path, char *log_path)
|
||||
{
|
||||
core_initialize();
|
||||
|
||||
|
@ -33,7 +33,7 @@ status_t will_initialize(char *config_path, char *log_path)
|
|||
return CORE_OK;
|
||||
}
|
||||
|
||||
status_t did_initialize()
|
||||
status_t app_did_initialize()
|
||||
{
|
||||
status_t rv;
|
||||
|
||||
|
@ -43,12 +43,12 @@ status_t did_initialize()
|
|||
return CORE_OK;
|
||||
}
|
||||
|
||||
void will_terminate(void)
|
||||
void app_will_terminate(void)
|
||||
{
|
||||
thread_delete(net_thread);
|
||||
}
|
||||
|
||||
void did_terminate(void)
|
||||
void app_did_terminate(void)
|
||||
{
|
||||
core_kill(logger_pid, SIGTERM);
|
||||
|
||||
|
|
14
src/mme.c
14
src/mme.c
|
@ -4,27 +4,27 @@
|
|||
#include "core_signal.h"
|
||||
#include "core_semaphore.h"
|
||||
|
||||
#include "init.h"
|
||||
#include "app.h"
|
||||
|
||||
status_t epc_initialize(char *config_path, char *log_path)
|
||||
status_t app_initialize(char *config_path, char *log_path)
|
||||
{
|
||||
status_t rv;
|
||||
|
||||
will_initialize(config_path, log_path);
|
||||
app_will_initialize(config_path, log_path);
|
||||
|
||||
rv = mme_initialize();
|
||||
if (rv != CORE_OK) return rv;
|
||||
|
||||
did_initialize(config_path, log_path);
|
||||
app_did_initialize(config_path, log_path);
|
||||
|
||||
return CORE_OK;
|
||||
}
|
||||
|
||||
void epc_terminate(void)
|
||||
void app_terminate(void)
|
||||
{
|
||||
will_terminate();
|
||||
app_will_terminate();
|
||||
|
||||
mme_terminate();
|
||||
|
||||
did_terminate();
|
||||
app_did_terminate();
|
||||
}
|
||||
|
|
14
src/pgw.c
14
src/pgw.c
|
@ -4,27 +4,27 @@
|
|||
#include "core_signal.h"
|
||||
#include "core_semaphore.h"
|
||||
|
||||
#include "init.h"
|
||||
#include "app.h"
|
||||
|
||||
status_t epc_initialize(char *config_path, char *log_path)
|
||||
status_t app_initialize(char *config_path, char *log_path)
|
||||
{
|
||||
status_t rv;
|
||||
|
||||
will_initialize(config_path, log_path);
|
||||
app_will_initialize(config_path, log_path);
|
||||
|
||||
rv = pgw_initialize();
|
||||
if (rv != CORE_OK) return rv;
|
||||
|
||||
did_initialize(config_path, log_path);
|
||||
app_did_initialize(config_path, log_path);
|
||||
|
||||
return CORE_OK;
|
||||
}
|
||||
|
||||
void epc_terminate(void)
|
||||
void app_terminate(void)
|
||||
{
|
||||
will_terminate();
|
||||
app_will_terminate();
|
||||
|
||||
pgw_terminate();
|
||||
|
||||
did_terminate();
|
||||
app_did_terminate();
|
||||
}
|
||||
|
|
14
src/sgw.c
14
src/sgw.c
|
@ -4,27 +4,27 @@
|
|||
#include "core_signal.h"
|
||||
#include "core_semaphore.h"
|
||||
|
||||
#include "init.h"
|
||||
#include "app.h"
|
||||
|
||||
status_t epc_initialize(char *config_path, char *log_path)
|
||||
status_t app_initialize(char *config_path, char *log_path)
|
||||
{
|
||||
status_t rv;
|
||||
|
||||
will_initialize(config_path, log_path);
|
||||
app_will_initialize(config_path, log_path);
|
||||
|
||||
rv = sgw_initialize();
|
||||
if (rv != CORE_OK) return rv;
|
||||
|
||||
did_initialize(config_path, log_path);
|
||||
app_did_initialize(config_path, log_path);
|
||||
|
||||
return CORE_OK;
|
||||
}
|
||||
|
||||
void epc_terminate(void)
|
||||
void app_terminate(void)
|
||||
{
|
||||
will_terminate();
|
||||
app_will_terminate();
|
||||
|
||||
sgw_terminate();
|
||||
|
||||
did_terminate();
|
||||
app_did_terminate();
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
#include "core_debug.h"
|
||||
|
||||
#include "init.h"
|
||||
#include "app.h"
|
||||
#include "mme_context.h"
|
||||
#include "abts.h"
|
||||
#include "testutil.h"
|
||||
|
@ -38,16 +38,12 @@ void core_assert_ok(abts_case* tc, const char* context, status_t rv,
|
|||
|
||||
void test_terminate(void)
|
||||
{
|
||||
epc_terminate();
|
||||
app_terminate();
|
||||
}
|
||||
|
||||
void test_initialize(void)
|
||||
{
|
||||
epc_initialize(NULL, NULL);
|
||||
|
||||
#if 0
|
||||
inet_pton(AF_INET, "10.1.35.215", &mme_self()->s1ap_addr);
|
||||
#endif
|
||||
app_initialize(NULL, NULL);
|
||||
|
||||
atexit(test_terminate);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue