add NAS trace message

This commit is contained in:
Sukchan Lee 2017-08-01 11:34:15 +09:00
parent 7646eb7e93
commit 91f1d9adc5
9 changed files with 771 additions and 37 deletions

View File

@ -26,11 +26,11 @@
/*******************************************************************************
* This file had been created by gtpv2c_tlv.py script v0.1.0
* Please do not modify this file but regenerate it via script.
* Created on: 2017-04-26 16:05:18.070520 by acetcom
* Created on: 2017-08-01 11:30:40.156868 by acetcom
* from 24301-d80.docx
******************************************************************************/
#define TRACE_MODULE _nasdec
#define TRACE_MODULE _nas_decoder
#include "core_debug.h"
#include "nas_message.h"
@ -41,6 +41,8 @@ c_int32_t nas_decode_attach_request(nas_message_t *message, pkbuf_t *pkbuf)
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode ATTACH_REQUEST\n");
size = nas_decode_eps_attach_type(&attach_request->eps_attach_type, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -198,6 +200,8 @@ c_int32_t nas_decode_attach_accept(nas_message_t *message, pkbuf_t *pkbuf)
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode ATTACH_ACCEPT\n");
size = nas_decode_eps_attach_result(&attach_accept->eps_attach_result, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -319,6 +323,8 @@ c_int32_t nas_decode_attach_complete(nas_message_t *message, pkbuf_t *pkbuf)
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode ATTACH_COMPLETE\n");
size = nas_decode_esm_message_container(&attach_complete->esm_message_container, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -332,6 +338,8 @@ c_int32_t nas_decode_attach_reject(nas_message_t *message, pkbuf_t *pkbuf)
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode ATTACH_REJECT\n");
size = nas_decode_emm_cause(&attach_reject->emm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -387,6 +395,8 @@ c_int32_t nas_decode_detach_request_from_ue(nas_message_t *message, pkbuf_t *pkb
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode DETACH_REQUEST\n");
size = nas_decode_detach_type(&detach_request_from_ue->detach_type, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -404,6 +414,8 @@ c_int32_t nas_decode_detach_request_to_ue(nas_message_t *message, pkbuf_t *pkbuf
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode DETACH_REQUEST\n");
size = nas_decode_detach_type(&detach_request_to_ue->detach_type, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -441,6 +453,8 @@ c_int32_t nas_decode_tracking_area_update_request(nas_message_t *message, pkbuf_
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode TRACKING_AREA_UPDATE_REQUEST\n");
size = nas_decode_eps_update_type(&tracking_area_update_request->eps_update_type, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -626,6 +640,8 @@ c_int32_t nas_decode_tracking_area_update_accept(nas_message_t *message, pkbuf_t
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode TRACKING_AREA_UPDATE_ACCEPT\n");
size = nas_decode_eps_update_result(&tracking_area_update_accept->eps_update_result, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -759,6 +775,8 @@ c_int32_t nas_decode_tracking_area_update_reject(nas_message_t *message, pkbuf_t
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode TRACKING_AREA_UPDATE_REJECT\n");
size = nas_decode_emm_cause(&tracking_area_update_reject->emm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -802,6 +820,8 @@ c_int32_t nas_decode_extended_service_request(nas_message_t *message, pkbuf_t *p
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode EXTENDED_SERVICE_REQUEST\n");
size = nas_decode_service_type(&extended_service_request->service_type, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -855,6 +875,8 @@ c_int32_t nas_decode_service_request(nas_message_t *message, pkbuf_t *pkbuf)
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode SERVICE_REQUEST\n");
size = nas_decode_ksi_and_sequence_number(&service_request->ksi_and_sequence_number, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -872,6 +894,8 @@ c_int32_t nas_decode_service_reject(nas_message_t *message, pkbuf_t *pkbuf)
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode SERVICE_REJECT\n");
size = nas_decode_emm_cause(&service_reject->emm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -909,6 +933,8 @@ c_int32_t nas_decode_guti_reallocation_command(nas_message_t *message, pkbuf_t *
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode GUTI_REALLOCATION_COMMAND\n");
size = nas_decode_eps_mobile_identity(&guti_reallocation_command->guti, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -946,6 +972,8 @@ c_int32_t nas_decode_authentication_request(nas_message_t *message, pkbuf_t *pkb
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode AUTHENTICATION_REQUEST\n");
size = nas_decode_key_set_identifier(&authentication_request->nas_key_set_identifierasme, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -967,6 +995,8 @@ c_int32_t nas_decode_authentication_response(nas_message_t *message, pkbuf_t *pk
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode AUTHENTICATION_RESPONSE\n");
size = nas_decode_authentication_response_parameter(&authentication_response->authentication_response_parameter, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -980,6 +1010,8 @@ c_int32_t nas_decode_identity_request(nas_message_t *message, pkbuf_t *pkbuf)
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode IDENTITY_REQUEST\n");
size = nas_decode_identity_type_2(&identity_request->identity_type, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -993,6 +1025,8 @@ c_int32_t nas_decode_identity_response(nas_message_t *message, pkbuf_t *pkbuf)
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode IDENTITY_RESPONSE\n");
size = nas_decode_mobile_identity(&identity_response->mobile_identity, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1006,6 +1040,8 @@ c_int32_t nas_decode_authentication_failure(nas_message_t *message, pkbuf_t *pkb
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode AUTHENTICATION_FAILURE\n");
size = nas_decode_emm_cause(&authentication_failure->emm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1043,6 +1079,8 @@ c_int32_t nas_decode_security_mode_command(nas_message_t *message, pkbuf_t *pkbu
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode SECURITY_MODE_COMMAND\n");
size = nas_decode_security_algorithms(&security_mode_command->selected_nas_security_algorithms, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1100,6 +1138,8 @@ c_int32_t nas_decode_security_mode_complete(nas_message_t *message, pkbuf_t *pkb
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode SECURITY_MODE_COMPLETE\n");
while(pkbuf->len > 0)
{
c_uint8_t *buffer = pkbuf->payload;
@ -1133,6 +1173,8 @@ c_int32_t nas_decode_security_mode_reject(nas_message_t *message, pkbuf_t *pkbuf
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode SECURITY_MODE_REJECT\n");
size = nas_decode_emm_cause(&security_mode_reject->emm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1146,6 +1188,8 @@ c_int32_t nas_decode_emm_status(nas_message_t *message, pkbuf_t *pkbuf)
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode EMM_STATUS\n");
size = nas_decode_emm_cause(&emm_status->emm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1159,6 +1203,8 @@ c_int32_t nas_decode_emm_information(nas_message_t *message, pkbuf_t *pkbuf)
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode EMM_INFORMATION\n");
while(pkbuf->len > 0)
{
c_uint8_t *buffer = pkbuf->payload;
@ -1216,6 +1262,8 @@ c_int32_t nas_decode_downlink_nas_transport(nas_message_t *message, pkbuf_t *pkb
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode DOWNLINK_NAS_TRANSPORT\n");
size = nas_decode_message_container(&downlink_nas_transport->nas_message_container, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1229,6 +1277,8 @@ c_int32_t nas_decode_uplink_nas_transport(nas_message_t *message, pkbuf_t *pkbuf
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode UPLINK_NAS_TRANSPORT\n");
size = nas_decode_message_container(&uplink_nas_transport->nas_message_container, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1242,6 +1292,8 @@ c_int32_t nas_decode_cs_service_notification(nas_message_t *message, pkbuf_t *pk
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode CS_SERVICE_NOTIFICATION\n");
size = nas_decode_paging_identity(&cs_service_notification->paging_identity, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1297,6 +1349,8 @@ c_int32_t nas_decode_uplink_generic_nas_transport(nas_message_t *message, pkbuf_
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode UPLINK_GENERIC_NAS_TRANSPORT\n");
size = nas_decode_generic_message_container_type(&uplink_generic_nas_transport->generic_message_container_type, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1338,6 +1392,8 @@ c_int32_t nas_decode_downlink_generic_nas_transport(nas_message_t *message, pkbu
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode DOWNLINK_GENERIC_NAS_TRANSPORT\n");
size = nas_decode_generic_message_container_type(&downlink_generic_nas_transport->generic_message_container_type, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1379,6 +1435,8 @@ c_int32_t nas_decode_activate_default_eps_bearer_context_request(nas_message_t *
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST\n");
size = nas_decode_eps_quality_of_service(&activate_default_eps_bearer_context_request->eps_qos, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1508,6 +1566,8 @@ c_int32_t nas_decode_activate_default_eps_bearer_context_accept(nas_message_t *m
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT\n");
while(pkbuf->len > 0)
{
c_uint8_t *buffer = pkbuf->payload;
@ -1547,6 +1607,8 @@ c_int32_t nas_decode_activate_default_eps_bearer_context_reject(nas_message_t *m
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REJECT\n");
size = nas_decode_esm_cause(&activate_default_eps_bearer_context_reject->esm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1590,6 +1652,8 @@ c_int32_t nas_decode_activate_dedicated_eps_bearer_context_request(nas_message_t
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REQUEST\n");
size = nas_decode_linked_eps_bearer_identity(&activate_dedicated_eps_bearer_context_request->linked_eps_bearer_identity, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1683,6 +1747,8 @@ c_int32_t nas_decode_activate_dedicated_eps_bearer_context_accept(nas_message_t
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_ACCEPT\n");
while(pkbuf->len > 0)
{
c_uint8_t *buffer = pkbuf->payload;
@ -1728,6 +1794,8 @@ c_int32_t nas_decode_activate_dedicated_eps_bearer_context_reject(nas_message_t
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REJECT\n");
size = nas_decode_esm_cause(&activate_dedicated_eps_bearer_context_reject->esm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1777,6 +1845,8 @@ c_int32_t nas_decode_modify_eps_bearer_context_request(nas_message_t *message, p
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode MODIFY_EPS_BEARER_CONTEXT_REQUEST\n");
while(pkbuf->len > 0)
{
c_uint8_t *buffer = pkbuf->payload;
@ -1876,6 +1946,8 @@ c_int32_t nas_decode_modify_eps_bearer_context_accept(nas_message_t *message, pk
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode MODIFY_EPS_BEARER_CONTEXT_ACCEPT\n");
while(pkbuf->len > 0)
{
c_uint8_t *buffer = pkbuf->payload;
@ -1921,6 +1993,8 @@ c_int32_t nas_decode_modify_eps_bearer_context_reject(nas_message_t *message, pk
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode MODIFY_EPS_BEARER_CONTEXT_REJECT\n");
size = nas_decode_esm_cause(&modify_eps_bearer_context_reject->esm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -1970,6 +2044,8 @@ c_int32_t nas_decode_deactivate_eps_bearer_context_request(nas_message_t *messag
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode DEACTIVATE_EPS_BEARER_CONTEXT_REQUEST\n");
size = nas_decode_esm_cause(&deactivate_eps_bearer_context_request->esm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -2031,6 +2107,8 @@ c_int32_t nas_decode_deactivate_eps_bearer_context_accept(nas_message_t *message
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode DEACTIVATE_EPS_BEARER_CONTEXT_ACCEPT\n");
while(pkbuf->len > 0)
{
c_uint8_t *buffer = pkbuf->payload;
@ -2070,6 +2148,8 @@ c_int32_t nas_decode_pdn_connectivity_request(nas_message_t *message, pkbuf_t *p
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode PDN_CONNECTIVITY_REQUEST\n");
size = nas_decode_request_type(&pdn_connectivity_request->request_type, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -2143,6 +2223,8 @@ c_int32_t nas_decode_pdn_connectivity_reject(nas_message_t *message, pkbuf_t *pk
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode PDN_CONNECTIVITY_REJECT\n");
size = nas_decode_esm_cause(&pdn_connectivity_reject->esm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -2204,6 +2286,8 @@ c_int32_t nas_decode_pdn_disconnect_request(nas_message_t *message, pkbuf_t *pkb
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode PDN_DISCONNECT_REQUEST\n");
size = nas_decode_linked_eps_bearer_identity(&pdn_disconnect_request->linked_eps_bearer_identity, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -2247,6 +2331,8 @@ c_int32_t nas_decode_pdn_disconnect_reject(nas_message_t *message, pkbuf_t *pkbu
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode PDN_DISCONNECT_REJECT\n");
size = nas_decode_esm_cause(&pdn_disconnect_reject->esm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -2290,6 +2376,8 @@ c_int32_t nas_decode_bearer_resource_allocation_request(nas_message_t *message,
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode BEARER_RESOURCE_ALLOCATION_REQUEST\n");
size = nas_decode_linked_eps_bearer_identity(&bearer_resource_allocation_request->linked_eps_bearer_identity, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -2353,6 +2441,8 @@ c_int32_t nas_decode_bearer_resource_allocation_reject(nas_message_t *message, p
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode BEARER_RESOURCE_ALLOCATION_REJECT\n");
size = nas_decode_esm_cause(&bearer_resource_allocation_reject->esm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -2414,6 +2504,8 @@ c_int32_t nas_decode_bearer_resource_modification_request(nas_message_t *message
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode BEARER_RESOURCE_MODIFICATION_REQUEST\n");
size = nas_decode_linked_eps_bearer_identity(&bearer_resource_modification_request->eps_bearer_identity_for_packet_filter, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -2491,6 +2583,8 @@ c_int32_t nas_decode_bearer_resource_modification_reject(nas_message_t *message,
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode BEARER_RESOURCE_MODIFICATION_REJECT\n");
size = nas_decode_esm_cause(&bearer_resource_modification_reject->esm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;
@ -2552,6 +2646,8 @@ c_int32_t nas_decode_esm_information_response(nas_message_t *message, pkbuf_t *p
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode ESM_INFORMATION_RESPONSE\n");
while(pkbuf->len > 0)
{
c_uint8_t *buffer = pkbuf->payload;
@ -2597,6 +2693,8 @@ c_int32_t nas_decode_esm_status(nas_message_t *message, pkbuf_t *pkbuf)
c_int32_t decoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Decode ESM_STATUS\n");
size = nas_decode_esm_cause(&esm_status->esm_cause, pkbuf);
d_assert(size >= 0, return -1, "decode failed");
decoded += size;

View File

@ -26,11 +26,11 @@
/*******************************************************************************
* This file had been created by gtpv2c_tlv.py script v0.1.0
* Please do not modify this file but regenerate it via script.
* Created on: 2017-04-26 16:05:18.104109 by acetcom
* Created on: 2017-08-01 11:30:40.185472 by acetcom
* from 24301-d80.docx
******************************************************************************/
#define TRACE_MODULE _nasenc
#define TRACE_MODULE _nas_encoder
#include "core_debug.h"
#include "nas_message.h"
@ -41,6 +41,8 @@ c_int32_t nas_encode_attach_request(pkbuf_t *pkbuf, nas_message_t *message)
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode ATTACH_REQUEST\n");
size = nas_encode_eps_attach_type(pkbuf, &attach_request->eps_attach_type);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -265,6 +267,8 @@ c_int32_t nas_encode_attach_accept(pkbuf_t *pkbuf, nas_message_t *message)
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode ATTACH_ACCEPT\n");
size = nas_encode_eps_attach_result(pkbuf, &attach_accept->eps_attach_result);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -431,6 +435,8 @@ c_int32_t nas_encode_attach_complete(pkbuf_t *pkbuf, nas_message_t *message)
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode ATTACH_COMPLETE\n");
size = nas_encode_esm_message_container(pkbuf, &attach_complete->esm_message_container);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -444,6 +450,8 @@ c_int32_t nas_encode_attach_reject(pkbuf_t *pkbuf, nas_message_t *message)
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode ATTACH_REJECT\n");
size = nas_encode_emm_cause(pkbuf, &attach_reject->emm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -499,6 +507,8 @@ c_int32_t nas_encode_detach_request_from_ue(pkbuf_t *pkbuf, nas_message_t *messa
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode DETACH_REQUEST\n");
size = nas_encode_detach_type(pkbuf, &detach_request_from_ue->detach_type);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -516,6 +526,8 @@ c_int32_t nas_encode_detach_request_to_ue(pkbuf_t *pkbuf, nas_message_t *message
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode DETACH_REQUEST\n");
size = nas_encode_detach_type(pkbuf, &detach_request_to_ue->detach_type);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -540,6 +552,8 @@ c_int32_t nas_encode_tracking_area_update_request(pkbuf_t *pkbuf, nas_message_t
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode TRACKING_AREA_UPDATE_REQUEST\n");
size = nas_encode_eps_update_type(pkbuf, &tracking_area_update_request->eps_update_type);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -816,6 +830,8 @@ c_int32_t nas_encode_tracking_area_update_accept(pkbuf_t *pkbuf, nas_message_t *
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode TRACKING_AREA_UPDATE_ACCEPT\n");
size = nas_encode_eps_update_result(pkbuf, &tracking_area_update_accept->eps_update_result);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1014,6 +1030,8 @@ c_int32_t nas_encode_tracking_area_update_reject(pkbuf_t *pkbuf, nas_message_t *
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode TRACKING_AREA_UPDATE_REJECT\n");
size = nas_encode_emm_cause(pkbuf, &tracking_area_update_reject->emm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1047,6 +1065,8 @@ c_int32_t nas_encode_extended_service_request(pkbuf_t *pkbuf, nas_message_t *mes
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode EXTENDED_SERVICE_REQUEST\n");
size = nas_encode_service_type(pkbuf, &extended_service_request->service_type);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1093,6 +1113,8 @@ c_int32_t nas_encode_service_request(pkbuf_t *pkbuf, nas_message_t *message)
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode SERVICE_REQUEST\n");
size = nas_encode_ksi_and_sequence_number(pkbuf, &service_request->ksi_and_sequence_number);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1110,6 +1132,8 @@ c_int32_t nas_encode_service_reject(pkbuf_t *pkbuf, nas_message_t *message)
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode SERVICE_REJECT\n");
size = nas_encode_emm_cause(pkbuf, &service_reject->emm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1134,6 +1158,8 @@ c_int32_t nas_encode_guti_reallocation_command(pkbuf_t *pkbuf, nas_message_t *me
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode GUTI_REALLOCATION_COMMAND\n");
size = nas_encode_eps_mobile_identity(pkbuf, &guti_reallocation_command->guti);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1158,6 +1184,8 @@ c_int32_t nas_encode_authentication_request(pkbuf_t *pkbuf, nas_message_t *messa
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode AUTHENTICATION_REQUEST\n");
size = nas_encode_key_set_identifier(pkbuf, &authentication_request->nas_key_set_identifierasme);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1179,6 +1207,8 @@ c_int32_t nas_encode_authentication_response(pkbuf_t *pkbuf, nas_message_t *mess
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode AUTHENTICATION_RESPONSE\n");
size = nas_encode_authentication_response_parameter(pkbuf, &authentication_response->authentication_response_parameter);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1192,6 +1222,8 @@ c_int32_t nas_encode_identity_request(pkbuf_t *pkbuf, nas_message_t *message)
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode IDENTITY_REQUEST\n");
size = nas_encode_identity_type_2(pkbuf, &identity_request->identity_type);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1205,6 +1237,8 @@ c_int32_t nas_encode_identity_response(pkbuf_t *pkbuf, nas_message_t *message)
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode IDENTITY_RESPONSE\n");
size = nas_encode_mobile_identity(pkbuf, &identity_response->mobile_identity);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1218,6 +1252,8 @@ c_int32_t nas_encode_authentication_failure(pkbuf_t *pkbuf, nas_message_t *messa
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode AUTHENTICATION_FAILURE\n");
size = nas_encode_emm_cause(pkbuf, &authentication_failure->emm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1242,6 +1278,8 @@ c_int32_t nas_encode_security_mode_command(pkbuf_t *pkbuf, nas_message_t *messag
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode SECURITY_MODE_COMMAND\n");
size = nas_encode_security_algorithms(pkbuf, &security_mode_command->selected_nas_security_algorithms);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1294,6 +1332,8 @@ c_int32_t nas_encode_security_mode_complete(pkbuf_t *pkbuf, nas_message_t *messa
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode SECURITY_MODE_COMPLETE\n");
if (security_mode_complete->presencemask & NAS_SECURITY_MODE_COMPLETE_IMEISV_PRESENT)
{
size = nas_encode_optional_type(pkbuf, NAS_SECURITY_MODE_COMPLETE_IMEISV_TYPE);
@ -1314,6 +1354,8 @@ c_int32_t nas_encode_security_mode_reject(pkbuf_t *pkbuf, nas_message_t *message
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode SECURITY_MODE_REJECT\n");
size = nas_encode_emm_cause(pkbuf, &security_mode_reject->emm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1327,6 +1369,8 @@ c_int32_t nas_encode_emm_status(pkbuf_t *pkbuf, nas_message_t *message)
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode EMM_STATUS\n");
size = nas_encode_emm_cause(pkbuf, &emm_status->emm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1340,6 +1384,8 @@ c_int32_t nas_encode_emm_information(pkbuf_t *pkbuf, nas_message_t *message)
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode EMM_INFORMATION\n");
if (emm_information->presencemask & NAS_EMM_INFORMATION_FULL_NAME_FOR_NETWORK_PRESENT)
{
size = nas_encode_optional_type(pkbuf, NAS_EMM_INFORMATION_FULL_NAME_FOR_NETWORK_TYPE);
@ -1404,6 +1450,8 @@ c_int32_t nas_encode_downlink_nas_transport(pkbuf_t *pkbuf, nas_message_t *messa
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode DOWNLINK_NAS_TRANSPORT\n");
size = nas_encode_message_container(pkbuf, &downlink_nas_transport->nas_message_container);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1417,6 +1465,8 @@ c_int32_t nas_encode_uplink_nas_transport(pkbuf_t *pkbuf, nas_message_t *message
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode UPLINK_NAS_TRANSPORT\n");
size = nas_encode_message_container(pkbuf, &uplink_nas_transport->nas_message_container);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1430,6 +1480,8 @@ c_int32_t nas_encode_cs_service_notification(pkbuf_t *pkbuf, nas_message_t *mess
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode CS_SERVICE_NOTIFICATION\n");
size = nas_encode_paging_identity(pkbuf, &cs_service_notification->paging_identity);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1487,6 +1539,8 @@ c_int32_t nas_encode_uplink_generic_nas_transport(pkbuf_t *pkbuf, nas_message_t
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode UPLINK_GENERIC_NAS_TRANSPORT\n");
size = nas_encode_generic_message_container_type(pkbuf, &uplink_generic_nas_transport->generic_message_container_type);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1515,6 +1569,8 @@ c_int32_t nas_encode_downlink_generic_nas_transport(pkbuf_t *pkbuf, nas_message_
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode DOWNLINK_GENERIC_NAS_TRANSPORT\n");
size = nas_encode_generic_message_container_type(pkbuf, &downlink_generic_nas_transport->generic_message_container_type);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1543,6 +1599,8 @@ c_int32_t nas_encode_activate_default_eps_bearer_context_request(pkbuf_t *pkbuf,
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST\n");
size = nas_encode_eps_quality_of_service(pkbuf, &activate_default_eps_bearer_context_request->eps_qos);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1721,6 +1779,8 @@ c_int32_t nas_encode_activate_default_eps_bearer_context_accept(pkbuf_t *pkbuf,
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT\n");
if (activate_default_eps_bearer_context_accept->presencemask & NAS_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT)
{
size = nas_encode_optional_type(pkbuf, NAS_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT_PROTOCOL_CONFIGURATION_OPTIONS_TYPE);
@ -1752,6 +1812,8 @@ c_int32_t nas_encode_activate_default_eps_bearer_context_reject(pkbuf_t *pkbuf,
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REJECT\n");
size = nas_encode_esm_cause(pkbuf, &activate_default_eps_bearer_context_reject->esm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1787,6 +1849,8 @@ c_int32_t nas_encode_activate_dedicated_eps_bearer_context_request(pkbuf_t *pkbu
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REQUEST\n");
size = nas_encode_linked_eps_bearer_identity(pkbuf, &activate_dedicated_eps_bearer_context_request->linked_eps_bearer_identity);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1903,6 +1967,8 @@ c_int32_t nas_encode_activate_dedicated_eps_bearer_context_accept(pkbuf_t *pkbuf
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_ACCEPT\n");
if (activate_dedicated_eps_bearer_context_accept->presencemask & NAS_ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_ACCEPT_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT)
{
size = nas_encode_optional_type(pkbuf, NAS_ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_ACCEPT_PROTOCOL_CONFIGURATION_OPTIONS_TYPE);
@ -1945,6 +2011,8 @@ c_int32_t nas_encode_activate_dedicated_eps_bearer_context_reject(pkbuf_t *pkbuf
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REJECT\n");
size = nas_encode_esm_cause(pkbuf, &activate_dedicated_eps_bearer_context_reject->esm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -1991,6 +2059,8 @@ c_int32_t nas_encode_modify_eps_bearer_context_request(pkbuf_t *pkbuf, nas_messa
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode MODIFY_EPS_BEARER_CONTEXT_REQUEST\n");
if (modify_eps_bearer_context_request->presencemask & NAS_MODIFY_EPS_BEARER_CONTEXT_REQUEST_NEW_EPS_QOS_PRESENT)
{
size = nas_encode_optional_type(pkbuf, NAS_MODIFY_EPS_BEARER_CONTEXT_REQUEST_NEW_EPS_QOS_TYPE);
@ -2128,6 +2198,8 @@ c_int32_t nas_encode_modify_eps_bearer_context_accept(pkbuf_t *pkbuf, nas_messag
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode MODIFY_EPS_BEARER_CONTEXT_ACCEPT\n");
if (modify_eps_bearer_context_accept->presencemask & NAS_MODIFY_EPS_BEARER_CONTEXT_ACCEPT_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT)
{
size = nas_encode_optional_type(pkbuf, NAS_MODIFY_EPS_BEARER_CONTEXT_ACCEPT_PROTOCOL_CONFIGURATION_OPTIONS_TYPE);
@ -2170,6 +2242,8 @@ c_int32_t nas_encode_modify_eps_bearer_context_reject(pkbuf_t *pkbuf, nas_messag
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode MODIFY_EPS_BEARER_CONTEXT_REJECT\n");
size = nas_encode_esm_cause(pkbuf, &modify_eps_bearer_context_reject->esm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -2216,6 +2290,8 @@ c_int32_t nas_encode_deactivate_eps_bearer_context_request(pkbuf_t *pkbuf, nas_m
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode DEACTIVATE_EPS_BEARER_CONTEXT_REQUEST\n");
size = nas_encode_esm_cause(pkbuf, &deactivate_eps_bearer_context_request->esm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -2282,6 +2358,8 @@ c_int32_t nas_encode_deactivate_eps_bearer_context_accept(pkbuf_t *pkbuf, nas_me
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode DEACTIVATE_EPS_BEARER_CONTEXT_ACCEPT\n");
if (deactivate_eps_bearer_context_accept->presencemask & NAS_DEACTIVATE_EPS_BEARER_CONTEXT_ACCEPT_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT)
{
size = nas_encode_optional_type(pkbuf, NAS_DEACTIVATE_EPS_BEARER_CONTEXT_ACCEPT_PROTOCOL_CONFIGURATION_OPTIONS_TYPE);
@ -2313,6 +2391,8 @@ c_int32_t nas_encode_pdn_connectivity_request(pkbuf_t *pkbuf, nas_message_t *mes
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode PDN_CONNECTIVITY_REQUEST\n");
size = nas_encode_request_type(pkbuf, &pdn_connectivity_request->request_type);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -2399,6 +2479,8 @@ c_int32_t nas_encode_pdn_connectivity_reject(pkbuf_t *pkbuf, nas_message_t *mess
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode PDN_CONNECTIVITY_REJECT\n");
size = nas_encode_esm_cause(pkbuf, &pdn_connectivity_reject->esm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -2467,6 +2549,8 @@ c_int32_t nas_encode_pdn_disconnect_request(pkbuf_t *pkbuf, nas_message_t *messa
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode PDN_DISCONNECT_REQUEST\n");
size = nas_encode_linked_eps_bearer_identity(pkbuf, &pdn_disconnect_request->linked_eps_bearer_identity);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -2502,6 +2586,8 @@ c_int32_t nas_encode_pdn_disconnect_reject(pkbuf_t *pkbuf, nas_message_t *messag
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode PDN_DISCONNECT_REJECT\n");
size = nas_encode_esm_cause(pkbuf, &pdn_disconnect_reject->esm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -2537,6 +2623,8 @@ c_int32_t nas_encode_bearer_resource_allocation_request(pkbuf_t *pkbuf, nas_mess
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode BEARER_RESOURCE_ALLOCATION_REQUEST\n");
size = nas_encode_linked_eps_bearer_identity(pkbuf, &bearer_resource_allocation_request->linked_eps_bearer_identity);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -2600,6 +2688,8 @@ c_int32_t nas_encode_bearer_resource_allocation_reject(pkbuf_t *pkbuf, nas_messa
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode BEARER_RESOURCE_ALLOCATION_REJECT\n");
size = nas_encode_esm_cause(pkbuf, &bearer_resource_allocation_reject->esm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -2668,6 +2758,8 @@ c_int32_t nas_encode_bearer_resource_modification_request(pkbuf_t *pkbuf, nas_me
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode BEARER_RESOURCE_MODIFICATION_REQUEST\n");
size = nas_encode_linked_eps_bearer_identity(pkbuf, &bearer_resource_modification_request->eps_bearer_identity_for_packet_filter);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -2760,6 +2852,8 @@ c_int32_t nas_encode_bearer_resource_modification_reject(pkbuf_t *pkbuf, nas_mes
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode BEARER_RESOURCE_MODIFICATION_REJECT\n");
size = nas_encode_esm_cause(pkbuf, &bearer_resource_modification_reject->esm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;
@ -2828,6 +2922,8 @@ c_int32_t nas_encode_esm_information_response(pkbuf_t *pkbuf, nas_message_t *mes
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode ESM_INFORMATION_RESPONSE\n");
if (esm_information_response->presencemask & NAS_ESM_INFORMATION_RESPONSE_ACCESS_POINT_NAME_PRESENT)
{
size = nas_encode_optional_type(pkbuf, NAS_ESM_INFORMATION_RESPONSE_ACCESS_POINT_NAME_TYPE);
@ -2870,6 +2966,8 @@ c_int32_t nas_encode_esm_status(pkbuf_t *pkbuf, nas_message_t *message)
c_int32_t encoded = 0;
c_int32_t size = 0;
d_trace(3, "[NAS] Encode ESM_STATUS\n");
size = nas_encode_esm_cause(pkbuf, &esm_status->esm_cause);
d_assert(size >= 0, return -1, "encode failed");
encoded += size;

File diff suppressed because it is too large Load Diff

View File

@ -26,7 +26,7 @@
/*******************************************************************************
* This file had been created by gtpv2c_tlv.py script v0.1.0
* Please do not modify this file but regenerate it via script.
* Created on: 2017-04-26 16:05:18.026166 by acetcom
* Created on: 2017-08-01 11:30:40.109131 by acetcom
* from 24301-d80.docx
******************************************************************************/

View File

@ -26,7 +26,7 @@
/*******************************************************************************
* This file had been created by gtpv2c_tlv.py script v0.1.0
* Please do not modify this file but regenerate it via script.
* Created on: 2017-04-26 16:05:18.046860 by acetcom
* Created on: 2017-08-01 11:30:40.130949 by acetcom
* from 24301-d80.docx
******************************************************************************/

View File

@ -377,7 +377,7 @@ f.close()
f = open(outdir + 'nas_ies.c', 'w')
output_header_to_file(f)
f.write("""#define TRACE_MODULE _nasies
f.write("""#define TRACE_MODULE _nas_ies
#include "core_debug.h"
#include "core_lib.h"
@ -402,6 +402,8 @@ for (k, v) in sorted_type_list:
f.write("c_int16_t nas_decode_%s(nas_%s_t *%s, pkbuf_t *pkbuf)\n" % (v_lower(k), v_lower(k), v_lower(k)))
f.write("{\n")
f.write(" memcpy(%s, pkbuf->payload - 1, 1);\n\n" % v_lower(k))
f.write(" d_trace(5, \" %s - \");\n" % v_upper(k))
f.write(" d_trace_hex(5, pkbuf->payload - 1, 1);\n\n");
f.write(" return 0;\n")
f.write("}\n\n")
f.write("c_int16_t nas_encode_%s(pkbuf_t *pkbuf, nas_%s_t *%s)\n" % (v_lower(k), v_lower(k), v_lower(k)))
@ -409,6 +411,8 @@ for (k, v) in sorted_type_list:
f.write(" c_uint16_t size = sizeof(nas_%s_t);\n\n" % v_lower(k))
f.write(" d_assert(pkbuf_header(pkbuf, -size) == CORE_OK, return -1, \"pkbuf_header error\");\n")
f.write(" memcpy(pkbuf->payload - size, %s, size);\n\n" % v_lower(k))
f.write(" d_trace(5, \" %s - \");\n" % v_upper(k))
f.write(" d_trace_hex(5, pkbuf->payload - size, size);\n\n");
f.write(" return size;\n")
f.write("}\n\n")
elif type_list[k]["format"] == "TV" or type_list[k]["format"] == "V":
@ -422,6 +426,8 @@ for (k, v) in sorted_type_list:
f.write(" memcpy(%s, pkbuf->payload - size, size);\n\n" % v_lower(k))
if "decode" in type_list[k]:
f.write("%s" % type_list[k]["decode"])
f.write(" d_trace(5, \" %s - \");\n" % v_upper(k))
f.write(" d_trace_hex(5, pkbuf->payload - size, size);\n\n");
f.write(" return size;\n")
f.write("}\n\n")
f.write("c_int16_t nas_encode_%s(pkbuf_t *pkbuf, nas_%s_t *%s)\n" % (v_lower(k), v_lower(k), v_lower(k)))
@ -436,6 +442,8 @@ for (k, v) in sorted_type_list:
f.write("%s" % type_list[k]["encode"])
f.write(" d_assert(pkbuf_header(pkbuf, -size) == CORE_OK, return -1, \"pkbuf_header error\");\n")
f.write(" memcpy(pkbuf->payload - size, &target, size);\n\n")
f.write(" d_trace(5, \" %s - \");\n" % v_upper(k))
f.write(" d_trace_hex(5, pkbuf->payload - size, size);\n\n");
f.write(" return size;\n")
f.write("}\n\n")
elif type_list[k]["format"] == "LV-E" or type_list[k]["format"] == "TLV-E":
@ -447,6 +455,8 @@ for (k, v) in sorted_type_list:
f.write(" size = %s->len + sizeof(%s->len);\n\n" % (v_lower(k), v_lower(k)))
f.write(" d_assert(pkbuf_header(pkbuf, -size) == CORE_OK, return -1, \"pkbuf_header error\");\n")
f.write(" %s->data = pkbuf->payload - size + sizeof(%s->len);\n\n" % (v_lower(k), v_lower(k)))
f.write(" d_trace(5, \" %s - \");\n" % v_upper(k))
f.write(" d_trace_hex(5, %s->data, %s->len);\n\n" % (v_lower(k), v_lower(k)));
f.write(" return size;\n")
f.write("}\n\n")
f.write("c_int16_t nas_encode_%s(pkbuf_t *pkbuf, nas_%s_t *%s)\n" % (v_lower(k), v_lower(k), v_lower(k)))
@ -462,6 +472,8 @@ for (k, v) in sorted_type_list:
f.write(" size = %s->len;\n" % v_lower(k))
f.write(" d_assert(pkbuf_header(pkbuf, -size) == CORE_OK, return -1, \"pkbuf_header error\");\n")
f.write(" memcpy(pkbuf->payload - size, %s->data, size);\n\n" % v_lower(k))
f.write(" d_trace(5, \" %s - \");\n" % v_upper(k))
f.write(" d_trace_hex(5, pkbuf->payload - size, size);\n\n");
f.write(" return %s->len + sizeof(%s->len);\n" % (v_lower(k), v_lower(k)))
f.write("}\n\n");
else:
@ -475,6 +487,8 @@ for (k, v) in sorted_type_list:
f.write(" memcpy(%s, pkbuf->payload - size, size);\n\n" % v_lower(k))
if "decode" in type_list[k]:
f.write("%s" % type_list[k]["decode"])
f.write(" d_trace(5, \" %s - \");\n" % v_upper(k))
f.write(" d_trace_hex(5, pkbuf->payload - size, size);\n\n");
f.write(" return size;\n")
f.write("}\n\n")
f.write("c_int16_t nas_encode_%s(pkbuf_t *pkbuf, nas_%s_t *%s)\n" % (v_lower(k), v_lower(k), v_lower(k)))
@ -486,6 +500,8 @@ for (k, v) in sorted_type_list:
f.write("%s" % type_list[k]["encode"])
f.write(" d_assert(pkbuf_header(pkbuf, -size) == CORE_OK, return -1, \"pkbuf_header error\");\n")
f.write(" memcpy(pkbuf->payload - size, &target, size);\n\n")
f.write(" d_trace(5, \" %s - \");\n" % v_upper(k))
f.write(" d_trace_hex(5, pkbuf->payload - size, size);\n\n");
f.write(" return size;\n")
f.write("}\n\n");
f.close()
@ -638,7 +654,7 @@ f.close()
f = open(outdir + 'nas_decoder.c', 'w')
output_header_to_file(f)
f.write("""#define TRACE_MODULE _nasdec
f.write("""#define TRACE_MODULE _nas_decoder
#include "core_debug.h"
#include "nas_message.h"
@ -658,6 +674,7 @@ for (k, v) in sorted_msg_list:
f.write(" nas_%s_t *%s = &message->esm.%s;\n" % (v_lower(k), v_lower(k), v_lower(k)))
f.write(" c_int32_t decoded = 0;\n")
f.write(" c_int32_t size = 0;\n\n")
f.write(" d_trace(3, \"[NAS] Decode %s\\n\");\n\n" % v_upper(k))
for ie in [ies for ies in msg_list[k]["ies"] if ies["presence"] == "M"]:
f.write(" size = nas_decode_%s(&%s->%s, pkbuf);\n" % (v_lower(ie["type"]), v_lower(k), v_lower(ie["value"])))
@ -827,7 +844,7 @@ f.close()
f = open(outdir + 'nas_encoder.c', 'w')
output_header_to_file(f)
f.write("""#define TRACE_MODULE _nasenc
f.write("""#define TRACE_MODULE _nas_encoder
#include "core_debug.h"
#include "nas_message.h"
@ -847,6 +864,7 @@ for (k, v) in sorted_msg_list:
f.write(" nas_%s_t *%s = &message->esm.%s;\n" % (v_lower(k), v_lower(k), v_lower(k)))
f.write(" c_int32_t encoded = 0;\n")
f.write(" c_int32_t size = 0;\n\n")
f.write(" d_trace(3, \"[NAS] Encode %s\\n\");\n\n" % v_upper(k))
for ie in [ies for ies in msg_list[k]["ies"] if ies["presence"] == "M"]:
f.write(" size = nas_encode_%s(pkbuf, &%s->%s);\n" % (v_lower(ie["type"]), v_lower(k), v_lower(ie["value"])))

View File

@ -85,8 +85,6 @@ void emm_handle_attach_request(
enb_ue = mme_ue->enb_ue;
d_assert(enb_ue, return, "Null param");
d_trace(3, "[EMM] Recv ATTACH REQUEST\n");
emm_handle_esm_message_container(
mme_ue, &attach_request->esm_message_container);
@ -230,8 +228,6 @@ void emm_handle_identity_request(mme_ue_t *mme_ue)
pkbuf_free(emmbuf); return, "s1ap build error");
d_assert(emm_send_to_enb(enb_ue, s1apbuf) == CORE_OK,, "s1ap send error");
d_trace(3, "[EMM] Send IDENTITY REQUEST\n");
}
void emm_handle_identity_response(
@ -246,8 +242,6 @@ void emm_handle_identity_response(
enb_ue = mme_ue->enb_ue;
d_assert(enb_ue, return, "Null param");
d_trace(3, "[EMM] Recv IDENTITY RESPONSE\n");
mobile_identity = &identity_response->mobile_identity;
if (mobile_identity->imsi.type == NAS_IDENTITY_TYPE_2_IMSI)
@ -317,8 +311,6 @@ void emm_handle_authentication_request(mme_ue_t *mme_ue)
pkbuf_free(emmbuf); return, "s1ap build error");
d_assert(emm_send_to_enb(enb_ue, s1apbuf) == CORE_OK,, "s1ap send error");
d_trace(3, "[EMM] Send AUTHENTICATION REQUEST\n");
}
void emm_handle_authentication_response(mme_ue_t *mme_ue,
@ -346,8 +338,6 @@ void emm_handle_authentication_response(mme_ue_t *mme_ue,
enb_ue = mme_ue->enb_ue;
d_assert(enb_ue, return, "Null param");
d_trace(3, "[EMM] Recv AUTHENTICATION RESPONSE\n");
if (authentication_response_parameter->length != mme_ue->xres_len ||
memcmp(authentication_response_parameter->res,
mme_ue->xres, mme_ue->xres_len) != 0)
@ -458,8 +448,6 @@ void emm_handle_create_session_response(mme_bearer_t *bearer)
pkbuf_free(emmbuf); return, "s1ap build error");
d_assert(emm_send_to_enb(enb_ue, s1apbuf) == CORE_OK,, "s1ap send error");
d_trace(3, "[EMM] Send ATTACH ACCEPT\n");
}
void emm_handle_attach_accept(mme_ue_t *mme_ue)
@ -542,7 +530,6 @@ void emm_handle_attach_complete(
pkbuf_free(emmbuf); return, "s1ap build error");
d_assert(emm_send_to_enb(enb_ue, s1apbuf) == CORE_OK,, "s1ap send error");
d_trace(3, "[EMM] Send EMM INFOMRATION\n");
}
void emm_handle_emm_status(mme_ue_t *mme_ue, nas_emm_status_t *emm_status)
@ -551,8 +538,6 @@ void emm_handle_emm_status(mme_ue_t *mme_ue, nas_emm_status_t *emm_status)
d_warn("[NAS] EMM status(%d) : UE[%s] --> EMM",
emm_status->emm_cause, mme_ue->imsi_bcd);
d_trace(3, "[EMM] Recv EMM STATUS\n");
d_trace(5, " Cause:%d\n", emm_status->emm_cause);
}
void emm_handle_detach_request(
@ -570,8 +555,6 @@ void emm_handle_detach_request(
d_assert(enb_ue, return, "Null param");
d_info("[NAS] Detach request : UE_IMSI[%s] --> EMM", mme_ue->imsi_bcd);
d_trace(3, "[EMM] Recv DETACH REQUEST\n");
d_trace(5, " Detach Type: 0x%x\n", detach_type->detach_type);
switch (detach_type->detach_type)
{
@ -647,7 +630,6 @@ void emm_handle_detach_accept(
d_assert(emm_send_to_enb(enb_ue, s1apbuf) == CORE_OK,,
"s1ap send error");
d_trace(3, "[EMM] Send DETACH ATTACH\n");
}
event_set(&e, MME_EVT_S1AP_UE_FROM_EMM);
@ -737,8 +719,6 @@ void emm_handle_service_request(
bearer = mme_default_bearer_in_sess(sess);
d_assert(bearer, return, "Null param");
d_trace(3, "[EMM] Recv SERVICE REQUEST\n");
rv = s1ap_build_initial_context_setup_request(&s1apbuf, bearer, NULL);
d_assert(rv == CORE_OK && s1apbuf, return, "s1ap build error");

View File

@ -15,8 +15,6 @@
void esm_handle_pdn_connectivity_request(mme_bearer_t *bearer,
nas_pdn_connectivity_request_t *pdn_connectivity_request)
{
d_trace(3, "[ESM] Recv PDN CONNECTIVITY REQUEST\n");
if (pdn_connectivity_request->presencemask &
NAS_PDN_CONNECTIVITY_REQUEST_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT)
{
@ -54,8 +52,6 @@ void esm_handle_s6a_update_location(mme_bearer_t *bearer)
pkbuf_free(esmbuf); return, "s1ap build error");
d_assert(s1ap_send_to_enb(enb, s1apbuf) == CORE_OK,, "s1ap send error");
d_trace(3, "[ESM] Send ESM INFORMATION REQUEST\n");
}
void esm_handle_modify_bearer_request(mme_bearer_t *bearer)
@ -87,8 +83,6 @@ void esm_handle_information_response(mme_bearer_t *bearer,
mme_ue = bearer->mme_ue;
d_assert(mme_ue, return, "Null param");
d_trace(3, "[ESM] Recv ESM INFORMATION RESPONSE\n");
if (esm_information_response->presencemask &
NAS_ESM_INFORMATION_RESPONSE_ACCESS_POINT_NAME_PRESENT)
{

View File

@ -816,6 +816,12 @@ status_t mme_context_setup_trace_module()
d_trace_level(&_emm_handler, nas);
extern int _esm_handler;
d_trace_level(&_esm_handler, nas);
extern int _nas_decoder;
d_trace_level(&_nas_decoder, nas);
extern int _nas_encoder;
d_trace_level(&_nas_encoder, nas);
extern int _nas_ies;
d_trace_level(&_nas_ies, nas);
}
if (s6a)