refine GTP/Diameter Log

This commit is contained in:
Sukchan Lee 2018-01-23 00:00:57 +09:00
parent 67870af84f
commit 225e1ba07f
12 changed files with 213 additions and 90 deletions

View File

@ -62,6 +62,8 @@ static int hss_s6a_air_cb( struct msg **msg, struct avp *avp,
c_uint32_t result_code = 0;
d_assert(msg, return EINVAL,);
d_trace(3, "[HSS] Authentication-Information-Request\n");
/* Create answer header */
qry = *msg;
@ -225,6 +227,8 @@ static int hss_s6a_air_cb( struct msg **msg, struct avp *avp,
/* Send the answer */
ret = fd_msg_send(msg, NULL, NULL);
d_assert(ret == 0,,);
d_trace(3, "[HSS] Authentication-Information-Answer\n");
/* Add this value to the stats */
d_assert(pthread_mutex_lock(&fd_logger_self()->stats_lock) == 0,,);
@ -275,6 +279,8 @@ static int hss_s6a_ulr_cb( struct msg **msg, struct avp *avp,
struct sockaddr_in6 sin6;
d_assert(msg, return EINVAL,);
d_trace(3, "[HSS] Update-Location-Request\n");
/* Create answer header */
qry = *msg;
@ -634,6 +640,8 @@ static int hss_s6a_ulr_cb( struct msg **msg, struct avp *avp,
/* Send the answer */
ret = fd_msg_send(msg, NULL, NULL);
d_assert(ret == 0,,);
d_trace(3, "[HSS] Update-Location-Answer\n");
/* Add this value to the stats */
d_assert( pthread_mutex_lock(&fd_logger_self()->stats_lock) == 0,,);

View File

@ -45,6 +45,8 @@ void mme_s6a_send_air(mme_ue_t *mme_ue,
d_assert(mme_ue, return, "Null param");
d_trace(3, "[MME] Authentication-Information-Request\n");
/* Clear Security Context */
CLEAR_SECURITY_CONTEXT(mme_ue);
@ -170,9 +172,6 @@ void mme_s6a_send_air(mme_ue_t *mme_ue,
d_assert(pthread_mutex_lock(&fd_logger_self()->stats_lock) == 0,, );
fd_logger_self()->stats.nb_sent++;
d_assert(pthread_mutex_unlock(&fd_logger_self()->stats_lock) == 0,, );
d_trace(3, "[S6A] Authentication-Information-Request : UE[%s] --> HSS\n",
mme_ue->imsi_bcd);
}
/* MME received Authentication Information Answer from HSS */
@ -197,6 +196,8 @@ static void mme_s6a_aia_cb(void *data, struct msg **msg)
s6a_aia_message_t *aia_message = NULL;
c_uint16_t s6abuf_len = 0;
e_utran_vector_t *e_utran_vector = NULL;
d_trace(3, "[MME] Authentication-Information-Answer\n");
ret = clock_gettime(CLOCK_REALTIME, &ts);
d_assert(ret == 0, return,);
@ -220,8 +221,6 @@ static void mme_s6a_aia_cb(void *data, struct msg **msg)
s6a_message = s6abuf->payload;
d_assert(s6a_message, return, "Null param");
d_trace(3, "[S6A] Authentication-Information-Answer : UE <-- HSS\n");
/* Set Authentication-Information Command */
memset(s6a_message, 0, s6abuf_len);
s6a_message->cmd_code = S6A_CMD_CODE_AUTHENTICATION_INFORMATION;
@ -456,6 +455,8 @@ void mme_s6a_send_ulr(mme_ue_t *mme_ue)
struct session *session = NULL;
d_assert(mme_ue, return, "Null Param");
d_trace(3, "[MME] Update-Location-Request\n");
/* Create the random value to store with the session */
pool_alloc_node(&mme_s6a_sess_pool, &sess_data);
@ -569,9 +570,6 @@ void mme_s6a_send_ulr(mme_ue_t *mme_ue)
d_assert(pthread_mutex_lock(&fd_logger_self()->stats_lock) == 0,, );
fd_logger_self()->stats.nb_sent++;
d_assert(pthread_mutex_unlock(&fd_logger_self()->stats_lock) == 0,, );
d_trace(3, "[S6A] Update-Location-Request : UE[%s] --> HSS\n",
mme_ue->imsi_bcd);
}
/* MME received Update Location Answer from HSS */
@ -597,6 +595,8 @@ static void mme_s6a_ula_cb(void *data, struct msg **msg)
s6a_subscription_data_t *subscription_data = NULL;
c_uint16_t s6abuf_len = 0;
d_trace(3, "[MME] Update-Location-Answer\n");
ret = clock_gettime(CLOCK_REALTIME, &ts);
d_assert(ret == 0, return,);
@ -619,8 +619,6 @@ static void mme_s6a_ula_cb(void *data, struct msg **msg)
s6a_message = s6abuf->payload;
d_assert(s6a_message, return, "Null param");
d_trace(3, "[S6A] Update-Location-Answer : UE <-- HSS\n");
/* Set Authentication-Information Command */
memset(s6a_message, 0, s6abuf_len);
s6a_message->cmd_code = S6A_CMD_CODE_UPDATE_LOCATION;

View File

@ -41,6 +41,9 @@ status_t mme_s11_build_create_session_request(
mme_ue = sess->mme_ue;
d_assert(mme_ue, return CORE_ERROR, "Null param");
d_trace(3, "[MME] Create Session Request\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
memset(&gtp_message, 0, sizeof(gtp_message_t));
d_assert(mme_ue->imsi_len, return CORE_ERROR, "Null param");
@ -243,6 +246,10 @@ status_t mme_s11_build_modify_bearer_request(pkbuf_t **pkbuf,
mme_ue = bearer->mme_ue;
d_assert(mme_ue, return CORE_ERROR, "Null param");
d_trace(3, "[MME] Modifty Bearer Request\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
memset(&gtp_message, 0, sizeof(gtp_message_t));
/* Bearer Context : EBI */
@ -303,6 +310,10 @@ status_t mme_s11_build_delete_session_request(
bearer = mme_default_bearer_in_sess(sess);
d_assert(bearer, return CORE_ERROR, "Null param");
d_trace(3, "[MME] Delete Session Request\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
memset(&gtp_message, 0, sizeof(gtp_message_t));
req->linked_eps_bearer_id.presence = 1;
@ -353,6 +364,10 @@ status_t mme_s11_build_create_bearer_response(
d_assert(bearer, return CORE_ERROR, "Null param");
mme_ue = bearer->mme_ue;
d_assert(mme_ue, return CORE_ERROR, "Null param");
d_trace(3, "[MME] Create Bearer Response\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
memset(&gtp_message, 0, sizeof(gtp_message_t));
@ -447,6 +462,10 @@ status_t mme_s11_build_update_bearer_response(
mme_ue = bearer->mme_ue;
d_assert(mme_ue, return CORE_ERROR, "Null param");
d_trace(3, "[MME] Update Bearer Response\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
memset(&gtp_message, 0, sizeof(gtp_message_t));
/* Set Cause */
@ -520,6 +539,10 @@ status_t mme_s11_build_delete_bearer_response(
mme_ue = bearer->mme_ue;
d_assert(mme_ue, return CORE_ERROR, "Null param");
d_trace(3, "[MME] Delete Bearer Response\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
memset(&gtp_message, 0, sizeof(gtp_message_t));
/* Set Cause */
@ -582,6 +605,7 @@ status_t mme_s11_build_release_access_bearers_request(
gtp_release_access_bearers_request_t *req =
&gtp_message.release_access_bearers_request;
d_trace(3, "[MME] Release Access Bearers Request\n");
memset(&gtp_message, 0, sizeof(gtp_message_t));
req->originating_node.presence = 1;
@ -604,6 +628,8 @@ status_t mme_s11_build_downlink_data_notification_ack(
gtp_cause_t cause;
d_trace(3, "[MME] Downlink Data Notification Ackknowledge\n");
memset(&gtp_message, 0, sizeof(gtp_message_t));
memset(&cause, 0, sizeof(cause));
@ -640,6 +666,10 @@ status_t mme_s11_build_create_indirect_data_forwarding_tunnel_request(
d_assert(mme_ue, return CORE_ERROR, "Null param");
d_trace(3, "[MME] Create Indirect Data Forwarding Tunnel Request\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
gtp_bearers_in_create_indirect_tunnel_request(&bearers, req);
memset(&gtp_message, 0, sizeof(gtp_message_t));

View File

@ -33,6 +33,8 @@ void mme_s11_handle_create_session_response(
d_assert(mme_ue, return, "Null param");
d_assert(rsp, return, "Null param");
d_trace(3, "[MME] Create Session Response\n");
if (rsp->sender_f_teid_for_control_plane.presence == 0)
{
d_error("No S11 TEID");
@ -73,6 +75,9 @@ void mme_s11_handle_create_session_response(
sgw_s11_teid = rsp->sender_f_teid_for_control_plane.data;
mme_ue->sgw_s11_teid = ntohl(sgw_s11_teid->teid);
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
memcpy(&pdn->paa, rsp->pdn_address_allocation.data,
rsp->pdn_address_allocation.len);
@ -88,9 +93,6 @@ void mme_s11_handle_create_session_response(
rv = gtp_f_teid_to_ip(sgw_s1u_teid, &bearer->sgw_s1u_ip);
d_assert(rv == CORE_OK, return,);
d_trace(3, "[MME] Create Session Response : MME[%d] <-- SGW[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
rv = gtp_xact_commit(xact);
d_assert(rv == CORE_OK, return, "xact_commit error");
@ -118,7 +120,8 @@ void mme_s11_handle_modify_bearer_response(
d_assert(mme_ue, return, "Null param");
d_assert(rsp, return, "Null param");
d_trace(3, "[MME] Modify Bearer Response : MME[%d] <-- SGW[%d]\n",
d_trace(3, "[MME] Modify Bearer Response\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
rv = gtp_xact_commit(xact);
@ -152,13 +155,13 @@ void mme_s11_handle_delete_session_response(
sess = GTP_XACT_RETRIEVE_SESSION(xact);
d_assert(sess, return, "Null param");
d_trace(3, "[MME] Delete Session Response\n");
if (rsp->cause.presence == 0)
{
d_error("No Cause");
return;
}
d_trace(3, "[MME] Delete Session Response : MME[%d] <-- SGW[%d]\n",
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
rv = gtp_xact_commit(xact);
@ -249,8 +252,7 @@ void mme_s11_handle_create_bearer_request(
d_assert(mme_ue, return, "Null param");
d_assert(req, return, "Null param");
d_trace(3, "[MME] Create Bearer Request : MME[%d] <-- SGW[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
d_trace(3, "[MME] Create Bearer Response\n");
if (req->linked_eps_bearer_id.presence == 0)
{
@ -283,6 +285,9 @@ void mme_s11_handle_create_bearer_request(
return;
}
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
sess = mme_sess_find_by_ebi(mme_ue, req->linked_eps_bearer_id.u8);
d_assert(sess, return,
"No Session Context(EBI:%d)", req->linked_eps_bearer_id);
@ -344,9 +349,7 @@ void mme_s11_handle_update_bearer_request(
d_assert(mme_ue, return, "Null param");
d_assert(req, return, "Null param");
d_trace(3, "[MME] Update Bearer Request : MME[%d] <-- SGW[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
d_trace(3, "[MME] Update Bearer Request\n");
if (req->bearer_contexts.presence == 0)
{
d_error("No Bearer");
@ -357,6 +360,8 @@ void mme_s11_handle_update_bearer_request(
d_error("No EPS Bearer ID");
return;
}
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
bearer = mme_bearer_find_by_ue_ebi(mme_ue,
req->bearer_contexts.eps_bearer_id.u8);
@ -441,9 +446,7 @@ void mme_s11_handle_delete_bearer_request(
d_assert(mme_ue, return, "Null param");
d_assert(req, return, "Null param");
d_trace(3, "[MME] Delete Bearer Request : MME[%d] <-- SGW[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
d_trace(3, "[MME] Delete Bearer Request\n");
if (req->linked_eps_bearer_id.presence == 1)
{
bearer = mme_bearer_find_by_ue_ebi(mme_ue, req->linked_eps_bearer_id.u8);
@ -462,6 +465,8 @@ void mme_s11_handle_delete_bearer_request(
d_error("No Linked EBI or EPS Bearer ID");
return;
}
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
/* Save Transaction. will be handled after EMM-attached */
bearer->xact = xact;
@ -503,6 +508,7 @@ void mme_s11_handle_release_access_bearers_response(
d_assert(mme_ue, return, "Null param");
d_assert(rsp, return, "Null param");
d_trace(3, "[MME] Release Access Bearers Response\n");
enb_ue = mme_ue->enb_ue;
d_assert(enb_ue, return, "Null param");
@ -511,8 +517,7 @@ void mme_s11_handle_release_access_bearers_response(
d_error("No Cause");
return;
}
d_trace(3, "[MME] Release Access Bearers Response : MME[%d] <-- SGW[%d]\n",
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
rv = gtp_xact_commit(xact);
@ -536,7 +541,8 @@ void mme_s11_handle_downlink_data_notification(
d_assert(mme_ue, return, "Null param");
d_assert(noti, return, "Null param");
d_trace(3, "[MME] Downlink Data Notification : MME[%d] <-- SGW[%d]\n",
d_trace(3, "[MME] Downlink Data Notification\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
/* Build Downlink data notification ack */
@ -573,14 +579,13 @@ void mme_s11_handle_create_indirect_data_forwarding_tunnel_response(
source_ue = mme_ue->enb_ue;
d_assert(source_ue, return, "Null param");
d_trace(3, "[MME] Create Indirect Data Forwarding Tunnel Response\n");
if (rsp->cause.presence == 0)
{
d_error("No Cause");
return;
}
d_trace(3, "[MME] Create Indirect Data Forwarding Tunnel Response : "
"MME[%d] <-- SGW[%d]\n",
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
rv = gtp_xact_commit(xact);
@ -637,14 +642,13 @@ void mme_s11_handle_delete_indirect_data_forwarding_tunnel_response(
d_assert(mme_ue, return, "Null param");
d_assert(rsp, return, "Null param");
d_trace(3, "[MME] Delete Indirect Data Forwarding Tunnel Response\n");
if (rsp->cause.presence == 0)
{
d_error("No Cause");
return;
}
d_trace(3, "[MME] Delete Indirect Data Forwarding Tunnel Response : "
"MME[%d] <-- SGW[%d]\n",
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
mme_ue->mme_s11_teid, mme_ue->sgw_s11_teid);
rv = gtp_xact_commit(xact);

View File

@ -214,7 +214,7 @@ static int pcrf_gx_ccr_cb( struct msg **msg, struct avp *avp,
c_uint32_t cc_request_number = 0;
c_uint32_t result_code = FD_DIAMETER_MISSING_AVP;
d_trace(3, "[PCRF] Credit-Control-Request : PGW --> PCRF\n");
d_trace(3, "[PCRF] Credit-Control-Request\n");
d_assert(msg, return EINVAL,);
@ -600,6 +600,8 @@ static int pcrf_gx_ccr_cb( struct msg **msg, struct avp *avp,
ret = fd_msg_send(msg, NULL, NULL);
d_assert(ret == 0,,);
d_trace(3, "[PCRF] Credit-Control-Answer\n");
/* Add this value to the stats */
d_assert(pthread_mutex_lock(&fd_logger_self()->stats_lock) == 0,,);
fd_logger_self()->stats.nb_echoed++;
@ -677,7 +679,7 @@ status_t pcrf_gx_send_rar(
d_assert(rx_sid, return CORE_ERROR,);
d_assert(rx_message, return CORE_ERROR,);
d_trace(3, "[PCRF] Re-Auth-Request : PCRF -> PGW\n");
d_trace(3, "[PCRF] Re-Auth-Request\n");
/* Initialize Message */
memset(&gx_message, 0, sizeof(gx_message_t));
@ -1041,7 +1043,7 @@ static void pcrf_gx_raa_cb(void *data, struct msg **msg)
c_uint32_t result_code;
d_trace(3, "[PCRF] Re-Auth-Answer : PGW --> PCRF\n");
d_trace(3, "[PCRF] Re-Auth-Answer\n");
ret = clock_gettime(CLOCK_REALTIME, &ts);
d_assert(ret == 0, return,);

View File

@ -93,7 +93,7 @@ static int pcrf_rx_aar_cb( struct msg **msg, struct avp *avp,
os0_t gx_sid = NULL;
c_uint32_t result_code = RX_DIAMETER_IP_CAN_SESSION_NOT_AVAILABLE;
d_trace(3, "[PCRF] AA-Request : PCRF <-- P-CSCF\n");
d_trace(3, "[PCRF] AA-Request\n");
d_assert(msg, return EINVAL,);
d_assert(sess, return EINVAL,);
@ -394,6 +394,8 @@ static int pcrf_rx_aar_cb( struct msg **msg, struct avp *avp,
ret = fd_msg_send(msg, NULL, NULL);
d_assert(ret == 0,,);
d_trace(3, "[PCRF] AA-Answer\n");
/* Add this value to the stats */
d_assert(pthread_mutex_lock(&fd_logger_self()->stats_lock) == 0,,);
fd_logger_self()->stats.nb_echoed++;
@ -451,7 +453,7 @@ status_t pcrf_rx_send_asr(c_uint8_t *rx_sid, c_uint32_t abort_cause)
d_assert(rx_sid, return CORE_ERROR,);
d_trace(3, "[PCRF] Abort-Session-Request : PCRF --> P-CSCF\n");
d_trace(3, "[PCRF] Abort-Session-Request\n");
/* Create the request */
ret = fd_msg_new(rx_cmd_asr, MSGFL_ALLOC_ETEID, &req);
@ -557,7 +559,7 @@ static void pcrf_rx_asa_cb(void *data, struct msg **msg)
int new;
c_int32_t result_code = 0;
d_trace(3, "[PCRF] Abort-Session-Answer : PCRF <-- P-CSCF\n");
d_trace(3, "[PCRF] Abort-Session-Answer\n");
/* Search the session, retrieve its data */
ret = fd_msg_sess_get(fd_g_config->cnf_dict, *msg, &session, &new);
@ -654,7 +656,7 @@ static int pcrf_rx_str_cb( struct msg **msg, struct avp *avp,
c_uint32_t result_code = RX_DIAMETER_IP_CAN_SESSION_NOT_AVAILABLE;
d_trace(3, "[PCRF] Session-Termination-Request : PCRF <-- P-CSCF\n");
d_trace(3, "[PCRF] Session-Termination-Request\n");
d_assert(msg, return EINVAL,);
d_assert(sess, return EINVAL,);
@ -736,6 +738,8 @@ static int pcrf_rx_str_cb( struct msg **msg, struct avp *avp,
ret = fd_msg_send(msg, NULL, NULL);
d_assert(ret == 0,,);
d_trace(3, "[PCRF] Session-Termination-Answer\n");
/* Add this value to the stats */
d_assert(pthread_mutex_lock(&fd_logger_self()->stats_lock) == 0,,);
fd_logger_self()->stats.nb_echoed++;
@ -774,6 +778,7 @@ out:
ret = fd_msg_send(msg, NULL, NULL);
d_assert(ret == 0,,);
d_trace(3, "[PCRF] Session-Termination-Answer\n");
state_cleanup(sess_data, NULL, NULL);
rx_message_free(&rx_message);

View File

@ -79,6 +79,8 @@ void pgw_gx_send_ccr(pgw_sess_t *sess, gtp_xact_t *xact,
message = gtpbuf->payload;
d_assert(message, return, );
d_trace(3, "[PGW] Credit-Control-Request\n");
/* Create the request */
ret = fd_msg_new(gx_cmd_ccr, MSGFL_ALLOC_ETEID, &req);
d_assert(ret == 0, return,);
@ -433,9 +435,6 @@ void pgw_gx_send_ccr(pgw_sess_t *sess, gtp_xact_t *xact,
d_assert(pthread_mutex_lock(&fd_logger_self()->stats_lock) == 0,,);
fd_logger_self()->stats.nb_sent++;
d_assert(pthread_mutex_unlock(&fd_logger_self()->stats_lock) == 0,,);
d_trace(3, "[Gx] Credit-Control-Request : PGW[%d] --> PCRF\n",
sess->pgw_s5c_teid);
}
static void pgw_gx_cca_cb(void *data, struct msg **msg)
@ -458,6 +457,8 @@ static void pgw_gx_cca_cb(void *data, struct msg **msg)
pkbuf_t *gxbuf = NULL, *gtpbuf = NULL;
gx_message_t *gx_message = NULL;
c_uint16_t gxbuf_len = 0;
d_trace(3, "[PGW] Credit-Control-Answer\n");
ret = clock_gettime(CLOCK_REALTIME, &ts);
d_assert(ret == 0, return,);
@ -485,8 +486,6 @@ static void pgw_gx_cca_cb(void *data, struct msg **msg)
gx_message = gxbuf->payload;
d_assert(gx_message, return, "Null param");
d_trace(3, "[Gx] Credit-Control-Answer : PGW <-- PCRF\n");
/* Set Credit Control Command */
memset(gx_message, 0, gxbuf_len);
gx_message->cmd_code = GX_CMD_CODE_CREDIT_CONTROL;
@ -820,6 +819,8 @@ static int pgw_gx_rar_cb( struct msg **msg, struct avp *avp,
d_assert(msg, return EINVAL,);
d_trace(3, "[PGW] Re-Auth-Request\n");
gxbuf_len = sizeof(gx_message_t);
d_assert(gxbuf_len < 8192, return EINVAL,
"Not supported size:%d", gxbuf_len);
@ -828,8 +829,6 @@ static int pgw_gx_rar_cb( struct msg **msg, struct avp *avp,
gx_message = gxbuf->payload;
d_assert(gx_message, return EINVAL, "Null param");
d_trace(3, "[Gx] Re-Auth-Request : PGW <-- PCRF\n");
/* Set Credit Control Command */
memset(gx_message, 0, gxbuf_len);
gx_message->cmd_code = GX_CMD_RE_AUTH;
@ -974,6 +973,8 @@ static int pgw_gx_rar_cb( struct msg **msg, struct avp *avp,
ret = fd_msg_send(msg, NULL, NULL);
d_assert(ret == 0,,);
d_trace(3, "[PGW] Re-Auth-Answer\n");
/* Add this value to the stats */
d_assert(pthread_mutex_lock(&fd_logger_self()->stats_lock) == 0,,);
fd_logger_self()->stats.nb_echoed++;

View File

@ -33,6 +33,10 @@ status_t pgw_s5c_build_create_session_response(
d_assert(sess, return CORE_ERROR, "Null param");
d_assert(req, return CORE_ERROR, "Null param");
d_trace(3, "[PGW] Create Session Response\n");
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
bearer = pgw_default_bearer_in_sess(sess);
d_assert(bearer, return CORE_ERROR, "Null param");
@ -132,6 +136,10 @@ status_t pgw_s5c_build_delete_session_response(
d_assert(gx_message, return CORE_ERROR, "Null param");
d_assert(req, return CORE_ERROR, "Null param");
d_trace(3, "[PGW] Delete Session Response\n");
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
/* prepare cause */
memset(&cause, 0, sizeof(cause));
cause.value = GTP_CAUSE_REQUEST_ACCEPTED;
@ -304,6 +312,10 @@ status_t pgw_s5c_build_create_bearer_request(
linked_bearer = pgw_default_bearer_in_sess(sess);
d_assert(linked_bearer, return CORE_ERROR, "Null param");
d_trace(3, "[PGW] Create Bearer Request\n");
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
req = &gtp_message.create_bearer_request;
memset(&gtp_message, 0, sizeof(gtp_message_t));
@ -379,6 +391,9 @@ status_t pgw_s5c_build_update_bearer_request(
linked_bearer = pgw_default_bearer_in_sess(sess);
d_assert(linked_bearer, return CORE_ERROR, "Null param");
d_trace(3, "[PGW] Update Bearer Request\n");
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
req = &gtp_message.update_bearer_request;
memset(&gtp_message, 0, sizeof(gtp_message_t));
@ -439,6 +454,9 @@ status_t pgw_s5c_build_delete_bearer_request(
linked_bearer = pgw_default_bearer_in_sess(sess);
d_assert(linked_bearer, return CORE_ERROR, "Null param");
d_trace(3, "[PGW] Delete Bearer Request\n");
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
req = &gtp_message.delete_bearer_request;
memset(&gtp_message, 0, sizeof(gtp_message_t));

View File

@ -31,6 +31,7 @@ void pgw_s5c_handle_create_session_request(
bearer = pgw_default_bearer_in_sess(sess);
d_assert(bearer, return, "Null param");
d_trace(3, "[PGW] Create Session Reqeust\n");
if (req->imsi.presence == 0)
{
d_error("No IMSI");
@ -72,6 +73,9 @@ void pgw_s5c_handle_create_session_request(
d_assert(sgw_s5c_teid, return, "Null param");
sess->sgw_s5c_teid = ntohl(sgw_s5c_teid->teid);
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
/* Control Plane(DL) : SGW-S5U */
sgw_s5u_teid = req->bearer_contexts_to_be_created.s5_s8_u_sgw_f_teid.data;
d_assert(sgw_s5u_teid, return, "Null param");
@ -118,14 +122,16 @@ void pgw_s5c_handle_create_session_request(
sess->tai.tac = uli.tai.tac;
memcpy(&sess->e_cgi.plmn_id, &uli.e_cgi.plmn_id, sizeof(uli.e_cgi.plmn_id));
sess->e_cgi.cell_id = uli.e_cgi.cell_id;
d_trace(3, "[PGW] Create Session Reqeust : SGW[0x%x] --> PGW[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
}
void pgw_s5c_handle_delete_session_request(
pgw_sess_t *sess, gtp_xact_t *xact, gtp_delete_session_request_t *req)
{
d_assert(sess, return, "Null param");
d_trace(3, "[PGW] Delete Session Request\n");
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
}
void pgw_s5c_handle_create_bearer_response(
@ -140,6 +146,9 @@ void pgw_s5c_handle_create_bearer_response(
d_assert(sess, return, "Null param");
d_assert(req, return, "Null param");
d_trace(3, "[PGW] Create Bearer Response\n");
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
if (req->bearer_contexts.presence == 0)
{
d_error("No Bearer");
@ -207,6 +216,9 @@ void pgw_s5c_handle_update_bearer_response(
d_assert(sess, return, "Null param");
d_assert(req, return, "Null param");
d_trace(3, "[PGW] Update Bearer Request\n");
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
if (req->bearer_contexts.presence == 0)
{
d_error("No Bearer");
@ -235,6 +247,9 @@ void pgw_s5c_handle_delete_bearer_response(
d_assert(sess, return, "Null param");
d_assert(req, return, "Null param");
d_trace(3, "[PGW] Delete Bearer Request\n");
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
if (req->bearer_contexts.presence == 0)
{
d_error("No Bearer");

View File

@ -38,6 +38,7 @@ void sgw_s11_handle_create_session_request(
req = &gtp_message->create_session_request;
d_trace(3, "[SGW] Create Session Reqeust\n");
if (req->bearer_contexts_to_be_created.presence == 0)
{
d_error("No Bearer");
@ -106,6 +107,11 @@ void sgw_s11_handle_create_session_request(
req->sender_f_teid_for_control_plane.data = &sgw_s5c_teid;
req->sender_f_teid_for_control_plane.len = len;
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
pgw_s5c_teid = req->pgw_s5_s8_address_for_control_plane_or_pmip.data;
d_assert(pgw_s5c_teid, return, "Null param");
@ -160,9 +166,6 @@ void sgw_s11_handle_create_session_request(
rv = gtp_xact_commit(s5c_xact);
d_assert(rv == CORE_OK, return, "xact_commit error");
d_trace(3, "[SGW] Create Session Reqeust : SGW[0x%x] --> PGW[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
}
CORE_DECLARE(void) sgw_s11_handle_modify_bearer_request(gtp_xact_t *s11_xact,
@ -185,6 +188,9 @@ CORE_DECLARE(void) sgw_s11_handle_modify_bearer_request(gtp_xact_t *s11_xact,
d_assert(sgw_ue, return, "Null param");
d_assert(req, return, "Null param");
d_trace(3, "[SGW] Modify Bearer Reqeust\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
if (req->bearer_contexts_to_be_modified.presence == 0)
{
d_error("No Bearer");
@ -272,9 +278,6 @@ CORE_DECLARE(void) sgw_s11_handle_modify_bearer_request(gtp_xact_t *s11_xact,
rv = gtp_xact_commit(s11_xact);
d_assert(rv == CORE_OK, return, "xact_commit error");
d_trace(3, "[SGW] Modify Bearer Reqeust : MME[%d] --> SGW[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
}
void sgw_s11_handle_delete_session_request(gtp_xact_t *s11_xact,
@ -293,6 +296,7 @@ void sgw_s11_handle_delete_session_request(gtp_xact_t *s11_xact,
req = &gtp_message->delete_session_request;
d_assert(req, return, "Null param");
d_trace(3, "[SGW] Delete Session Reqeust\n");
if (req->linked_eps_bearer_id.presence == 0)
{
d_error("No EPS Bearer ID");
@ -301,6 +305,10 @@ void sgw_s11_handle_delete_session_request(gtp_xact_t *s11_xact,
sess = sgw_sess_find_by_ebi(sgw_ue, req->linked_eps_bearer_id.u8);
d_assert(sess, return, "Null param");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
gtp_message->h.type = GTP_DELETE_SESSION_REQUEST_TYPE;
gtp_message->h.teid = sess->pgw_s5c_teid;
@ -315,9 +323,6 @@ void sgw_s11_handle_delete_session_request(gtp_xact_t *s11_xact,
rv = gtp_xact_commit(s5c_xact);
d_assert(rv == CORE_OK, return, "xact_commit error");
d_trace(3, "[SGW] Delete Session Reqeust : SGW[0x%x] --> PGW[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
}
void sgw_s11_handle_create_bearer_response(gtp_xact_t *s11_xact,
@ -344,6 +349,7 @@ void sgw_s11_handle_create_bearer_response(gtp_xact_t *s11_xact,
s5c_xact = s11_xact->assoc_xact;
d_assert(s5c_xact, return, "Null param");
d_trace(3, "[SGW] Cerate Bearer Reqeust\n");
req = &gtp_message->create_bearer_response;
d_assert(req, return, "Null param");
@ -388,6 +394,11 @@ void sgw_s11_handle_create_bearer_response(gtp_xact_t *s11_xact,
sess = bearer->sess;
d_assert(sess, return, "Null param");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
/* Set EBI */
bearer->ebi = req->bearer_contexts.eps_bearer_id.u8;
@ -454,9 +465,6 @@ void sgw_s11_handle_create_bearer_response(gtp_xact_t *s11_xact,
rv = gtp_xact_commit(s5c_xact);
d_assert(rv == CORE_OK, return, "xact_commit error");
d_trace(3, "[SGW] Create Bearer Response : SGW[0x%x] --> PGW[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
}
void sgw_s11_handle_update_bearer_response(gtp_xact_t *s11_xact,
@ -478,6 +486,7 @@ void sgw_s11_handle_update_bearer_response(gtp_xact_t *s11_xact,
req = &gtp_message->update_bearer_response;
d_assert(req, return, "Null param");
d_trace(3, "[SGW] Update Bearer Reqeust\n");
if (req->bearer_contexts.presence == 0)
{
d_error("No Bearer");
@ -496,6 +505,11 @@ void sgw_s11_handle_update_bearer_response(gtp_xact_t *s11_xact,
sess = bearer->sess;
d_assert(sess, return, "Null param");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
gtp_message->h.type = GTP_UPDATE_BEARER_RESPONSE_TYPE;
gtp_message->h.teid = sess->pgw_s5c_teid;
@ -507,9 +521,6 @@ void sgw_s11_handle_update_bearer_response(gtp_xact_t *s11_xact,
rv = gtp_xact_commit(s5c_xact);
d_assert(rv == CORE_OK, return, "xact_commit error");
d_trace(3, "[SGW] Update Bearer Response : SGW[0x%x] --> PGW[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
}
void sgw_s11_handle_delete_bearer_response(gtp_xact_t *s11_xact,
@ -531,6 +542,7 @@ void sgw_s11_handle_delete_bearer_response(gtp_xact_t *s11_xact,
req = &gtp_message->delete_bearer_response;
d_assert(req, return, "Null param");
d_trace(3, "[SGW] Delete Bearer Response\n");
if (req->bearer_contexts.presence == 0)
{
d_error("No Bearer");
@ -549,6 +561,11 @@ void sgw_s11_handle_delete_bearer_response(gtp_xact_t *s11_xact,
sess = bearer->sess;
d_assert(sess, return, "Null param");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
gtp_message->h.type = GTP_DELETE_BEARER_RESPONSE_TYPE;
gtp_message->h.teid = sess->pgw_s5c_teid;
@ -561,9 +578,6 @@ void sgw_s11_handle_delete_bearer_response(gtp_xact_t *s11_xact,
rv = gtp_xact_commit(s5c_xact);
d_assert(rv == CORE_OK, return, "xact_commit error");
d_trace(3, "[SGW] Delete Bearer Response : SGW[0x%x] --> PGW[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
sgw_bearer_remove(bearer);
}
@ -584,6 +598,9 @@ void sgw_s11_handle_release_access_bearers_request(gtp_xact_t *s11_xact,
d_assert(s11_xact, return, "Null param");
d_assert(req, return, "Null param");
d_trace(3, "[SGW] Release Access Bearers Request\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
/* Set UE state to S1UE_INACTIVE */
SGW_SET_UE_STATE(sgw_ue, SGW_S1U_INACTIVE);
/* ReSet UE state to S1UE_INACTIVE */
@ -630,9 +647,6 @@ void sgw_s11_handle_release_access_bearers_request(gtp_xact_t *s11_xact,
rv = gtp_xact_commit(s11_xact);
d_assert(rv == CORE_OK, return, "xact_commit error");
d_trace(3, "[SGW] Release Access Bearers Reqeust : MME[%d] --> SGW[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
}
void sgw_s11_handle_lo_dldata_notification(sgw_bearer_t *bearer)
@ -651,6 +665,10 @@ void sgw_s11_handle_lo_dldata_notification(sgw_bearer_t *bearer)
sgw_ue = bearer->sgw_ue;
d_assert(sgw_ue, return, "Null param");
d_trace(3, "[SGW] Downlink Data Notification\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
/* Build downlink notification message */
noti = &gtp_message.downlink_data_notification;
memset(&gtp_message, 0, sizeof(gtp_message_t));
@ -674,16 +692,15 @@ void sgw_s11_handle_lo_dldata_notification(sgw_bearer_t *bearer)
rv = gtp_xact_commit(xact);
d_assert(rv == CORE_OK, return, "xact_commit error");
d_trace(3, "[SGW] Downlink Data Notification : SGW[%d] --> MME[%d]\n",
sgw_ue->sgw_s11_teid, sgw_ue->mme_s11_teid);
}
void sgw_s11_handle_downlink_data_notification_ack(sgw_ue_t *sgw_ue,
gtp_downlink_data_notification_acknowledge_t *ack)
{
d_trace(3, "[SGW] Downlink Data Notification Ack: MME[%d] --> SGW[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
d_assert(sgw_ue, return, "Null param");
d_trace(3, "[SGW] Downlink Data Notification Acknowledge\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
}
void sgw_s11_handle_create_indirect_data_forwarding_tunnel_request(
@ -712,6 +729,10 @@ void sgw_s11_handle_create_indirect_data_forwarding_tunnel_request(
d_assert(s11_xact, return, "Null param");
d_assert(req, return, "Null param");
d_trace(3, "[SGW] Create Indirect Data Forwarding Tunnel Request\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
rsp = &gtp_message.create_indirect_data_forwarding_tunnel_response;
memset(&gtp_message, 0, sizeof(gtp_message_t));
@ -833,9 +854,6 @@ void sgw_s11_handle_create_indirect_data_forwarding_tunnel_request(
rv = gtp_xact_commit(s11_xact);
d_assert(rv == CORE_OK, return, "xact_commit error");
d_trace(3, "[SGW] Create Indirect Data Forwarding Tunnel Response : "
"MME[%d] --> SGW[%d]\n", sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
}
void sgw_s11_handle_delete_indirect_data_forwarding_tunnel_request(
@ -855,6 +873,10 @@ void sgw_s11_handle_delete_indirect_data_forwarding_tunnel_request(
d_assert(sgw_ue, return, "Null param");
d_assert(s11_xact, return, "Null param");
d_trace(3, "[SGW] Delete Indirect Data Forwarding Tunnel Request\n");
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
/* Delete Indirect Tunnel */
sess = sgw_sess_first(sgw_ue);
while (sess)
@ -905,7 +927,4 @@ void sgw_s11_handle_delete_indirect_data_forwarding_tunnel_request(
rv = gtp_xact_commit(s11_xact);
d_assert(rv == CORE_OK, return, "xact_commit error");
d_trace(3, "[SGW] Delete Indirect Data Forwarding Tunnel Response : "
"MME[%d] --> SGW[%d]\n", sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
}

View File

@ -40,6 +40,7 @@ void sgw_s5c_handle_create_session_response(gtp_xact_t *s5c_xact,
d_assert(s11_xact, return, "Null param");
d_assert(gtp_message, return, "Null param");
d_trace(3, "[SGW] Create Session Response\n");
rsp = &gtp_message->create_session_response;
if (rsp->pgw_s5_s8__s2a_s2b_f_teid_for_pmip_based_interface_or_for_gtp_based_control_plane_interface.
@ -79,6 +80,11 @@ void sgw_s5c_handle_create_session_response(gtp_xact_t *s5c_xact,
sess->pgw_s5c_teid = ntohl(pgw_s5c_teid->teid);
rsp->pgw_s5_s8__s2a_s2b_f_teid_for_pmip_based_interface_or_for_gtp_based_control_plane_interface.
presence = 0;
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
/* Receive Data Plane(UL) : PGW-S5U */
pgw_s5u_teid = rsp->bearer_contexts_created.s5_s8_u_sgw_f_teid.data;
@ -139,9 +145,6 @@ void sgw_s5c_handle_create_session_response(gtp_xact_t *s5c_xact,
rv = gtp_xact_commit(s11_xact);
d_assert(rv == CORE_OK, return, "xact_commit error");
d_trace(3, "[SGW] Create Session Response : SGW[0x%x] <-- PGW[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
}
void sgw_s5c_handle_delete_session_response(gtp_xact_t *s5c_xact,
@ -176,8 +179,12 @@ void sgw_s5c_handle_delete_session_response(gtp_xact_t *s5c_xact,
/* Remove a pgw session */
if (sess)
{
d_trace(3, "[SGW] Delete Session Response : SGW[0x%x] --> PGW[0x%x]\n",
d_trace(3, "[SGW] Delete Session Response\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
/* backup sgw_s5c_teid in session context */
mme_s11_teid = sgw_ue->mme_s11_teid;
@ -233,6 +240,12 @@ void sgw_s5c_handle_create_bearer_request(gtp_xact_t *s5c_xact,
req = &gtp_message->create_bearer_request;
d_trace(3, "[SGW] Create Bearer Request\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
if (req->linked_eps_bearer_id.presence == 0)
{
d_error("No Linked EBI");
@ -308,9 +321,6 @@ void sgw_s5c_handle_create_bearer_request(gtp_xact_t *s5c_xact,
rv = gtp_xact_commit(s11_xact);
d_assert(rv == CORE_OK, return, "xact_commit error");
d_trace(3, "[SGW] Create Bearer Request : SGW[%d] <-- PGW[%d]\n",
s5u_tunnel->local_teid, s5u_tunnel->remote_teid);
}
void sgw_s5c_handle_update_bearer_request(gtp_xact_t *s5c_xact,
@ -328,6 +338,13 @@ void sgw_s5c_handle_update_bearer_request(gtp_xact_t *s5c_xact,
d_assert(s5c_xact, return, "Null param");
d_assert(gtp_message, return, "Null param");
d_trace(3, "[SGW] Update Bearer Request\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
req = &gtp_message->update_bearer_request;
if (req->bearer_contexts.presence == 0)
@ -375,6 +392,12 @@ void sgw_s5c_handle_delete_bearer_request(gtp_xact_t *s5c_xact,
req = &gtp_message->delete_bearer_request;
d_trace(3, "[SGW] Delete Bearer Request\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
d_trace(3, " MME_S11_TEID[%d] SGW_S11_TEID[%d]\n",
sgw_ue->mme_s11_teid, sgw_ue->sgw_s11_teid);
d_trace(3, " SGW_S5C_TEID[0x%x] PGW_S5C_TEID[0x%x]\n",
sess->sgw_s5c_teid, sess->pgw_s5c_teid);
if (req->linked_eps_bearer_id.presence == 0 &&
req->eps_bearer_ids.presence == 0)
{

View File

@ -4,7 +4,7 @@ logger:
trace:
s1ap: 1
nas: 1
diameter: 1
diameter: 3
gtp: 1
others: 1