forked from acouzens/open5gs
add sctp configuration interface
This commit is contained in:
parent
241efaf581
commit
34e2b4d44a
|
@ -1 +1 @@
|
|||
Subproject commit 614b7e465c8669721ca39f3b6251ddc92b3fb5eb
|
||||
Subproject commit 81ab6c834a9580c26a9efc43d004e5b100faf52e
|
|
@ -24,8 +24,7 @@ int context_final()
|
|||
{
|
||||
ogs_assert(context_initialized == 1);
|
||||
|
||||
if (self.config.document)
|
||||
{
|
||||
if (self.config.document) {
|
||||
yaml_document_delete(self.config.document);
|
||||
ogs_free(self.config.document);
|
||||
}
|
||||
|
@ -50,8 +49,7 @@ int context_read_file()
|
|||
ogs_assert(config->path);
|
||||
|
||||
file = fopen(config->path, "rb");
|
||||
if (!file)
|
||||
{
|
||||
if (!file) {
|
||||
ogs_fatal("cannot open file `%s`", config->path);
|
||||
ogs_assert_if_reached();
|
||||
}
|
||||
|
@ -60,8 +58,7 @@ int context_read_file()
|
|||
yaml_parser_set_input_file(&parser, file);
|
||||
|
||||
document = ogs_calloc(1, sizeof(yaml_document_t));
|
||||
if (!yaml_parser_load(&parser, document))
|
||||
{
|
||||
if (!yaml_parser_load(&parser, document)) {
|
||||
ogs_fatal("Failed to parse configuration file '%s'", config->path);
|
||||
switch (parser.error)
|
||||
{
|
||||
|
@ -141,8 +138,7 @@ static int context_prepare()
|
|||
static int context_validation()
|
||||
{
|
||||
if (self.config.parameter.no_ipv4 == 1 &&
|
||||
self.config.parameter.no_ipv6 == 1)
|
||||
{
|
||||
self.config.parameter.no_ipv6 == 1) {
|
||||
ogs_error("Both `no_ipv4` and `no_ipv6` set to `true` in `%s`",
|
||||
context_self()->config.path);
|
||||
return OGS_ERROR;
|
||||
|
@ -165,33 +161,26 @@ int context_parse_config()
|
|||
if (rv != OGS_OK) return rv;
|
||||
|
||||
ogs_yaml_iter_init(&root_iter, document);
|
||||
while(ogs_yaml_iter_next(&root_iter))
|
||||
{
|
||||
while (ogs_yaml_iter_next(&root_iter)) {
|
||||
const char *root_key = ogs_yaml_iter_key(&root_iter);
|
||||
ogs_assert(root_key);
|
||||
if (!strcmp(root_key, "db_uri"))
|
||||
{
|
||||
if (!strcmp(root_key, "db_uri")) {
|
||||
self.config.db_uri = ogs_yaml_iter_value(&root_iter);
|
||||
}
|
||||
else if (!strcmp(root_key, "logger"))
|
||||
{
|
||||
else if (!strcmp(root_key, "logger")) {
|
||||
ogs_yaml_iter_t logger_iter;
|
||||
ogs_yaml_iter_recurse(&root_iter, &logger_iter);
|
||||
while(ogs_yaml_iter_next(&logger_iter))
|
||||
{
|
||||
while (ogs_yaml_iter_next(&logger_iter)) {
|
||||
const char *logger_key = ogs_yaml_iter_key(&logger_iter);
|
||||
ogs_assert(logger_key);
|
||||
if (!strcmp(logger_key, "file"))
|
||||
{
|
||||
if (!strcmp(logger_key, "file")) {
|
||||
self.config.logger.file = ogs_yaml_iter_value(&logger_iter);
|
||||
}
|
||||
else if (!strcmp(logger_key, "level"))
|
||||
{
|
||||
else if (!strcmp(logger_key, "level")) {
|
||||
self.config.logger.level =
|
||||
ogs_yaml_iter_value(&logger_iter);
|
||||
}
|
||||
else if (!strcmp(logger_key, "domain"))
|
||||
{
|
||||
else if (!strcmp(logger_key, "domain")) {
|
||||
self.config.logger.domain =
|
||||
ogs_yaml_iter_value(&logger_iter);
|
||||
}
|
||||
|
@ -201,61 +190,41 @@ int context_parse_config()
|
|||
{
|
||||
ogs_yaml_iter_t parameter_iter;
|
||||
ogs_yaml_iter_recurse(&root_iter, ¶meter_iter);
|
||||
while(ogs_yaml_iter_next(¶meter_iter))
|
||||
{
|
||||
while (ogs_yaml_iter_next(¶meter_iter)) {
|
||||
const char *parameter_key = ogs_yaml_iter_key(¶meter_iter);
|
||||
ogs_assert(parameter_key);
|
||||
if (!strcmp(parameter_key, "no_hss"))
|
||||
{
|
||||
self.config.parameter.no_hss =
|
||||
ogs_yaml_iter_bool(¶meter_iter);
|
||||
}
|
||||
else if (!strcmp(parameter_key, "no_sgw"))
|
||||
{
|
||||
} else if (!strcmp(parameter_key, "no_sgw")) {
|
||||
self.config.parameter.no_sgw =
|
||||
ogs_yaml_iter_bool(¶meter_iter);
|
||||
}
|
||||
else if (!strcmp(parameter_key, "no_pgw"))
|
||||
{
|
||||
} else if (!strcmp(parameter_key, "no_pgw")) {
|
||||
self.config.parameter.no_pgw =
|
||||
ogs_yaml_iter_bool(¶meter_iter);
|
||||
}
|
||||
else if (!strcmp(parameter_key, "no_pcrf"))
|
||||
{
|
||||
} else if (!strcmp(parameter_key, "no_pcrf")) {
|
||||
self.config.parameter.no_pcrf =
|
||||
ogs_yaml_iter_bool(¶meter_iter);
|
||||
}
|
||||
else if (!strcmp(parameter_key, "sctp_streams"))
|
||||
{
|
||||
} else if (!strcmp(parameter_key, "sctp_streams")) {
|
||||
const char *v = ogs_yaml_iter_value(¶meter_iter);
|
||||
if (v) self.config.parameter.sctp_streams = atoi(v);
|
||||
}
|
||||
else if (!strcmp(parameter_key, "no_ipv4"))
|
||||
{
|
||||
} else if (!strcmp(parameter_key, "no_ipv4")) {
|
||||
self.config.parameter.no_ipv4 =
|
||||
ogs_yaml_iter_bool(¶meter_iter);
|
||||
}
|
||||
else if (!strcmp(parameter_key, "no_ipv6"))
|
||||
{
|
||||
} else if (!strcmp(parameter_key, "no_ipv6")) {
|
||||
self.config.parameter.no_ipv6 =
|
||||
ogs_yaml_iter_bool(¶meter_iter);
|
||||
}
|
||||
else if (!strcmp(parameter_key, "prefer_ipv4"))
|
||||
{
|
||||
} else if (!strcmp(parameter_key, "prefer_ipv4")) {
|
||||
self.config.parameter.prefer_ipv4 =
|
||||
ogs_yaml_iter_bool(¶meter_iter);
|
||||
}
|
||||
else if (!strcmp(parameter_key, "multicast"))
|
||||
{
|
||||
} else if (!strcmp(parameter_key, "multicast")) {
|
||||
self.config.parameter.multicast =
|
||||
ogs_yaml_iter_bool(¶meter_iter);
|
||||
}
|
||||
else if (!strcmp(parameter_key, "no_slaac"))
|
||||
{
|
||||
} else if (!strcmp(parameter_key, "no_slaac")) {
|
||||
self.config.parameter.no_slaac =
|
||||
ogs_yaml_iter_bool(¶meter_iter);
|
||||
}
|
||||
else
|
||||
} else
|
||||
ogs_warn("unknown key `%s`", parameter_key);
|
||||
}
|
||||
}
|
||||
|
@ -304,8 +273,7 @@ int context_db_init(const char *db_uri)
|
|||
self.db.initialized = true;
|
||||
|
||||
self.db.client = mongoc_client_new(db_uri);
|
||||
if (!self.db.client)
|
||||
{
|
||||
if (!self.db.client) {
|
||||
ogs_error("Failed to parse DB URI [%s]", db_uri);
|
||||
return OGS_ERROR;
|
||||
}
|
||||
|
@ -324,8 +292,7 @@ int context_db_init(const char *db_uri)
|
|||
ogs_assert(self.db.database);
|
||||
|
||||
if (!context_mongoc_client_get_server_status(
|
||||
self.db.client, NULL, &reply, &error))
|
||||
{
|
||||
self.db.client, NULL, &reply, &error)) {
|
||||
ogs_error("Failed to connect to server [%s]", db_uri);
|
||||
return OGS_RETRY;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue