apply ogslib changes

This commit is contained in:
Sukchan Lee 2019-05-31 12:05:35 +00:00
parent 61d0573686
commit 58faa7bcac
16 changed files with 28 additions and 155 deletions

@ -1 +1 @@
Subproject commit 54efd858c616fd81a7ebbdfd566fb631f98173ea
Subproject commit e4495e5c69e8d0952301a63d8bc9b4de9aa9751a

View File

@ -93,6 +93,9 @@ void mme_context_final()
mme_enb_remove_all();
mme_ue_remove_all();
mme_sgw_remove_all();
mme_pgw_remove_all();
ogs_assert(self.enb_sock_hash);
ogs_hash_destroy(self.enb_sock_hash);
ogs_assert(self.enb_addr_hash);
@ -115,19 +118,11 @@ void mme_context_final()
ogs_pool_final(&mme_enb_pool);
mme_sgw_remove_all();
mme_pgw_remove_all();
ogs_pool_final(&mme_sgw_pool);
ogs_pool_final(&mme_pgw_pool);
gtp_node_final();
ogs_socknode_remove_all(&self.s1ap_list);
ogs_socknode_remove_all(&self.s1ap_list6);
ogs_socknode_remove_all(&self.gtpc_list);
ogs_socknode_remove_all(&self.gtpc_list6);
context_initialized = 0;
}

View File

@ -88,26 +88,10 @@ int mme_gtp_open()
return OGS_OK;
}
int mme_gtp_close()
void mme_gtp_close()
{
ogs_socknode_t *snode = NULL;
ogs_list_for_each(&mme_self()->gtpc_list, snode)
{
ogs_pollset_remove(snode->poll);
#if 0
ogs_sock_destroy(snode->sock);
#endif
}
ogs_list_for_each(&mme_self()->gtpc_list6, snode)
{
ogs_pollset_remove(snode->poll);
#if 0
ogs_sock_destroy(snode->sock);
#endif
}
return OGS_OK;
ogs_socknode_remove_all(&mme_self()->gtpc_list);
ogs_socknode_remove_all(&mme_self()->gtpc_list6);
}
int mme_gtp_send_create_session_request(mme_sess_t *sess)

View File

@ -8,7 +8,7 @@ extern "C" {
#endif /* __cplusplus */
int mme_gtp_open();
int mme_gtp_close();
void mme_gtp_close();
int mme_gtp_send_create_session_request(mme_sess_t *sess);
int mme_gtp_send_modify_bearer_request(

View File

@ -65,16 +65,8 @@ void mme_state_operational(ogs_fsm_t *s, mme_event_t *e)
}
case OGS_FSM_EXIT_SIG:
{
rv = mme_gtp_close();
if (rv != OGS_OK)
{
ogs_error("Can't close S11-GTP path");
}
rv = s1ap_close();
if (rv != OGS_OK)
{
ogs_error("Can't close S1AP path");
}
mme_gtp_close();
s1ap_close();
break;
}

View File

@ -35,11 +35,6 @@ void s1ap_closesocket(ogs_sock_t *sock)
void s1ap_delete(ogs_socknode_t *snode)
{
ogs_assert(snode);
ogs_pollset_remove(snode->poll);
#if 0 /* FIXME */
s1ap_closesocket(snode->sock);
#endif
}
int s1ap_send(ogs_sock_t *sock, ogs_pkbuf_t *pkbuf,

View File

@ -8,7 +8,6 @@
#include "s1ap_path.h"
static int s1ap_server_list(ogs_list_t *list, int type);
static int s1ap_delete_list(ogs_list_t *list);
int s1ap_open(void)
{
@ -27,12 +26,10 @@ int s1ap_open(void)
return OGS_OK;
}
int s1ap_close()
void s1ap_close()
{
s1ap_delete_list(&mme_self()->s1ap_list);
s1ap_delete_list(&mme_self()->s1ap_list6);
return OGS_OK;
ogs_socknode_remove_all(&mme_self()->s1ap_list);
ogs_socknode_remove_all(&mme_self()->s1ap_list6);
}
static int s1ap_server_list(ogs_list_t *list, int type)
@ -47,16 +44,6 @@ static int s1ap_server_list(ogs_list_t *list, int type)
return OGS_OK;
}
static int s1ap_delete_list(ogs_list_t *list)
{
ogs_socknode_t *snode = NULL;
ogs_list_for_each(list, snode)
s1ap_delete(snode);
return OGS_OK;
}
int s1ap_send_to_enb(mme_enb_t *enb, ogs_pkbuf_t *pkbuf, uint16_t stream_no)
{
char buf[OGS_ADDRSTRLEN];

View File

@ -10,11 +10,8 @@ extern "C" {
#define S1AP_NON_UE_SIGNALLING 0
int s1ap_init(uint16_t port);
int s1ap_final();
int s1ap_open();
int s1ap_close();
void s1ap_close();
void s1ap_server(ogs_socknode_t *snode, int type);
void s1ap_closesocket(ogs_sock_t *sock);

View File

@ -87,11 +87,6 @@ void pgw_context_final()
gtp_node_remove_all(&self.sgw_s5u_list);
gtp_node_final();
ogs_socknode_remove_all(&self.gtpc_list);
ogs_socknode_remove_all(&self.gtpc_list6);
ogs_socknode_remove_all(&self.gtpu_list);
ogs_socknode_remove_all(&self.gtpu_list6);
context_initiaized = 0;
}

View File

@ -307,48 +307,20 @@ int pgw_gtp_open()
return OGS_OK;
}
int pgw_gtp_close()
void pgw_gtp_close()
{
pgw_dev_t *dev = NULL;
ogs_socknode_t *snode = NULL;
ogs_list_for_each(&pgw_self()->gtpc_list, snode)
{
ogs_pollset_remove(snode->poll);
#if 0
ogs_sock_destroy(snode->sock);
#endif
}
ogs_list_for_each(&pgw_self()->gtpc_list6, snode)
{
ogs_pollset_remove(snode->poll);
#if 0
ogs_sock_destroy(snode->sock);
#endif
}
ogs_list_for_each(&pgw_self()->gtpu_list, snode)
{
ogs_pollset_remove(snode->poll);
#if 0
ogs_sock_destroy(snode->sock);
#endif
}
ogs_list_for_each(&pgw_self()->gtpu_list6, snode)
{
ogs_pollset_remove(snode->poll);
#if 0
ogs_sock_destroy(snode->sock);
#endif
}
ogs_socknode_remove_all(&pgw_self()->gtpc_list);
ogs_socknode_remove_all(&pgw_self()->gtpc_list6);
ogs_socknode_remove_all(&pgw_self()->gtpu_list);
ogs_socknode_remove_all(&pgw_self()->gtpu_list6);
for (dev = pgw_dev_first(); dev; dev = pgw_dev_next(dev))
{
ogs_pollset_remove(dev->poll);
ogs_closesocket(dev->fd);
}
return OGS_OK;
}
static int pgw_gtp_handle_multicast(ogs_pkbuf_t *recvbuf)

View File

@ -9,7 +9,7 @@ extern "C" {
#endif /* __cplusplus */
int pgw_gtp_open();
int pgw_gtp_close();
void pgw_gtp_close();
#ifdef __cplusplus
}

View File

@ -48,12 +48,7 @@ void pgw_state_operational(ogs_fsm_t *s, pgw_event_t *e)
}
case OGS_FSM_EXIT_SIG:
{
rv = pgw_gtp_close();
if (rv != OGS_OK)
{
ogs_error("Can't close PGW path");
break;
}
pgw_gtp_close();
break;
}
case PGW_EVT_S5C_MESSAGE:

View File

@ -70,11 +70,6 @@ void sgw_context_final()
gtp_node_remove_all(&self.pgw_s5u_list);
gtp_node_final();
ogs_socknode_remove_all(&self.gtpc_list);
ogs_socknode_remove_all(&self.gtpc_list6);
ogs_socknode_remove_all(&self.gtpu_list);
ogs_socknode_remove_all(&self.gtpu_list6);
context_initialized = 0;
}

View File

@ -313,41 +313,12 @@ int sgw_gtp_open()
return OGS_OK;
}
int sgw_gtp_close()
void sgw_gtp_close()
{
ogs_socknode_t *snode = NULL;
ogs_list_for_each(&sgw_self()->gtpc_list, snode)
{
ogs_pollset_remove(snode->poll);
#if 0
ogs_sock_destroy(snode->sock);
#endif
}
ogs_list_for_each(&sgw_self()->gtpc_list6, snode)
{
ogs_pollset_remove(snode->poll);
#if 0
ogs_sock_destroy(snode->sock);
#endif
}
ogs_list_for_each(&sgw_self()->gtpu_list, snode)
{
ogs_pollset_remove(snode->poll);
#if 0
ogs_sock_destroy(snode->sock);
#endif
}
ogs_list_for_each(&sgw_self()->gtpu_list6, snode)
{
ogs_pollset_remove(snode->poll);
#if 0
ogs_sock_destroy(snode->sock);
#endif
}
return OGS_OK;
ogs_socknode_remove_all(&sgw_self()->gtpc_list);
ogs_socknode_remove_all(&sgw_self()->gtpc_list6);
ogs_socknode_remove_all(&sgw_self()->gtpu_list);
ogs_socknode_remove_all(&sgw_self()->gtpu_list6);
}
int sgw_gtp_send_end_marker(sgw_tunnel_t *s1u_tunnel)

View File

@ -8,7 +8,7 @@ extern "C" {
#endif /* __cplusplus */
int sgw_gtp_open();
int sgw_gtp_close();
void sgw_gtp_close();
int sgw_gtp_send_end_marker(sgw_tunnel_t *s1u_tunnel);

View File

@ -45,12 +45,7 @@ void sgw_state_operational(ogs_fsm_t *s, sgw_event_t *e)
}
case OGS_FSM_EXIT_SIG:
{
rv = sgw_gtp_close();
if (rv != OGS_OK)
{
ogs_error("Can't close SGW path");
break;
}
sgw_gtp_close();
break;
}
case SGW_EVT_S11_MESSAGE: