update code indentation

This commit is contained in:
Sukchan Lee 2019-05-29 21:27:22 +09:00
parent bd1c505024
commit 5bca0920b9
5 changed files with 519 additions and 907 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@ extern int __pgw_log_domain;
typedef struct gtp_node_s gtp_node_t;
typedef struct fd_config_s fd_config_t;
typedef struct _pgw_context_t {
typedef struct pgw_context_s {
const char* fd_conf_path; /* PGW freeDiameter conf path */
fd_config_t *fd_config; /* PGW freeDiameter config */
@ -67,15 +67,15 @@ typedef struct _pgw_context_t {
ogs_hash_t *sess_hash; /* hash table (IMSI+APN) */
} pgw_context_t;
typedef struct _pgw_subnet_t pgw_subnet_t;
typedef struct _pgw_ue_ip_t {
typedef struct pgw_subnet_s pgw_subnet_t;
typedef struct pgw_ue_ip_s {
uint32_t addr[4];
/* Related Context */
pgw_subnet_t *subnet;
} pgw_ue_ip_t;
typedef struct _pgw_dev_t {
typedef struct pgw_dev_s {
ogs_lnode_t node;
char ifname[IFNAMSIZ];
@ -85,7 +85,7 @@ typedef struct _pgw_dev_t {
ogs_poll_t *poll;
} pgw_dev_t;
typedef struct _pgw_subnet_t {
typedef struct pgw_subnet_s {
ogs_lnode_t node;
ogs_ipsubnet_t sub; /* Subnet : cafe::0/64 */
@ -100,7 +100,7 @@ typedef struct _pgw_subnet_t {
pgw_dev_t *dev;
} pgw_subnet_t;
typedef struct _pgw_sess_t {
typedef struct pgw_sess_s {
uint32_t index; /**< An index of this node */
uint32_t pgw_s5c_teid; /* PGW-S5C-TEID is derived from INDEX */
@ -132,7 +132,7 @@ typedef struct _pgw_sess_t {
gtp_node_t *gnode;
} pgw_sess_t;
typedef struct _pgw_bearer_t {
typedef struct pgw_bearer_s {
ogs_lnode_t node; /**< A node of list_t */
uint32_t index;
@ -153,7 +153,7 @@ typedef struct _pgw_bearer_t {
gtp_node_t *gnode;
} pgw_bearer_t;
typedef struct _pgw_rule_t {
typedef struct pgw_rule_s {
uint8_t proto;
ED5(uint8_t ipv4_local:1;,
uint8_t ipv4_remote:1;,
@ -182,7 +182,7 @@ ED5(uint8_t ipv4_local:1;,
} port;
} pgw_rule_t;
typedef struct _pgw_pf_t {
typedef struct pgw_pf_s {
ogs_lnode_t node;
ED3(uint8_t spare:2;,

View File

@ -125,24 +125,19 @@ int sgw_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, "sgw"))
{
if (!strcmp(root_key, "sgw")) {
ogs_yaml_iter_t sgw_iter;
ogs_yaml_iter_recurse(&root_iter, &sgw_iter);
while(ogs_yaml_iter_next(&sgw_iter))
{
while (ogs_yaml_iter_next(&sgw_iter)) {
const char *sgw_key = ogs_yaml_iter_key(&sgw_iter);
ogs_assert(sgw_key);
if (!strcmp(sgw_key, "gtpc"))
{
if (!strcmp(sgw_key, "gtpc")) {
ogs_yaml_iter_t gtpc_array, gtpc_iter;
ogs_yaml_iter_recurse(&sgw_iter, &gtpc_array);
do
{
do {
int family = AF_UNSPEC;
int i, num = 0;
const char *hostname[MAX_NUM_OF_HOSTNAME];
@ -150,28 +145,22 @@ int sgw_context_parse_config()
const char *dev = NULL;
ogs_sockaddr_t *addr = NULL;
if (ogs_yaml_iter_type(&gtpc_array) == YAML_MAPPING_NODE)
{
if (ogs_yaml_iter_type(&gtpc_array) ==
YAML_MAPPING_NODE) {
memcpy(&gtpc_iter, &gtpc_array,
sizeof(ogs_yaml_iter_t));
}
else if (ogs_yaml_iter_type(&gtpc_array) ==
YAML_SEQUENCE_NODE)
{
} else if (ogs_yaml_iter_type(&gtpc_array) ==
YAML_SEQUENCE_NODE) {
if (!ogs_yaml_iter_next(&gtpc_array))
break;
ogs_yaml_iter_recurse(&gtpc_array, &gtpc_iter);
}
else if (ogs_yaml_iter_type(&gtpc_array) ==
YAML_SCALAR_NODE)
{
} else if (ogs_yaml_iter_type(&gtpc_array) ==
YAML_SCALAR_NODE) {
break;
}
else
} else
ogs_assert_if_reached();
while(ogs_yaml_iter_next(&gtpc_iter))
{
while (ogs_yaml_iter_next(&gtpc_iter)) {
const char *gtpc_key =
ogs_yaml_iter_key(&gtpc_iter);
ogs_assert(gtpc_key);
@ -180,27 +169,22 @@ int sgw_context_parse_config()
const char *v = ogs_yaml_iter_value(&gtpc_iter);
if (v) family = atoi(v);
if (family != AF_UNSPEC &&
family != AF_INET && family != AF_INET6)
{
family != AF_INET && family != AF_INET6) {
ogs_warn("Ignore family(%d) : AF_UNSPEC(%d), "
"AF_INET(%d), AF_INET6(%d) ",
family, AF_UNSPEC, AF_INET, AF_INET6);
family = AF_UNSPEC;
}
}
else if (!strcmp(gtpc_key, "addr") ||
!strcmp(gtpc_key, "name"))
{
} else if (!strcmp(gtpc_key, "addr") ||
!strcmp(gtpc_key, "name")) {
ogs_yaml_iter_t hostname_iter;
ogs_yaml_iter_recurse(&gtpc_iter, &hostname_iter);
ogs_assert(ogs_yaml_iter_type(&hostname_iter) !=
YAML_MAPPING_NODE);
do
{
do {
if (ogs_yaml_iter_type(&hostname_iter) ==
YAML_SEQUENCE_NODE)
{
YAML_SEQUENCE_NODE) {
if (!ogs_yaml_iter_next(&hostname_iter))
break;
}
@ -208,21 +192,16 @@ int sgw_context_parse_config()
ogs_assert(num <= MAX_NUM_OF_HOSTNAME);
hostname[num++] =
ogs_yaml_iter_value(&hostname_iter);
} while(
} while (
ogs_yaml_iter_type(&hostname_iter) ==
YAML_SEQUENCE_NODE);
}
else if (!strcmp(gtpc_key, "port"))
{
} else if (!strcmp(gtpc_key, "port")) {
const char *v = ogs_yaml_iter_value(&gtpc_iter);
if (v)
{
if (v) {
port = atoi(v);
self.gtpc_port = port;
}
}
else if (!strcmp(gtpc_key, "dev"))
{
} else if (!strcmp(gtpc_key, "dev")) {
dev = ogs_yaml_iter_value(&gtpc_iter);
}
else
@ -230,32 +209,25 @@ int sgw_context_parse_config()
}
addr = NULL;
for (i = 0; i < num; i++)
{
for (i = 0; i < num; i++) {
rv = ogs_addaddrinfo(&addr,
family, hostname[i], port, 0);
ogs_assert(rv == OGS_OK);
}
if (addr)
{
if (addr) {
if (context_self()->config.parameter.no_ipv4 == 0)
{
ogs_sock_add_node(
&self.gtpc_list, AF_INET, addr);
}
if (context_self()->config.parameter.no_ipv6 == 0)
{
ogs_sock_add_node(
&self.gtpc_list6, AF_INET6, addr);
}
ogs_freeaddrinfo(addr);
}
if (dev)
{
if (dev) {
rv = ogs_sock_probe_node(
context_self()->config.parameter.no_ipv4 ?
NULL : &self.gtpc_list,
@ -265,11 +237,11 @@ int sgw_context_parse_config()
ogs_assert(rv == OGS_OK);
}
} while(ogs_yaml_iter_type(&gtpc_array) == YAML_SEQUENCE_NODE);
} while (ogs_yaml_iter_type(&gtpc_array) ==
YAML_SEQUENCE_NODE);
if (ogs_list_empty(&self.gtpc_list) &&
ogs_list_empty(&self.gtpc_list6))
{
ogs_list_empty(&self.gtpc_list6)) {
rv = ogs_sock_probe_node(
context_self()->config.parameter.no_ipv4 ?
NULL : &self.gtpc_list,
@ -278,13 +250,10 @@ int sgw_context_parse_config()
NULL, self.gtpc_port);
ogs_assert(rv == OGS_OK);
}
}
else if (!strcmp(sgw_key, "gtpu"))
{
} else if (!strcmp(sgw_key, "gtpu")) {
ogs_yaml_iter_t gtpu_array, gtpu_iter;
ogs_yaml_iter_recurse(&sgw_iter, &gtpu_array);
do
{
do {
int family = AF_UNSPEC;
int i, num = 0;
const char *hostname[MAX_NUM_OF_HOSTNAME];
@ -292,57 +261,45 @@ int sgw_context_parse_config()
const char *dev = NULL;
ogs_sockaddr_t *addr = NULL;
if (ogs_yaml_iter_type(&gtpu_array) == YAML_MAPPING_NODE)
{
if (ogs_yaml_iter_type(&gtpu_array) ==
YAML_MAPPING_NODE) {
memcpy(&gtpu_iter, &gtpu_array,
sizeof(ogs_yaml_iter_t));
}
else if (ogs_yaml_iter_type(&gtpu_array) ==
YAML_SEQUENCE_NODE)
{
} else if (ogs_yaml_iter_type(&gtpu_array) ==
YAML_SEQUENCE_NODE) {
if (!ogs_yaml_iter_next(&gtpu_array))
break;
ogs_yaml_iter_recurse(&gtpu_array, &gtpu_iter);
}
else if (ogs_yaml_iter_type(&gtpu_array) ==
YAML_SCALAR_NODE)
{
} else if (ogs_yaml_iter_type(&gtpu_array) ==
YAML_SCALAR_NODE) {
break;
}
else
} else
ogs_assert_if_reached();
while(ogs_yaml_iter_next(&gtpu_iter))
{
while (ogs_yaml_iter_next(&gtpu_iter)) {
const char *gtpu_key =
ogs_yaml_iter_key(&gtpu_iter);
ogs_assert(gtpu_key);
if (!strcmp(gtpu_key, "family"))
{
if (!strcmp(gtpu_key, "family")) {
const char *v = ogs_yaml_iter_value(&gtpu_iter);
if (v) family = atoi(v);
if (family != AF_UNSPEC &&
family != AF_INET && family != AF_INET6)
{
family != AF_INET && family != AF_INET6) {
ogs_warn("Ignore family(%d) : AF_UNSPEC(%d), "
"AF_INET(%d), AF_INET6(%d) ",
family, AF_UNSPEC, AF_INET, AF_INET6);
family = AF_UNSPEC;
}
}
else if (!strcmp(gtpu_key, "addr") ||
!strcmp(gtpu_key, "name"))
{
} else if (!strcmp(gtpu_key, "addr") ||
!strcmp(gtpu_key, "name")) {
ogs_yaml_iter_t hostname_iter;
ogs_yaml_iter_recurse(&gtpu_iter, &hostname_iter);
ogs_assert(ogs_yaml_iter_type(&hostname_iter) !=
YAML_MAPPING_NODE);
do
{
do {
if (ogs_yaml_iter_type(&hostname_iter) ==
YAML_SEQUENCE_NODE)
{
YAML_SEQUENCE_NODE) {
if (!ogs_yaml_iter_next(&hostname_iter))
break;
}
@ -350,54 +307,41 @@ int sgw_context_parse_config()
ogs_assert(num <= MAX_NUM_OF_HOSTNAME);
hostname[num++] =
ogs_yaml_iter_value(&hostname_iter);
} while(
} while (
ogs_yaml_iter_type(&hostname_iter) ==
YAML_SEQUENCE_NODE);
}
else if (!strcmp(gtpu_key, "port"))
{
} else if (!strcmp(gtpu_key, "port")) {
const char *v = ogs_yaml_iter_value(&gtpu_iter);
if (v)
{
if (v) {
port = atoi(v);
self.gtpu_port = port;
}
}
else if (!strcmp(gtpu_key, "dev"))
{
} else if (!strcmp(gtpu_key, "dev")) {
dev = ogs_yaml_iter_value(&gtpu_iter);
}
else
} else
ogs_warn("unknown key `%s`", gtpu_key);
}
addr = NULL;
for (i = 0; i < num; i++)
{
for (i = 0; i < num; i++) {
rv = ogs_addaddrinfo(&addr,
family, hostname[i], port, 0);
ogs_assert(rv == OGS_OK);
}
if (addr)
{
if (addr) {
if (context_self()->config.parameter.no_ipv4 == 0)
{
ogs_sock_add_node(
&self.gtpu_list, AF_INET, addr);
}
if (context_self()->config.parameter.no_ipv6 == 0)
{
ogs_sock_add_node(
&self.gtpu_list6, AF_INET6, addr);
}
ogs_freeaddrinfo(addr);
}
if (dev)
{
if (dev) {
rv = ogs_sock_probe_node(
context_self()->config.parameter.no_ipv4 ?
NULL : &self.gtpu_list,
@ -407,11 +351,11 @@ int sgw_context_parse_config()
ogs_assert(rv == OGS_OK);
}
} while(ogs_yaml_iter_type(&gtpu_array) == YAML_SEQUENCE_NODE);
} while (ogs_yaml_iter_type(&gtpu_array) ==
YAML_SEQUENCE_NODE);
if (ogs_list_empty(&self.gtpu_list) &&
ogs_list_empty(&self.gtpu_list6))
{
ogs_list_empty(&self.gtpu_list6)) {
rv = ogs_sock_probe_node(
context_self()->config.parameter.no_ipv4 ?
NULL : &self.gtpu_list,
@ -440,8 +384,7 @@ gtp_node_t *sgw_mme_add_by_message(gtp_message_t *message)
gtp_f_teid_t *mme_s11_teid = NULL;
gtp_create_session_request_t *req = &message->create_session_request;
if (req->sender_f_teid_for_control_plane.presence == 0)
{
if (req->sender_f_teid_for_control_plane.presence == 0) {
ogs_error("No Sender F-TEID");
return NULL;
}
@ -449,8 +392,7 @@ gtp_node_t *sgw_mme_add_by_message(gtp_message_t *message)
mme_s11_teid = req->sender_f_teid_for_control_plane.data;
ogs_assert(mme_s11_teid);
mme = gtp_find_node(&sgw_self()->mme_s11_list, mme_s11_teid);
if (!mme)
{
if (!mme) {
mme = gtp_add_node(&sgw_self()->mme_s11_list, mme_s11_teid,
sgw_self()->gtpc_port,
context_self()->config.parameter.no_ipv4,
@ -471,8 +413,7 @@ sgw_ue_t *sgw_ue_add_by_message(gtp_message_t *message)
sgw_ue_t *sgw_ue = NULL;
gtp_create_session_request_t *req = &message->create_session_request;
if (req->imsi.presence == 0)
{
if (req->imsi.presence == 0) {
ogs_error("No IMSI");
return NULL;
}
@ -481,8 +422,7 @@ sgw_ue_t *sgw_ue_add_by_message(gtp_message_t *message)
ogs_log_hexdump(OGS_LOG_TRACE, req->imsi.data, req->imsi.len);
sgw_ue = sgw_ue_find_by_imsi(req->imsi.data, req->imsi.len);
if (!sgw_ue)
{
if (!sgw_ue) {
sgw_ue = sgw_ue_add(req->imsi.data, req->imsi.len);
ogs_assert(sgw_ue);
}
@ -536,8 +476,7 @@ void sgw_ue_remove_all()
ogs_hash_index_t *hi = NULL;
sgw_ue_t *sgw_ue = NULL;
for (hi = sgw_ue_first(); hi; hi = sgw_ue_next(hi))
{
for (hi = sgw_ue_first(); hi; hi = sgw_ue_next(hi)) {
sgw_ue = sgw_ue_this(hi);
sgw_ue_remove(sgw_ue);
}
@ -647,8 +586,7 @@ sgw_sess_t* sgw_sess_find_by_apn(sgw_ue_t *sgw_ue, char *apn)
sgw_sess_t *sess = NULL;
sess = sgw_sess_first(sgw_ue);
while (sess)
{
while (sess) {
if (strcmp(sess->pdn.apn, apn) == 0)
return sess;
@ -747,8 +685,7 @@ sgw_bearer_t* sgw_bearer_find_by_sess_ebi(sgw_sess_t *sess, uint8_t ebi)
sgw_bearer_t *bearer = NULL;
bearer = sgw_bearer_first(sess);
while(bearer)
{
while (bearer) {
if (ebi == bearer->ebi)
return bearer;
@ -764,11 +701,9 @@ sgw_bearer_t* sgw_bearer_find_by_ue_ebi(sgw_ue_t *sgw_ue, uint8_t ebi)
sgw_bearer_t *bearer = NULL;
sess = sgw_sess_first(sgw_ue);
while (sess)
{
while (sess) {
bearer = sgw_bearer_find_by_sess_ebi(sess, ebi);
if (bearer)
{
if (bearer) {
return bearer;
}
@ -849,10 +784,8 @@ sgw_tunnel_t* sgw_tunnel_find_by_interface_type(
ogs_assert(bearer);
tunnel = sgw_tunnel_first(bearer);
while(tunnel)
{
if (tunnel->interface_type == interface_type)
{
while (tunnel) {
if (tunnel->interface_type == interface_type) {
return tunnel;
}

View File

@ -16,10 +16,10 @@ extern int __sgw_log_domain;
#undef OGS_LOG_DOMAIN
#define OGS_LOG_DOMAIN __sgw_log_domain
typedef struct _sgw_tunnel_t sgw_tunnel_t;
typedef struct sgw_tunnel_s sgw_tunnel_t;
typedef struct gtp_node_s gtp_node_t;
typedef struct _sgw_context_t {
typedef struct sgw_context_s {
uint32_t gtpc_port; /* Default GTPC port */
uint32_t gtpu_port; /* Default GTPU port */
@ -49,7 +49,7 @@ typedef struct _sgw_context_t {
ogs_hash_t *imsi_ue_hash; /* hash table (IMSI : SGW_UE) */
} sgw_context_t;
typedef struct _sgw_ue_t {
typedef struct sgw_ue_s {
uint32_t sgw_s11_teid; /* SGW-S11-TEID is derived from INDEX */
uint32_t mme_s11_teid; /* MME-S11-TEID is received from MME */
@ -72,7 +72,7 @@ typedef struct _sgw_ue_t {
gtp_node_t *gnode;
} sgw_ue_t;
typedef struct _sgw_sess_t {
typedef struct sgw_sess_s {
ogs_lnode_t node; /* A node of list_t */
/*
@ -95,7 +95,7 @@ typedef struct _sgw_sess_t {
sgw_ue_t *sgw_ue;
} sgw_sess_t;
typedef struct _sgw_bearer_t {
typedef struct sgw_bearer_s {
ogs_lnode_t node; /**< A node of list_t */
uint8_t ebi;
@ -116,7 +116,7 @@ typedef struct _sgw_bearer_t {
sgw_ue_t *sgw_ue;
} sgw_bearer_t;
typedef struct _sgw_tunnel_t {
typedef struct sgw_tunnel_s {
ogs_lnode_t node; /**< A node of list_t */
uint8_t interface_type;