rename it

This commit is contained in:
Sukchan Lee 2018-02-03 18:29:32 +09:00
parent 831b3e8985
commit bb4339de2a
7 changed files with 67 additions and 66 deletions

View File

@ -368,10 +368,10 @@ status_t emm_handle_tau_request(
sizeof(nas_eps_update_type_t));
mme_ue->nas_eps.type = MME_EPS_TYPE_TAU_REQUEST;
if (ECM_CONNECTED(mme_ue))
d_trace(5, " ECM-Connected\n");
if (MME_BEARER_ACTIVE(mme_ue))
d_trace(5, " Bearer-Active\n");
else
d_trace(5, " ECM-Idle\n");
d_trace(5, " Bearer-Inactive\n");
if (mme_ue->nas_eps.update.active_flag)
d_trace(5, " Active flag[UPD:0x%x]\n",

View File

@ -1703,53 +1703,6 @@ int mme_enb_sock_type(sock_id sock)
return SOCK_STREAM;
}
int ecm_state_is_idle(mme_ue_t *mme_ue)
{
mme_sess_t *sess = NULL;
d_assert(mme_ue, return CORE_ERROR,);
if (mme_ue->enb_ue == NULL) return 1;
sess = mme_sess_first(mme_ue);
while(sess)
{
mme_bearer_t *bearer = mme_bearer_first(sess);
while(bearer)
{
if (MME_HAVE_ENB_S1U_PATH(bearer))
{
return 0;
}
bearer = mme_bearer_next(bearer);
}
sess = mme_sess_next(sess);
}
return 1;
}
status_t ecm_state_set_idle(mme_ue_t *mme_ue)
{
mme_sess_t *sess = NULL;
d_assert(mme_ue, return CORE_ERROR,);
sess = mme_sess_first(mme_ue);
while(sess)
{
mme_bearer_t *bearer = mme_bearer_first(sess);
while(bearer)
{
CLEAR_ENB_S1U_PATH(bearer);
bearer = mme_bearer_next(bearer);
}
sess = mme_sess_next(sess);
}
return CORE_OK;
}
/** enb_ue_context handling function */
enb_ue_t* enb_ue_add(mme_enb_t *enb)
{
@ -2652,6 +2605,53 @@ mme_bearer_t* mme_bearer_next(mme_bearer_t *bearer)
return list_next(bearer);
}
int mme_bearer_is_inactive(mme_ue_t *mme_ue)
{
mme_sess_t *sess = NULL;
d_assert(mme_ue, return CORE_ERROR,);
if (mme_ue->enb_ue == NULL) return 1;
sess = mme_sess_first(mme_ue);
while(sess)
{
mme_bearer_t *bearer = mme_bearer_first(sess);
while(bearer)
{
if (MME_HAVE_ENB_S1U_PATH(bearer))
{
return 0;
}
bearer = mme_bearer_next(bearer);
}
sess = mme_sess_next(sess);
}
return 1;
}
status_t mme_bearer_set_inactive(mme_ue_t *mme_ue)
{
mme_sess_t *sess = NULL;
d_assert(mme_ue, return CORE_ERROR,);
sess = mme_sess_first(mme_ue);
while(sess)
{
mme_bearer_t *bearer = mme_bearer_first(sess);
while(bearer)
{
CLEAR_ENB_S1U_PATH(bearer);
bearer = mme_bearer_next(bearer);
}
sess = mme_sess_next(sess);
}
return CORE_OK;
}
status_t mme_pdn_remove_all(mme_ue_t *mme_ue)
{
s6a_subscription_data_t *subscription_data = NULL;

View File

@ -419,6 +419,13 @@ typedef struct _mme_sess_t {
tlv_octet_t pgw_pco;
} mme_sess_t;
#define MME_BEARER_INACTIVE(__mME) \
(mme_bearer_is_inactive(__mME) == 1)
#define MME_BEARER_ACTIVE(__mME) \
(mme_bearer_is_inactive(__mME) == 0)
#define MME_BEARER_SET_INACTIVE(__mME) \
mme_bearer_set_inactive(__mME)
#define MME_HAVE_ENB_S1U_PATH(__bEARER) \
((__bEARER) && ((__bEARER)->enb_s1u_teid))
#define CLEAR_ENB_S1U_PATH(__bEARER) \
@ -498,15 +505,6 @@ CORE_DECLARE(hash_index_t *) mme_enb_next(hash_index_t *hi);
CORE_DECLARE(mme_enb_t *) mme_enb_this(hash_index_t *hi);
CORE_DECLARE(int) mme_enb_sock_type(sock_id sock);
#define ECM_IDLE(__mME) \
(ecm_state_is_idle(__mME) == 1)
#define ECM_CONNECTED(__mME) \
(ecm_state_is_idle(__mME) == 0)
#define ECM_STATE_TO_IDLE(__mME) \
ecm_state_set_idle(__mME)
CORE_DECLARE(int) ecm_state_is_idle(mme_ue_t *mme_ue);
CORE_DECLARE(status_t) ecm_state_set_idle(mme_ue_t *mme_ue);
CORE_DECLARE(enb_ue_t*) enb_ue_add(mme_enb_t *enb);
CORE_DECLARE(unsigned int) enb_ue_count();
CORE_DECLARE(status_t) enb_ue_remove(enb_ue_t *enb_ue);
@ -624,6 +622,9 @@ CORE_DECLARE(mme_bearer_t*) mme_linked_bearer(mme_bearer_t *bearer);
CORE_DECLARE(mme_bearer_t*) mme_bearer_first(mme_sess_t *sess);
CORE_DECLARE(mme_bearer_t*) mme_bearer_next(mme_bearer_t *bearer);
CORE_DECLARE(int) mme_bearer_is_inactive(mme_ue_t *mme_ue);
CORE_DECLARE(status_t) mme_bearer_set_inactive(mme_ue_t *mme_ue);
CORE_DECLARE(pdn_t*) mme_pdn_add(mme_ue_t *mme_ue, c_int8_t *apn);
CORE_DECLARE(status_t) mme_pdn_remove_all(mme_ue_t *mme_ue);
CORE_DECLARE(pdn_t*) mme_pdn_find_by_apn(

View File

@ -527,8 +527,8 @@ void mme_s11_handle_release_access_bearers_response(
return;
}
rv = ECM_STATE_TO_IDLE(mme_ue);
d_assert(rv == CORE_OK,, "ECM_STATE_TO_IDLE failed");
rv = MME_BEARER_SET_INACTIVE(mme_ue);
d_assert(rv == CORE_OK,, "MME_BEARER_SET_INACTIVE failed");
rv = s1ap_send_ue_context_release_command(enb_ue,
S1ap_Cause_PR_nas, S1ap_CauseNas_normal_release,

View File

@ -566,7 +566,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 (ECM_IDLE(mme_ue))
if (MME_BEARER_INACTIVE(mme_ue))
{
s1ap_handle_paging(mme_ue);
/* Start T3413 */

View File

@ -399,7 +399,7 @@ status_t nas_send_tau_accept(mme_ue_t *mme_ue)
d_trace(3, "[EMM] Tracking area update accept\n");
d_trace(5, " IMSI[%s]\n", mme_ue->imsi_bcd);
if (ECM_CONNECTED(mme_ue))
if (MME_BEARER_ACTIVE(mme_ue))
bearer_establishment_requested = 1;
if (mme_ue->nas_eps.update.active_flag)

View File

@ -600,15 +600,15 @@ void s1ap_handle_ue_context_release_request(
if (FSM_CHECK(&mme_ue->sm, emm_state_registered))
{
d_trace(5, " EMM-Registered\n");
if (ECM_CONNECTED(mme_ue))
if (MME_BEARER_ACTIVE(mme_ue))
{
d_trace(5, " ECM-Connected\n");
d_trace(5, " Bearer-Active\n");
rv = mme_gtp_send_release_access_bearers_request(mme_ue);
d_assert(rv == CORE_OK, return, "gtp send failed");
}
else
{
d_trace(5, " ECM-Idle\n");
d_trace(5, " Bearer-Inactive\n");
rv = s1ap_send_ue_context_release_command(enb_ue,
S1ap_Cause_PR_nas, S1ap_CauseNas_normal_release,
S1AP_UE_CTX_REL_UNLINK_MME_UE_CONTEXT, 0);