forked from acouzens/open5gs
Add trace log for debugging #2287
This commit is contained in:
parent
03c0043e51
commit
9f19210f22
|
@ -54,6 +54,8 @@ int emm_handle_attach_request(mme_ue_t *mme_ue,
|
|||
|
||||
char imsi_bcd[OGS_MAX_IMSI_BCD_LEN+1];
|
||||
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
ogs_assert(mme_ue);
|
||||
enb_ue = enb_ue_cycle(mme_ue->enb_ue);
|
||||
ogs_assert(enb_ue);
|
||||
|
@ -274,6 +276,7 @@ int emm_handle_attach_complete(
|
|||
ogs_assert(mme_ue);
|
||||
|
||||
ogs_info(" IMSI[%s]", mme_ue->imsi_bcd);
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
ogs_gettimeofday(&tv);
|
||||
ogs_gmtime(tv.tv_sec, &gmt);
|
||||
|
@ -787,6 +790,7 @@ int emm_handle_security_mode_complete(mme_ue_t *mme_ue,
|
|||
ogs_nas_mobile_identity_t *imeisv = &security_mode_complete->imeisv;
|
||||
|
||||
ogs_assert(mme_ue);
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
if (security_mode_complete->presencemask &
|
||||
OGS_NAS_EPS_SECURITY_MODE_COMMAND_IMEISV_REQUEST_PRESENT) {
|
||||
|
|
|
@ -849,6 +849,7 @@ void emm_state_authentication(ogs_fsm_t *s, mme_event_t *e)
|
|||
authentication_response_parameter;
|
||||
|
||||
ogs_debug("Authentication response");
|
||||
MME_UE_LIST_CHECK;
|
||||
ogs_debug(" IMSI[%s]", mme_ue->imsi_bcd);
|
||||
|
||||
CLEAR_MME_UE_TIMER(mme_ue->t3460);
|
||||
|
|
|
@ -36,6 +36,8 @@ int esm_handle_pdn_connectivity_request(mme_bearer_t *bearer,
|
|||
mme_sess_t *sess = NULL;
|
||||
uint8_t security_protected_required = 0;
|
||||
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
ogs_assert(bearer);
|
||||
sess = bearer->sess;
|
||||
ogs_assert(sess);
|
||||
|
@ -183,6 +185,8 @@ int esm_handle_information_response(mme_sess_t *sess,
|
|||
|
||||
ogs_assert(rsp);
|
||||
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
if (rsp->presencemask &
|
||||
OGS_NAS_EPS_ESM_INFORMATION_RESPONSE_ACCESS_POINT_NAME_PRESENT) {
|
||||
sess->session = mme_session_find_by_apn(
|
||||
|
|
|
@ -183,6 +183,7 @@ void esm_state_inactive(ogs_fsm_t *s, mme_event_t *e)
|
|||
break;
|
||||
case OGS_NAS_EPS_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT:
|
||||
ogs_debug("Activate default EPS bearer context accept");
|
||||
MME_UE_LIST_CHECK;
|
||||
ogs_debug(" IMSI[%s] PTI[%d] EBI[%d]",
|
||||
mme_ue->imsi_bcd, sess->pti, bearer->ebi);
|
||||
/* Check if Initial Context Setup Response or
|
||||
|
|
|
@ -4069,14 +4069,42 @@ mme_bearer_t *mme_bearer_find_or_add_by_message(
|
|||
}
|
||||
} else {
|
||||
sess = mme_sess_first(mme_ue);
|
||||
ogs_debug("[%s:%p]", mme_ue->imsi_bcd, mme_ue);
|
||||
if (sess) {
|
||||
ogs_debug("[%s:%d:%d:%p]",
|
||||
sess->session ? sess->session->name : "Unknown",
|
||||
sess->pti, pti, sess);
|
||||
ogs_debug("[%s:%p]",
|
||||
sess->mme_ue ? sess->mme_ue->imsi_bcd : "Unknown",
|
||||
sess->mme_ue);
|
||||
}
|
||||
MME_UE_LIST_CHECK;
|
||||
}
|
||||
|
||||
if (!sess)
|
||||
if (!sess) {
|
||||
sess = mme_sess_add(mme_ue, pti);
|
||||
else
|
||||
sess->pti = pti;
|
||||
ogs_assert(sess);
|
||||
|
||||
ogs_debug("[%s:%p]", mme_ue->imsi_bcd, mme_ue);
|
||||
ogs_debug("[%s:%d:%d:%p]",
|
||||
sess->session ? sess->session->name : "Unknown",
|
||||
sess->pti, pti, sess);
|
||||
ogs_debug("[%s:%p]",
|
||||
sess->mme_ue ? sess->mme_ue->imsi_bcd : "Unknown",
|
||||
sess->mme_ue);
|
||||
MME_UE_LIST_CHECK;
|
||||
} else {
|
||||
sess->pti = pti;
|
||||
ogs_debug("[%s:%p]", mme_ue->imsi_bcd, mme_ue);
|
||||
ogs_debug("[%s:%d:%d:%p]",
|
||||
sess->session ? sess->session->name : "Unknown",
|
||||
sess->pti, pti, sess);
|
||||
ogs_debug("[%s:%p]",
|
||||
sess->mme_ue ? sess->mme_ue->imsi_bcd : "Unknown",
|
||||
sess->mme_ue);
|
||||
MME_UE_LIST_CHECK;
|
||||
}
|
||||
|
||||
ogs_assert(sess);
|
||||
} else {
|
||||
sess = mme_sess_find_by_pti(mme_ue, pti);
|
||||
if (!sess) {
|
||||
|
|
|
@ -148,6 +148,44 @@ typedef struct mme_context_s {
|
|||
/* Generator for unique identification */
|
||||
uint32_t mme_ue_s1ap_id; /* mme_ue_s1ap_id generator */
|
||||
|
||||
#define MME_UE_LIST_CHECK \
|
||||
if (ogs_log_get_domain_level(OGS_LOG_DOMAIN) >= OGS_LOG_TRACE) { \
|
||||
mme_ue_t *mme_ue = NULL; \
|
||||
sgw_ue_t *sgw_ue = NULL; \
|
||||
enb_ue_t *enb_ue = NULL; \
|
||||
mme_sess_t *sess = NULL; \
|
||||
mme_bearer_t *bearer = NULL; \
|
||||
ogs_list_for_each(&mme_self()->mme_ue_list, mme_ue) { \
|
||||
ogs_trace("MME_UE(%p) [%s] MME_S11_TEID[%d]", \
|
||||
mme_ue, mme_ue->imsi_bcd, mme_ue->mme_s11_teid); \
|
||||
if (mme_ue->sgw_ue) { \
|
||||
sgw_ue = mme_ue->sgw_ue; \
|
||||
ogs_trace("SGW_UE(%p) MME_UE(%p) SGW_S11_TEID[%d]", \
|
||||
sgw_ue, mme_ue, sgw_ue->sgw_s11_teid); \
|
||||
} \
|
||||
if (mme_ue->enb_ue) { \
|
||||
enb_ue = mme_ue->enb_ue; \
|
||||
ogs_trace("ENB_UE(%p) MME_UE(%p) " \
|
||||
"[ENB_UE_S1AP_ID:%d MME_UE_S1AP_ID:%d]", \
|
||||
enb_ue, enb_ue->mme_ue, \
|
||||
enb_ue->enb_ue_s1ap_id, enb_ue->mme_ue_s1ap_id); \
|
||||
} \
|
||||
ogs_list_for_each(&mme_ue->sess_list, sess) { \
|
||||
ogs_trace("SESS(%p) [%s:%d]", sess, \
|
||||
sess->session ? sess->session->name : "Unknown", \
|
||||
sess->pti); \
|
||||
ogs_assert(sess->mme_ue == mme_ue); \
|
||||
ogs_list_for_each(&sess->bearer_list, bearer) { \
|
||||
ogs_trace("BEARER(%p) [%d] " \
|
||||
"ENB_S1U_TEID[%d] SGW_S1U_TEID[%d]", \
|
||||
bearer, bearer->ebi, \
|
||||
bearer->enb_s1u_teid, bearer->sgw_s1u_teid); \
|
||||
ogs_assert(bearer->sess == sess); \
|
||||
ogs_assert(bearer->mme_ue == mme_ue); \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
ogs_list_t mme_ue_list;
|
||||
|
||||
ogs_hash_t *enb_addr_hash; /* hash table for ENB Address */
|
||||
|
|
|
@ -103,6 +103,7 @@ void mme_s11_handle_create_session_response(
|
|||
ogs_assert(rsp);
|
||||
|
||||
ogs_debug("Create Session Response");
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
/********************
|
||||
* Check Transaction
|
||||
|
@ -461,6 +462,7 @@ void mme_s11_handle_modify_bearer_response(
|
|||
ogs_assert(rsp);
|
||||
|
||||
ogs_debug("Modify Bearer Response");
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
/********************
|
||||
* Check Transaction
|
||||
|
@ -572,6 +574,7 @@ void mme_s11_handle_delete_session_response(
|
|||
ogs_assert(rsp);
|
||||
|
||||
ogs_debug("Delete Session Response");
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
/********************
|
||||
* Check Transaction
|
||||
|
@ -1224,6 +1227,7 @@ void mme_s11_handle_release_access_bearers_response(
|
|||
ogs_assert(rsp);
|
||||
|
||||
ogs_debug("Release Access Bearers Response");
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
/********************
|
||||
* Check Transaction
|
||||
|
|
|
@ -230,6 +230,7 @@ void s1ap_handle_initial_ue_message(mme_enb_t *enb, ogs_s1ap_message_t *message)
|
|||
ogs_assert(InitialUEMessage);
|
||||
|
||||
ogs_info("InitialUEMessage");
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
for (i = 0; i < InitialUEMessage->protocolIEs.list.count; i++) {
|
||||
ie = InitialUEMessage->protocolIEs.list.array[i];
|
||||
|
@ -345,6 +346,16 @@ void s1ap_handle_initial_ue_message(mme_enb_t *enb, ogs_s1ap_message_t *message)
|
|||
CLEAR_MME_UE_TIMER(mme_ue->t_mobile_reachable);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ogs_error("Known UE ENB_UE_S1AP_ID[%d] [%p:%p]",
|
||||
(int)*ENB_UE_S1AP_ID, enb_ue, enb_ue->mme_ue);
|
||||
if (enb_ue->mme_ue)
|
||||
ogs_error(" S_TMSI[G:%d,C:%d,M_TMSI:0x%x] IMSI:[%s]",
|
||||
enb_ue->mme_ue->current.guti.mme_gid,
|
||||
enb_ue->mme_ue->current.guti.mme_code,
|
||||
enb_ue->mme_ue->current.guti.m_tmsi,
|
||||
MME_UE_HAVE_IMSI(enb_ue->mme_ue)
|
||||
? enb_ue->mme_ue->imsi_bcd : "Unknown");
|
||||
}
|
||||
|
||||
if (!NAS_PDU) {
|
||||
|
@ -436,6 +447,7 @@ void s1ap_handle_uplink_nas_transport(
|
|||
ogs_assert(UplinkNASTransport);
|
||||
|
||||
ogs_debug("UplinkNASTransport");
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
for (i = 0; i < UplinkNASTransport->protocolIEs.list.count; i++) {
|
||||
ie = UplinkNASTransport->protocolIEs.list.array[i];
|
||||
|
@ -600,6 +612,7 @@ void s1ap_handle_ue_capability_info_indication(
|
|||
ogs_assert(UECapabilityInfoIndication);
|
||||
|
||||
ogs_debug("UECapabilityInfoIndication");
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
for (i = 0; i < UECapabilityInfoIndication->protocolIEs.list.count; i++) {
|
||||
ie = UECapabilityInfoIndication->protocolIEs.list.array[i];
|
||||
|
@ -698,6 +711,7 @@ void s1ap_handle_initial_context_setup_response(
|
|||
ogs_assert(InitialContextSetupResponse);
|
||||
|
||||
ogs_debug("InitialContextSetupResponse");
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
for (i = 0; i < InitialContextSetupResponse->protocolIEs.list.count; i++) {
|
||||
ie = InitialContextSetupResponse->protocolIEs.list.array[i];
|
||||
|
@ -1797,6 +1811,7 @@ void s1ap_handle_e_rab_modification_indication(
|
|||
ogs_assert(E_RABModificationIndication);
|
||||
|
||||
ogs_info("E_RABModificationIndication");
|
||||
MME_UE_LIST_CHECK;
|
||||
|
||||
for (i = 0; i < E_RABModificationIndication->protocolIEs.list.count; i++) {
|
||||
ie = E_RABModificationIndication->protocolIEs.list.array[i];
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -293,7 +293,7 @@ int test_context_parse_config(void)
|
|||
NULL, self.ngap_port, NULL);
|
||||
ogs_assert(rv == OGS_OK);
|
||||
}
|
||||
} if (!strcmp(amf_key, "tai")) {
|
||||
} else if (!strcmp(amf_key, "tai")) {
|
||||
int num_of_list0 = 0;
|
||||
int num_of_list1 = 0;
|
||||
ogs_5gs_tai0_list_t *list0 = NULL;
|
||||
|
@ -620,10 +620,7 @@ int test_context_parse_config(void)
|
|||
}
|
||||
} while (ogs_yaml_iter_type(&plmn_support_array) ==
|
||||
YAML_SEQUENCE_NODE);
|
||||
} else if (!strcmp(amf_key, "sbi")) {
|
||||
/* handle config in sbi library */
|
||||
} else
|
||||
ogs_warn("unknown key `%s`", amf_key);
|
||||
}
|
||||
}
|
||||
} else if (!strcmp(root_key, "mme")) {
|
||||
ogs_yaml_iter_t mme_iter;
|
||||
|
|
Loading…
Reference in New Issue