update it

This commit is contained in:
Sukchan Lee 2017-04-08 10:45:48 +09:00
parent 5507fff782
commit 7860d74991
4 changed files with 20 additions and 18 deletions

View File

@ -173,7 +173,7 @@ mme_sgw_t* mme_sgw_next(mme_sgw_t *sgw)
return list_next(sgw);
}
mme_enb_t* mme_enb_add()
mme_enb_t* mme_enb_add(net_sock_t *s1ap_sock)
{
mme_enb_t *enb = NULL;
@ -182,6 +182,13 @@ mme_enb_t* mme_enb_add()
memset(enb, 0, sizeof(mme_enb_t));
enb->s1ap_sock = s1ap_sock;
fsm_create((fsm_t*)&enb->s1ap_sm,
s1ap_state_initial, s1ap_state_final);
enb->s1ap_sm.ctx = enb;
fsm_init((fsm_t*)&enb->s1ap_sm, 0);
list_init(&enb->ue_list);
list_append(&self.enb_list, enb);
@ -283,12 +290,17 @@ mme_ue_t* mme_ue_add(mme_enb_t *enb)
memset(ue, 0, sizeof(mme_ue_t));
ue->enb = enb;
fsm_create((fsm_t*)&ue->emm_sm,
emm_state_initial, emm_state_final);
ue->emm_sm.ctx = ue;
fsm_init((fsm_t*)&ue->emm_sm, 0);
ue->mme_ue_s1ap_id = NEXT_ID(self.mme_ue_s1ap_id, 0xffffffff);
hash_set(self.mme_ue_s1ap_id_hash, &ue->mme_ue_s1ap_id,
sizeof(ue->mme_ue_s1ap_id), ue);
ue->enb = enb;
list_init(&ue->esm_list);
list_append(&enb->ue_list, ue);
@ -407,7 +419,7 @@ mme_ue_t* mme_ue_next_in_enb(mme_ue_t *ue)
return list_next(ue);
}
mme_esm_t* mme_esm_add(mme_ue_t *ue)
mme_esm_t* mme_esm_add(mme_ue_t *ue, c_uint8_t pti)
{
mme_esm_t *esm = NULL;
@ -418,6 +430,8 @@ mme_esm_t* mme_esm_add(mme_ue_t *ue)
memset(esm, 0, sizeof(mme_esm_t));
esm->pti = pti;
esm->ue = ue;
list_append(&ue->esm_list, esm);

View File

@ -148,7 +148,7 @@ CORE_DECLARE(mme_sgw_t*) mme_sgw_find_by_node(gtp_node_t *gnode);
CORE_DECLARE(mme_sgw_t*) mme_sgw_first(void);
CORE_DECLARE(mme_sgw_t*) mme_sgw_next(mme_sgw_t *sgw);
CORE_DECLARE(mme_enb_t*) mme_enb_add(void);
CORE_DECLARE(mme_enb_t*) mme_enb_add(net_sock_t *s1ap_sock);
CORE_DECLARE(status_t) mme_enb_remove(mme_enb_t *enb);
CORE_DECLARE(status_t) mme_enb_remove_all(void);
CORE_DECLARE(mme_enb_t*) mme_enb_find_by_sock(net_sock_t *sock);
@ -171,7 +171,7 @@ CORE_DECLARE(mme_ue_t*) mme_ue_find_by_enb_ue_s1ap_id(
CORE_DECLARE(mme_ue_t*) mme_ue_first_in_enb(mme_enb_t *enb);
CORE_DECLARE(mme_ue_t*) mme_ue_next_in_enb(mme_ue_t *ue);
CORE_DECLARE(mme_esm_t*) mme_esm_add(mme_ue_t *ue);
CORE_DECLARE(mme_esm_t*) mme_esm_add(mme_ue_t *ue, c_uint8_t pti);
CORE_DECLARE(status_t) mme_esm_remove(mme_esm_t *esm);
CORE_DECLARE(status_t) mme_esm_remove_all(mme_ue_t *ue);
CORE_DECLARE(mme_esm_t*) mme_esm_find_by_pti(mme_ue_t *ue, c_uint8_t pti);

View File

@ -84,14 +84,8 @@ void mme_state_operational(mme_sm_t *s, event_t *e)
rc = net_register_sock(sock, _s1ap_recv_cb, NULL);
d_assert(rc == 0, break, "register _s1ap_recv_cb failed");
mme_enb_t *enb = mme_enb_add();
mme_enb_t *enb = mme_enb_add(sock);
d_assert(enb, break, "Null param");
enb->s1ap_sock = sock;
fsm_create((fsm_t*)&enb->s1ap_sm,
s1ap_state_initial, s1ap_state_final);
enb->s1ap_sm.ctx = enb;
fsm_init((fsm_t*)&enb->s1ap_sm, 0);
}
else
{

View File

@ -75,12 +75,6 @@ void s1ap_handle_initial_ue_message(mme_enb_t *enb, s1ap_message_t *message)
d_assert(ue, return, "Null param");
ue->enb_ue_s1ap_id = ies->eNB_UE_S1AP_ID;
fsm_create((fsm_t*)&ue->emm_sm,
emm_state_initial, emm_state_final);
ue->emm_sm.ctx = ue;
fsm_init((fsm_t*)&ue->emm_sm, 0);
}
else
{