refine code

This commit is contained in:
Sukchan Lee 2018-02-01 21:38:59 +09:00
parent 4648dc05d5
commit c9e44579d8
7 changed files with 34 additions and 29 deletions

View File

@ -153,21 +153,3 @@ status_t esm_handle_information_response(mme_sess_t *sess,
return CORE_OK;
}
void esm_handle_activate_default_bearer_accept(mme_bearer_t *bearer)
{
status_t rv;
d_assert(bearer, return, "Null param");
mme_bearer_t *dedicated_bearer = mme_bearer_next(bearer);
while(dedicated_bearer)
{
rv = nas_send_activate_dedicated_bearer_context_request(
dedicated_bearer);
d_assert(rv == CORE_OK, return,
"nas_send_activate_dedicated_bearer_context failed");
dedicated_bearer = mme_bearer_next(dedicated_bearer);
}
}

View File

@ -13,10 +13,6 @@ CORE_DECLARE(status_t) esm_handle_pdn_connectivity_request(mme_bearer_t *bearer,
nas_pdn_connectivity_request_t *pdn_connectivity_request);
CORE_DECLARE(status_t) esm_handle_information_response(mme_sess_t *sess,
nas_esm_information_response_t *bearer_information_response);
CORE_DECLARE(void) esm_handle_activate_default_bearer_accept(
mme_bearer_t *bearer);
CORE_DECLARE(void) esm_handle_activate_dedicated_bearer_accept(
mme_bearer_t *bearer);
#ifdef __cplusplus
}

View File

@ -100,13 +100,17 @@ void esm_state_inactive(fsm_t *s, event_t *e)
"context accept\n");
d_trace(5, " IMSI[%s] PTI[%d] EBI[%d]\n",
mme_ue->imsi_bcd, sess->pti, bearer->ebi);
/* Check if Initial Context Setup Response or
* E-RAB Setup Response is received */
if (MME_HAVE_ENB_S1U_PATH(bearer))
{
rv = mme_gtp_send_modify_bearer_request(bearer, 0);
d_assert(rv == CORE_OK, return, "gtp send failed");
d_assert(rv == CORE_OK,, "gtp send failed");
}
esm_handle_activate_default_bearer_accept(bearer);
rv = nas_send_activate_all_dedicated_bearers(bearer);
d_assert(rv == CORE_OK,, "nas send failed");
FSM_TRAN(s, esm_state_active);
break;
}
@ -116,11 +120,12 @@ void esm_state_inactive(fsm_t *s, event_t *e)
"context accept\n");
d_trace(5, " IMSI[%s] PTI[%d] EBI[%d]\n",
mme_ue->imsi_bcd, sess->pti, bearer->ebi);
/* Check if Initial Context Setup Response or
* E-RAB Setup Response is received */
if (MME_HAVE_ENB_S1U_PATH(bearer))
{
rv = mme_gtp_send_create_bearer_response(bearer);
d_assert(rv == CORE_OK, return, "gtp send failed");
d_assert(rv == CORE_OK,, "gtp send failed");
}
FSM_TRAN(s, esm_state_active);

View File

@ -132,7 +132,7 @@ void mme_s11_handle_modify_bearer_response(
GTP_COUNTER_CHECK(mme_ue, GTP_COUNTER_MODIFY_BEARER_BY_PATH_SWITCH,
rv = s1ap_send_path_switch_ack(mme_ue);
d_assert(rv == CORE_OK, return, "s1ap send error");
d_assert(rv == CORE_OK,, "s1ap send error");
);
GTP_COUNTER_CHECK(mme_ue, GTP_COUNTER_MODIFY_BEARER_BY_HANDOVER_NOTIFY,
@ -145,7 +145,7 @@ void mme_s11_handle_modify_bearer_response(
S1ap_Cause_PR_radioNetwork,
S1ap_CauseRadioNetwork_successful_handover,
S1AP_UE_CTX_REL_DELETE_INDIRECT_TUNNEL, 300);
d_assert(rv == CORE_OK, return, "s1ap send error");
d_assert(rv == CORE_OK,, "s1ap send error");
);
return;

View File

@ -526,7 +526,7 @@ void mme_state_operational(fsm_t *s, event_t *e)
* If the MME receives a Downlink Data Notification after step 2 and
* before step 9, the MME shall not send S1 interface paging messages
*/
if (MME_UE_ECM_IDLE(mme_ue))
if (mme_ue->enb_ue == NULL)
{
s1ap_handle_paging(mme_ue);
/* Start T3413 */

View File

@ -310,6 +310,26 @@ status_t nas_send_activate_dedicated_bearer_context_request(
return CORE_OK;
}
status_t nas_send_activate_all_dedicated_bearers(mme_bearer_t *default_bearer)
{
status_t rv;
d_assert(default_bearer, return CORE_ERROR, "Null param");
mme_bearer_t *dedicated_bearer = mme_bearer_next(default_bearer);
while(dedicated_bearer)
{
rv = nas_send_activate_dedicated_bearer_context_request(
dedicated_bearer);
d_assert(rv == CORE_OK, return CORE_ERROR,
"nas_send_activate_dedicated_bearer_context failed");
dedicated_bearer = mme_bearer_next(dedicated_bearer);
}
return CORE_OK;
}
status_t nas_send_modify_bearer_context_request(
mme_bearer_t *bearer, int qos_presence, int tft_presence)
{

View File

@ -34,6 +34,8 @@ CORE_DECLARE(status_t) nas_send_activate_default_bearer_context_request(
mme_bearer_t *bearer);
CORE_DECLARE(status_t) nas_send_activate_dedicated_bearer_context_request(
mme_bearer_t *bearer);
CORE_DECLARE(status_t) nas_send_activate_all_dedicated_bearers(
mme_bearer_t *default_bearer);
CORE_DECLARE(status_t) nas_send_modify_bearer_context_request(
mme_bearer_t *bearer, int qos_presence, int tft_presence);
CORE_DECLARE(status_t) nas_send_deactivate_bearer_context_request(