forked from acouzens/open5gs
update code indentation
This commit is contained in:
parent
bd1c505024
commit
5bca0920b9
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -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;,
|
||||
|
|
|
@ -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, >pc_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(>pc_array) == YAML_MAPPING_NODE)
|
||||
{
|
||||
if (ogs_yaml_iter_type(>pc_array) ==
|
||||
YAML_MAPPING_NODE) {
|
||||
memcpy(>pc_iter, >pc_array,
|
||||
sizeof(ogs_yaml_iter_t));
|
||||
}
|
||||
else if (ogs_yaml_iter_type(>pc_array) ==
|
||||
YAML_SEQUENCE_NODE)
|
||||
{
|
||||
} else if (ogs_yaml_iter_type(>pc_array) ==
|
||||
YAML_SEQUENCE_NODE) {
|
||||
if (!ogs_yaml_iter_next(>pc_array))
|
||||
break;
|
||||
ogs_yaml_iter_recurse(>pc_array, >pc_iter);
|
||||
}
|
||||
else if (ogs_yaml_iter_type(>pc_array) ==
|
||||
YAML_SCALAR_NODE)
|
||||
{
|
||||
} else if (ogs_yaml_iter_type(>pc_array) ==
|
||||
YAML_SCALAR_NODE) {
|
||||
break;
|
||||
}
|
||||
else
|
||||
} else
|
||||
ogs_assert_if_reached();
|
||||
|
||||
while(ogs_yaml_iter_next(>pc_iter))
|
||||
{
|
||||
while (ogs_yaml_iter_next(>pc_iter)) {
|
||||
const char *gtpc_key =
|
||||
ogs_yaml_iter_key(>pc_iter);
|
||||
ogs_assert(gtpc_key);
|
||||
|
@ -180,27 +169,22 @@ int sgw_context_parse_config()
|
|||
const char *v = ogs_yaml_iter_value(>pc_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(>pc_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(>pc_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(>pc_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(>pc_array) == YAML_SEQUENCE_NODE);
|
||||
} while (ogs_yaml_iter_type(>pc_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, >pu_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(>pu_array) == YAML_MAPPING_NODE)
|
||||
{
|
||||
if (ogs_yaml_iter_type(>pu_array) ==
|
||||
YAML_MAPPING_NODE) {
|
||||
memcpy(>pu_iter, >pu_array,
|
||||
sizeof(ogs_yaml_iter_t));
|
||||
}
|
||||
else if (ogs_yaml_iter_type(>pu_array) ==
|
||||
YAML_SEQUENCE_NODE)
|
||||
{
|
||||
} else if (ogs_yaml_iter_type(>pu_array) ==
|
||||
YAML_SEQUENCE_NODE) {
|
||||
if (!ogs_yaml_iter_next(>pu_array))
|
||||
break;
|
||||
ogs_yaml_iter_recurse(>pu_array, >pu_iter);
|
||||
}
|
||||
else if (ogs_yaml_iter_type(>pu_array) ==
|
||||
YAML_SCALAR_NODE)
|
||||
{
|
||||
} else if (ogs_yaml_iter_type(>pu_array) ==
|
||||
YAML_SCALAR_NODE) {
|
||||
break;
|
||||
}
|
||||
else
|
||||
} else
|
||||
ogs_assert_if_reached();
|
||||
|
||||
while(ogs_yaml_iter_next(>pu_iter))
|
||||
{
|
||||
while (ogs_yaml_iter_next(>pu_iter)) {
|
||||
const char *gtpu_key =
|
||||
ogs_yaml_iter_key(>pu_iter);
|
||||
ogs_assert(gtpu_key);
|
||||
if (!strcmp(gtpu_key, "family"))
|
||||
{
|
||||
if (!strcmp(gtpu_key, "family")) {
|
||||
const char *v = ogs_yaml_iter_value(>pu_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(>pu_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(>pu_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(>pu_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(>pu_array) == YAML_SEQUENCE_NODE);
|
||||
} while (ogs_yaml_iter_type(>pu_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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue