forked from acouzens/open5gs
update it
This commit is contained in:
parent
30ba51a909
commit
31d978427c
|
@ -86,8 +86,10 @@ void emm_state_operational(fsm_t *s, event_t *e)
|
||||||
while(bearer)
|
while(bearer)
|
||||||
{
|
{
|
||||||
event_t e;
|
event_t e;
|
||||||
event_set(&e, MME_EVT_ESM_BEARER_LO_INFO_REQ);
|
event_set(&e, MME_EVT_ESM_BEARER_FROM_S6A);
|
||||||
event_set_param1(&e, (c_uintptr_t)bearer->index);
|
event_set_param1(&e, (c_uintptr_t)bearer->index);
|
||||||
|
event_set_param2(&e,
|
||||||
|
(c_uintptr_t)S6A_CMD_UPDATE_LOCATION);
|
||||||
mme_event_send(&e);
|
mme_event_send(&e);
|
||||||
|
|
||||||
bearer = mme_bearer_next(bearer);
|
bearer = mme_bearer_next(bearer);
|
||||||
|
|
|
@ -25,7 +25,7 @@ void esm_handle_pdn_connectivity_request(mme_bearer_t *bearer,
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void esm_handle_lo_information_request(mme_bearer_t *bearer)
|
void esm_handle_s6a_update_location(mme_bearer_t *bearer)
|
||||||
{
|
{
|
||||||
status_t rv;
|
status_t rv;
|
||||||
mme_ue_t *ue = NULL;
|
mme_ue_t *ue = NULL;
|
||||||
|
@ -48,7 +48,7 @@ void esm_handle_lo_information_request(mme_bearer_t *bearer)
|
||||||
d_assert(s1ap_send_to_enb(enb, s1apbuf) == CORE_OK,, "s1ap send error");
|
d_assert(s1ap_send_to_enb(enb, s1apbuf) == CORE_OK,, "s1ap send error");
|
||||||
}
|
}
|
||||||
|
|
||||||
void esm_handle_lo_modify_bearer(mme_bearer_t *bearer)
|
void esm_handle_modify_bearer_request(mme_bearer_t *bearer)
|
||||||
{
|
{
|
||||||
status_t rv;
|
status_t rv;
|
||||||
mme_ue_t *ue = NULL;
|
mme_ue_t *ue = NULL;
|
||||||
|
|
|
@ -11,10 +11,10 @@ extern "C" {
|
||||||
|
|
||||||
CORE_DECLARE(void) esm_handle_pdn_connectivity_request(mme_bearer_t *bearer,
|
CORE_DECLARE(void) esm_handle_pdn_connectivity_request(mme_bearer_t *bearer,
|
||||||
nas_pdn_connectivity_request_t *pdn_connectivity_request);
|
nas_pdn_connectivity_request_t *pdn_connectivity_request);
|
||||||
CORE_DECLARE(void) esm_handle_lo_information_request(mme_bearer_t *bearer);
|
CORE_DECLARE(void) esm_handle_s6a_update_location(mme_bearer_t *bearer);
|
||||||
CORE_DECLARE(void) esm_handle_information_response(mme_bearer_t *bearer,
|
CORE_DECLARE(void) esm_handle_information_response(mme_bearer_t *bearer,
|
||||||
nas_esm_information_response_t *bearer_information_response);
|
nas_esm_information_response_t *bearer_information_response);
|
||||||
CORE_DECLARE(void) esm_handle_lo_modify_bearer(mme_bearer_t *bearer);
|
CORE_DECLARE(void) esm_handle_modify_bearer_request(mme_bearer_t *bearer);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,8 +41,8 @@ void esm_state_operational(fsm_t *s, event_t *e)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MME_EVT_ESM_BEARER_LO_INFO_REQ:
|
case MME_EVT_ESM_BEARER_FROM_S6A:
|
||||||
case MME_EVT_ESM_BEARER_LO_MODIFY_BEARER:
|
case MME_EVT_ESM_BEARER_TO_S11:
|
||||||
{
|
{
|
||||||
index_t index = event_get_param1(e);
|
index_t index = event_get_param1(e);
|
||||||
mme_bearer_t *bearer = NULL;
|
mme_bearer_t *bearer = NULL;
|
||||||
|
@ -54,18 +54,18 @@ void esm_state_operational(fsm_t *s, event_t *e)
|
||||||
ue = bearer->ue;
|
ue = bearer->ue;
|
||||||
d_assert(ue, return, "Null param");
|
d_assert(ue, return, "Null param");
|
||||||
|
|
||||||
switch(event_get(e))
|
switch(event_get_param2(e))
|
||||||
{
|
{
|
||||||
case MME_EVT_ESM_BEARER_LO_INFO_REQ:
|
case S6A_CMD_UPDATE_LOCATION:
|
||||||
{
|
{
|
||||||
d_info("[NAS] ESM information request : "
|
d_info("[NAS] ESM information request : "
|
||||||
"UE[%s] <--- ESM[%d]", ue->imsi_bcd, bearer->pti);
|
"UE[%s] <--- ESM[%d]", ue->imsi_bcd, bearer->pti);
|
||||||
esm_handle_lo_information_request(bearer);
|
esm_handle_s6a_update_location(bearer);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MME_EVT_ESM_BEARER_LO_MODIFY_BEARER:
|
case GTP_MODIFY_BEARER_REQUEST_TYPE:
|
||||||
{
|
{
|
||||||
esm_handle_lo_modify_bearer(bearer);
|
esm_handle_modify_bearer_request(bearer);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,10 +28,6 @@ char* mme_event_get_name(event_t *e)
|
||||||
|
|
||||||
case MME_EVT_ESM_BEARER_MSG:
|
case MME_EVT_ESM_BEARER_MSG:
|
||||||
return "MME_EVT_ESM_BEARER_MSG";
|
return "MME_EVT_ESM_BEARER_MSG";
|
||||||
case MME_EVT_ESM_BEARER_LO_INFO_REQ:
|
|
||||||
return "MME_EVT_ESM_BEARER_LO_INFO_REQ";
|
|
||||||
case MME_EVT_ESM_BEARER_LO_MODIFY_BEARER:
|
|
||||||
return "MME_EVT_ESM_BEARER_LO_MODIFY_BEARER";
|
|
||||||
|
|
||||||
case MME_EVT_S11_UE_MSG:
|
case MME_EVT_S11_UE_MSG:
|
||||||
return "MME_EVT_S11_UE_MSG";
|
return "MME_EVT_S11_UE_MSG";
|
||||||
|
|
|
@ -20,23 +20,17 @@ typedef enum {
|
||||||
MME_EVT_S1AP_ENB_LO_CONNREFUSED,
|
MME_EVT_S1AP_ENB_LO_CONNREFUSED,
|
||||||
|
|
||||||
MME_EVT_EMM_UE_MSG,
|
MME_EVT_EMM_UE_MSG,
|
||||||
|
MME_EVT_EMM_UE_FROM_S6A,
|
||||||
|
MME_EVT_EMM_UE_FROM_S11,
|
||||||
|
MME_EVT_EMM_BEARER_FROM_S11,
|
||||||
|
|
||||||
MME_EVT_ESM_BEARER_MSG,
|
MME_EVT_ESM_BEARER_MSG,
|
||||||
MME_EVT_ESM_BEARER_LO_INFO_REQ,
|
MME_EVT_ESM_BEARER_FROM_S6A,
|
||||||
MME_EVT_ESM_BEARER_LO_MODIFY_BEARER,
|
MME_EVT_ESM_BEARER_TO_S11,
|
||||||
|
|
||||||
MME_EVT_S11_UE_MSG,
|
MME_EVT_S11_UE_MSG,
|
||||||
MME_EVT_S11_TRANSACTION_T3,
|
MME_EVT_S11_TRANSACTION_T3,
|
||||||
|
|
||||||
MME_EVT_EMM_UE_FROM_S6A,
|
|
||||||
MME_EVT_EMM_UE_TO_S6A,
|
|
||||||
MME_EVT_EMM_UE_FROM_S11,
|
|
||||||
MME_EVT_EMM_UE_TO_S11,
|
|
||||||
MME_EVT_EMM_BEARER_FROM_S11,
|
|
||||||
|
|
||||||
MME_EVT_ESM_BEARER_FROM_S11,
|
|
||||||
MME_EVT_ESM_BEARER_TO_S11,
|
|
||||||
|
|
||||||
MME_EVT_TOP,
|
MME_EVT_TOP,
|
||||||
|
|
||||||
} event_e;
|
} event_e;
|
||||||
|
|
|
@ -187,8 +187,8 @@ void mme_state_operational(fsm_t *s, event_t *e)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MME_EVT_ESM_BEARER_LO_INFO_REQ:
|
case MME_EVT_ESM_BEARER_FROM_S6A:
|
||||||
case MME_EVT_ESM_BEARER_LO_MODIFY_BEARER:
|
case MME_EVT_ESM_BEARER_TO_S11:
|
||||||
case MME_EVT_ESM_BEARER_MSG:
|
case MME_EVT_ESM_BEARER_MSG:
|
||||||
{
|
{
|
||||||
nas_message_t message;
|
nas_message_t message;
|
||||||
|
|
|
@ -253,8 +253,9 @@ void s1ap_handle_initial_context_setup_response(
|
||||||
memcpy(&bearer->enb_s1u_addr, e_rab->transportLayerAddress.buf,
|
memcpy(&bearer->enb_s1u_addr, e_rab->transportLayerAddress.buf,
|
||||||
sizeof(bearer->enb_s1u_addr));
|
sizeof(bearer->enb_s1u_addr));
|
||||||
|
|
||||||
event_set(&e, MME_EVT_ESM_BEARER_LO_MODIFY_BEARER);
|
event_set(&e, MME_EVT_ESM_BEARER_TO_S11);
|
||||||
event_set_param1(&e, (c_uintptr_t)bearer->index);
|
event_set_param1(&e, (c_uintptr_t)bearer->index);
|
||||||
|
event_set_param2(&e, (c_uintptr_t)GTP_MODIFY_BEARER_REQUEST_TYPE);
|
||||||
mme_event_send(&e);
|
mme_event_send(&e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,8 +156,6 @@ static void nas_sm_test1(abts_case *tc, void *data)
|
||||||
#endif
|
#endif
|
||||||
pkbuf_free(recvbuf);
|
pkbuf_free(recvbuf);
|
||||||
|
|
||||||
core_sleep(time_from_msec(300));
|
|
||||||
|
|
||||||
d_log_set_level(D_MSG_TO_STDOUT, D_LOG_LEVEL_ERROR);
|
d_log_set_level(D_MSG_TO_STDOUT, D_LOG_LEVEL_ERROR);
|
||||||
/* eNB disonncect from MME */
|
/* eNB disonncect from MME */
|
||||||
rv = tests1ap_enb_close(sock);
|
rv = tests1ap_enb_close(sock);
|
||||||
|
|
Loading…
Reference in New Issue