apply ogslib changes
This commit is contained in:
parent
61d0573686
commit
58faa7bcac
|
@ -1 +1 @@
|
|||
Subproject commit 54efd858c616fd81a7ebbdfd566fb631f98173ea
|
||||
Subproject commit e4495e5c69e8d0952301a63d8bc9b4de9aa9751a
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -9,7 +9,7 @@ extern "C" {
|
|||
#endif /* __cplusplus */
|
||||
|
||||
int pgw_gtp_open();
|
||||
int pgw_gtp_close();
|
||||
void pgw_gtp_close();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue