just minor update
This commit is contained in:
parent
11df912058
commit
cd59df5011
|
@ -73,7 +73,7 @@ extern char *EVT_NAME_UNKNOWN;
|
|||
*
|
||||
* @return event queue or 0
|
||||
*/
|
||||
CORE_DECLARE(msgq_id) event_create(void);
|
||||
CORE_DECLARE(msgq_id) event_create(int opt);
|
||||
|
||||
/**
|
||||
* Delete event message queue
|
||||
|
|
|
@ -12,12 +12,12 @@
|
|||
|
||||
char *EVT_NAME_UNKNOWN = "UNKNOWN";
|
||||
|
||||
msgq_id event_create(void)
|
||||
msgq_id event_create(int opt)
|
||||
{
|
||||
msgq_id queue_id = 0;
|
||||
|
||||
/* Start threads */
|
||||
queue_id = msgq_create(EVT_Q_DEPTH, EVENT_SIZE, MSGQ_O_BLOCK);
|
||||
queue_id = msgq_create(EVT_Q_DEPTH, EVENT_SIZE, opt);
|
||||
d_assert(queue_id != 0, return CORE_ERROR, "Message queue creation failed");
|
||||
|
||||
return queue_id;
|
||||
|
|
|
@ -956,9 +956,9 @@ status_t mme_sgw_remove(mme_sgw_t *sgw)
|
|||
{
|
||||
d_assert(sgw, return CORE_ERROR, "Null param");
|
||||
|
||||
gtp_xact_delete_all(sgw);
|
||||
|
||||
list_remove(&self.sgw_list, sgw);
|
||||
|
||||
gtp_xact_delete_all(sgw);
|
||||
pool_free_node(&mme_sgw_pool, sgw);
|
||||
|
||||
return CORE_OK;
|
||||
|
@ -1127,12 +1127,12 @@ enb_ue_t* enb_ue_add(mme_enb_t *enb)
|
|||
d_assert(enb_ue, return NULL, "Null param");
|
||||
|
||||
enb_ue->mme_ue_s1ap_id = NEXT_ID(self.mme_ue_s1ap_id, 1, 0xffffffff);
|
||||
enb_ue->enb = enb;
|
||||
|
||||
hash_set(self.mme_ue_s1ap_id_hash, &enb_ue->mme_ue_s1ap_id,
|
||||
sizeof(enb_ue->mme_ue_s1ap_id), enb_ue);
|
||||
list_append(&enb->enb_ue_list, enb_ue);
|
||||
|
||||
enb_ue->enb = enb;
|
||||
|
||||
return enb_ue;
|
||||
|
||||
}
|
||||
|
@ -1150,13 +1150,13 @@ status_t enb_ue_remove(enb_ue_t *enb_ue)
|
|||
d_assert(enb_ue, return CORE_ERROR, "Null param");
|
||||
d_assert(enb_ue->enb, return CORE_ERROR, "Null param");
|
||||
|
||||
rv = source_ue_deassociate_target_ue(enb_ue);
|
||||
d_assert(rv == CORE_OK, return CORE_ERROR, "Null param");
|
||||
|
||||
list_remove(&enb_ue->enb->enb_ue_list, enb_ue);
|
||||
hash_set(self.mme_ue_s1ap_id_hash, &enb_ue->mme_ue_s1ap_id,
|
||||
sizeof(enb_ue->mme_ue_s1ap_id), NULL);
|
||||
|
||||
rv = source_ue_deassociate_target_ue(enb_ue);
|
||||
d_assert(rv == CORE_OK, return CORE_ERROR, "Null param");
|
||||
|
||||
index_free(&enb_ue_pool, enb_ue);
|
||||
|
||||
return CORE_OK;
|
||||
|
@ -1679,7 +1679,6 @@ mme_sess_t *mme_sess_add(mme_ue_t *mme_ue, c_uint8_t pti)
|
|||
d_assert(sess, return NULL, "Null param");
|
||||
|
||||
list_init(&sess->bearer_list);
|
||||
list_append(&mme_ue->sess_list, sess);
|
||||
|
||||
sess->mme_ue = mme_ue;
|
||||
sess->pti = pti;
|
||||
|
@ -1688,6 +1687,8 @@ mme_sess_t *mme_sess_add(mme_ue_t *mme_ue, c_uint8_t pti)
|
|||
d_assert(bearer, mme_sess_remove(sess); return NULL,
|
||||
"Can't add default bearer context");
|
||||
|
||||
list_append(&mme_ue->sess_list, sess);
|
||||
|
||||
return sess;
|
||||
}
|
||||
|
||||
|
@ -1695,13 +1696,14 @@ status_t mme_sess_remove(mme_sess_t *sess)
|
|||
{
|
||||
d_assert(sess, return CORE_ERROR, "Null param");
|
||||
d_assert(sess->mme_ue, return CORE_ERROR, "Null param");
|
||||
|
||||
list_remove(&sess->mme_ue->sess_list, sess);
|
||||
|
||||
mme_bearer_remove_all(sess);
|
||||
|
||||
NAS_CLEAR_DATA(&sess->ue_pco);
|
||||
TLV_CLEAR_DATA(&sess->pgw_pco);
|
||||
|
||||
list_remove(&sess->mme_ue->sess_list, sess);
|
||||
index_free(&mme_sess_pool, sess);
|
||||
|
||||
return CORE_OK;
|
||||
|
@ -1799,11 +1801,11 @@ mme_bearer_t* mme_bearer_add(mme_sess_t *sess)
|
|||
|
||||
bearer->ebi = NEXT_ID(mme_ue->ebi, MIN_EPS_BEARER_ID, MAX_EPS_BEARER_ID);
|
||||
|
||||
list_append(&sess->bearer_list, bearer);
|
||||
|
||||
bearer->mme_ue = mme_ue;
|
||||
bearer->sess = sess;
|
||||
|
||||
list_append(&sess->bearer_list, bearer);
|
||||
|
||||
event_set_param1(&e, (c_uintptr_t)bearer->index);
|
||||
fsm_create(&bearer->sm, esm_state_initial, esm_state_final);
|
||||
fsm_init(&bearer->sm, &e);
|
||||
|
@ -1822,9 +1824,10 @@ status_t mme_bearer_remove(mme_bearer_t *bearer)
|
|||
fsm_final(&bearer->sm, &e);
|
||||
fsm_clear(&bearer->sm);
|
||||
|
||||
list_remove(&bearer->sess->bearer_list, bearer);
|
||||
|
||||
TLV_CLEAR_DATA(&bearer->tft);
|
||||
|
||||
list_remove(&bearer->sess->bearer_list, bearer);
|
||||
index_free(&mme_bearer_pool, bearer);
|
||||
|
||||
return CORE_OK;
|
||||
|
|
|
@ -68,7 +68,7 @@ static void *THREAD_FUNC sm_main(thread_id id, void *data)
|
|||
|
||||
memset(&event, 0, sizeof(event_t));
|
||||
|
||||
mme_self()->queue_id = event_create();
|
||||
mme_self()->queue_id = event_create(MSGQ_O_BLOCK);
|
||||
d_assert(mme_self()->queue_id, return NULL,
|
||||
"MME event queue creation failed");
|
||||
tm_service_init(&mme_self()->tm_service);
|
||||
|
|
|
@ -407,9 +407,10 @@ status_t pgw_sgw_remove(pgw_sgw_t *sgw)
|
|||
{
|
||||
d_assert(sgw, return CORE_ERROR, "Null param");
|
||||
|
||||
list_remove(&self.sgw_list, sgw);
|
||||
|
||||
gtp_xact_delete_all(sgw);
|
||||
|
||||
list_remove(&self.sgw_list, sgw);
|
||||
pool_free_node(&pgw_sgw_pool, sgw);
|
||||
|
||||
return CORE_OK;
|
||||
|
@ -635,9 +636,10 @@ status_t pgw_bearer_remove(pgw_bearer_t *bearer)
|
|||
d_assert(bearer, return CORE_ERROR, "Null param");
|
||||
d_assert(bearer->sess, return CORE_ERROR, "Null param");
|
||||
|
||||
list_remove(&bearer->sess->bearer_list, bearer);
|
||||
|
||||
pgw_pf_remove_all(bearer);
|
||||
|
||||
list_remove(&bearer->sess->bearer_list, bearer);
|
||||
index_free(&pgw_bearer_pool, bearer);
|
||||
|
||||
return CORE_OK;
|
||||
|
@ -948,11 +950,10 @@ pgw_pf_t *pgw_pf_add(pgw_bearer_t *bearer, c_uint32_t precedence)
|
|||
d_assert(pf, return NULL, "Null param");
|
||||
|
||||
pf->identifier = NEXT_ID(bearer->pf_identifier, 1, 15);
|
||||
pf->bearer = bearer;
|
||||
|
||||
list_append(&bearer->pf_list, pf);
|
||||
|
||||
pf->bearer = bearer;
|
||||
|
||||
return pf;
|
||||
}
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ static void *THREAD_FUNC sm_main(thread_id id, void *data)
|
|||
|
||||
memset(&event, 0, sizeof(event_t));
|
||||
|
||||
pgw_self()->queue_id = event_create();
|
||||
pgw_self()->queue_id = event_create(MSGQ_O_BLOCK);
|
||||
d_assert(pgw_self()->queue_id, return NULL,
|
||||
"PGW event queue creation failed");
|
||||
tm_service_init(&pgw_self()->tm_service);
|
||||
|
|
|
@ -252,9 +252,10 @@ status_t sgw_mme_remove(sgw_mme_t *mme)
|
|||
{
|
||||
d_assert(mme, return CORE_ERROR, "Null param");
|
||||
|
||||
list_remove(&self.mme_list, mme);
|
||||
|
||||
gtp_xact_delete_all(mme);
|
||||
|
||||
list_remove(&self.mme_list, mme);
|
||||
pool_free_node(&sgw_mme_pool, mme);
|
||||
|
||||
return CORE_OK;
|
||||
|
@ -324,9 +325,10 @@ status_t sgw_pgw_remove(sgw_pgw_t *pgw)
|
|||
{
|
||||
d_assert(pgw, return CORE_ERROR, "Null param");
|
||||
|
||||
list_remove(&self.pgw_list, pgw);
|
||||
|
||||
gtp_xact_delete_all(pgw);
|
||||
|
||||
list_remove(&self.pgw_list, pgw);
|
||||
pool_free_node(&sgw_pgw_pool, pgw);
|
||||
|
||||
return CORE_OK;
|
||||
|
@ -527,8 +529,6 @@ sgw_sess_t *sgw_sess_add(
|
|||
/* Set APN */
|
||||
core_cpystrn(sess->pdn.apn, apn, MAX_APN_LEN+1);
|
||||
|
||||
list_append(&sgw_ue->sess_list, sess);
|
||||
|
||||
sess->sgw_ue = sgw_ue;
|
||||
|
||||
list_init(&sess->bearer_list);
|
||||
|
@ -538,6 +538,8 @@ sgw_sess_t *sgw_sess_add(
|
|||
"Can't add default bearer context");
|
||||
bearer->ebi = ebi;
|
||||
|
||||
list_append(&sgw_ue->sess_list, sess);
|
||||
|
||||
return sess;
|
||||
}
|
||||
|
||||
|
@ -546,9 +548,10 @@ status_t sgw_sess_remove(sgw_sess_t *sess)
|
|||
d_assert(sess, return CORE_ERROR, "Null param");
|
||||
d_assert(sess->sgw_ue, return CORE_ERROR, "Null param");
|
||||
|
||||
list_remove(&sess->sgw_ue->sess_list, sess);
|
||||
|
||||
sgw_bearer_remove_all(sess);
|
||||
|
||||
list_remove(&sess->sgw_ue->sess_list, sess);
|
||||
index_free(&sgw_sess_pool, sess);
|
||||
|
||||
return CORE_OK;
|
||||
|
@ -632,8 +635,6 @@ sgw_bearer_t* sgw_bearer_add(sgw_sess_t *sess)
|
|||
index_alloc(&sgw_bearer_pool, &bearer);
|
||||
d_assert(bearer, return NULL, "Bearer context allocation failed");
|
||||
|
||||
list_append(&sess->bearer_list, bearer);
|
||||
|
||||
bearer->sgw_ue = sgw_ue;
|
||||
bearer->sess = sess;
|
||||
|
||||
|
@ -645,6 +646,8 @@ sgw_bearer_t* sgw_bearer_add(sgw_sess_t *sess)
|
|||
tunnel = sgw_tunnel_add(bearer, GTP_F_TEID_S5_S8_SGW_GTP_U);
|
||||
d_assert(tunnel, return NULL, "Tunnel context allocation failed");
|
||||
|
||||
list_append(&sess->bearer_list, bearer);
|
||||
|
||||
return bearer;
|
||||
}
|
||||
|
||||
|
@ -655,13 +658,14 @@ status_t sgw_bearer_remove(sgw_bearer_t *bearer)
|
|||
d_assert(bearer, return CORE_ERROR, "Null param");
|
||||
d_assert(bearer->sess, return CORE_ERROR, "Null param");
|
||||
|
||||
list_remove(&bearer->sess->bearer_list, bearer);
|
||||
|
||||
sgw_tunnel_remove_all(bearer);
|
||||
|
||||
/* Free the buffered packets */
|
||||
for (i = 0; i < bearer->num_buffered_pkt; i++)
|
||||
pkbuf_free(bearer->buffered_pkts[i]);
|
||||
|
||||
list_remove(&bearer->sess->bearer_list, bearer);
|
||||
index_free(&sgw_bearer_pool, bearer);
|
||||
|
||||
return CORE_OK;
|
||||
|
|
|
@ -58,7 +58,7 @@ static void *THREAD_FUNC sm_main(thread_id id, void *data)
|
|||
|
||||
memset(&event, 0, sizeof(event_t));
|
||||
|
||||
sgw_self()->queue_id = event_create();
|
||||
sgw_self()->queue_id = event_create(MSGQ_O_BLOCK);
|
||||
d_assert(sgw_self()->queue_id, return NULL,
|
||||
"SGW event queue creation failed");
|
||||
tm_service_init(&sgw_self()->tm_service);
|
||||
|
|
Loading…
Reference in New Issue