update it

This commit is contained in:
Sukchan Lee 2017-03-15 14:10:34 +09:00
parent 3c2412db7b
commit bf8ea2759d
3 changed files with 543 additions and 266 deletions

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 * This file had been created by gtpv2c_tlv.py script v0.1.0
* Please do not modify this file but regenerate it via script. * Please do not modify this file but regenerate it via script.
* Created on: 2017-03-15 13:39:46.675078 by acetcom * Created on: 2017-03-15 14:10:29.336791 by acetcom
* from 29274-d80.docx * from 29274-d80.docx
******************************************************************************/ ******************************************************************************/
@ -217,130 +217,154 @@ extern "C" {
#define GTPV2C_IE_COUNTER_TYPE 199 #define GTPV2C_IE_COUNTER_TYPE 199
/* Infomration Element TLV Descriptor */ /* Infomration Element TLV Descriptor */
extern tlv_desc_t gtpv2c_desc_imsi; extern tlv_desc_t gtpv2c_desc_imsi_0;
extern tlv_desc_t gtpv2c_desc_cause; extern tlv_desc_t gtpv2c_desc_cause_0;
extern tlv_desc_t gtpv2c_desc_recovery; extern tlv_desc_t gtpv2c_desc_recovery_0;
extern tlv_desc_t gtpv2c_desc_stn_sr; extern tlv_desc_t gtpv2c_desc_stn_sr_0;
extern tlv_desc_t gtpv2c_desc_apn; extern tlv_desc_t gtpv2c_desc_apn_0;
extern tlv_desc_t gtpv2c_desc_ambr; extern tlv_desc_t gtpv2c_desc_ambr_0;
extern tlv_desc_t gtpv2c_desc_ebi; extern tlv_desc_t gtpv2c_desc_ebi_0;
extern tlv_desc_t gtpv2c_desc_ip_address; extern tlv_desc_t gtpv2c_desc_ip_address_0;
extern tlv_desc_t gtpv2c_desc_mei; extern tlv_desc_t gtpv2c_desc_ip_address_1;
extern tlv_desc_t gtpv2c_desc_msisdn; extern tlv_desc_t gtpv2c_desc_ip_address_2;
extern tlv_desc_t gtpv2c_desc_indication; extern tlv_desc_t gtpv2c_desc_ip_address_3;
extern tlv_desc_t gtpv2c_desc_pco; extern tlv_desc_t gtpv2c_desc_mei_0;
extern tlv_desc_t gtpv2c_desc_paa; extern tlv_desc_t gtpv2c_desc_msisdn_0;
extern tlv_desc_t gtpv2c_desc_bearer_qos; extern tlv_desc_t gtpv2c_desc_indication_0;
extern tlv_desc_t gtpv2c_desc_flow_qos; extern tlv_desc_t gtpv2c_desc_pco_0;
extern tlv_desc_t gtpv2c_desc_rat_type; extern tlv_desc_t gtpv2c_desc_paa_0;
extern tlv_desc_t gtpv2c_desc_serving_network; extern tlv_desc_t gtpv2c_desc_bearer_qos_0;
extern tlv_desc_t gtpv2c_desc_bearer_tft; extern tlv_desc_t gtpv2c_desc_flow_qos_0;
extern tlv_desc_t gtpv2c_desc_tad; extern tlv_desc_t gtpv2c_desc_rat_type_0;
extern tlv_desc_t gtpv2c_desc_uli; extern tlv_desc_t gtpv2c_desc_serving_network_0;
extern tlv_desc_t gtpv2c_desc_f_teid; extern tlv_desc_t gtpv2c_desc_bearer_tft_0;
extern tlv_desc_t gtpv2c_desc_tmsi; extern tlv_desc_t gtpv2c_desc_tad_0;
extern tlv_desc_t gtpv2c_desc_global_cn_id; extern tlv_desc_t gtpv2c_desc_uli_0;
extern tlv_desc_t gtpv2c_desc_s103pdf; extern tlv_desc_t gtpv2c_desc_f_teid_0;
extern tlv_desc_t gtpv2c_desc_s1udf; extern tlv_desc_t gtpv2c_desc_f_teid_1;
extern tlv_desc_t gtpv2c_desc_delay_value; extern tlv_desc_t gtpv2c_desc_f_teid_2;
extern tlv_desc_t gtpv2c_desc_charging_id; extern tlv_desc_t gtpv2c_desc_f_teid_3;
extern tlv_desc_t gtpv2c_desc_charging_characteristics; extern tlv_desc_t gtpv2c_desc_f_teid_4;
extern tlv_desc_t gtpv2c_desc_trace_information; extern tlv_desc_t gtpv2c_desc_f_teid_5;
extern tlv_desc_t gtpv2c_desc_bearer_flags; extern tlv_desc_t gtpv2c_desc_f_teid_6;
extern tlv_desc_t gtpv2c_desc_pdn_type; extern tlv_desc_t gtpv2c_desc_f_teid_7;
extern tlv_desc_t gtpv2c_desc_procedure_transaction_id; extern tlv_desc_t gtpv2c_desc_f_teid_8;
extern tlv_desc_t gtpv2c_desc_mm_context; extern tlv_desc_t gtpv2c_desc_f_teid_9;
extern tlv_desc_t gtpv2c_desc_pdu_numbers; extern tlv_desc_t gtpv2c_desc_tmsi_0;
extern tlv_desc_t gtpv2c_desc_p_tmsi; extern tlv_desc_t gtpv2c_desc_global_cn_id_0;
extern tlv_desc_t gtpv2c_desc_p_tmsi_signature; extern tlv_desc_t gtpv2c_desc_s103pdf_0;
extern tlv_desc_t gtpv2c_desc_hop_counter; extern tlv_desc_t gtpv2c_desc_s1udf_0;
extern tlv_desc_t gtpv2c_desc_ue_time_zone; extern tlv_desc_t gtpv2c_desc_delay_value_0;
extern tlv_desc_t gtpv2c_desc_trace_reference; extern tlv_desc_t gtpv2c_desc_charging_id_0;
extern tlv_desc_t gtpv2c_desc_complete_request_message; extern tlv_desc_t gtpv2c_desc_charging_characteristics_0;
extern tlv_desc_t gtpv2c_desc_guti; extern tlv_desc_t gtpv2c_desc_trace_information_0;
extern tlv_desc_t gtpv2c_desc_f_container; extern tlv_desc_t gtpv2c_desc_bearer_flags_0;
extern tlv_desc_t gtpv2c_desc_f_cause; extern tlv_desc_t gtpv2c_desc_pdn_type_0;
extern tlv_desc_t gtpv2c_desc_plmn_id; extern tlv_desc_t gtpv2c_desc_procedure_transaction_id_0;
extern tlv_desc_t gtpv2c_desc_target_identification; extern tlv_desc_t gtpv2c_desc_mm_context_0;
extern tlv_desc_t gtpv2c_desc_packet_flow_id; extern tlv_desc_t gtpv2c_desc_pdu_numbers_0;
extern tlv_desc_t gtpv2c_desc_rab_context; extern tlv_desc_t gtpv2c_desc_p_tmsi_0;
extern tlv_desc_t gtpv2c_desc_source_rnc_pdcp_context_info; extern tlv_desc_t gtpv2c_desc_p_tmsi_signature_0;
extern tlv_desc_t gtpv2c_desc_port_number; extern tlv_desc_t gtpv2c_desc_hop_counter_0;
extern tlv_desc_t gtpv2c_desc_apn_restriction; extern tlv_desc_t gtpv2c_desc_ue_time_zone_0;
extern tlv_desc_t gtpv2c_desc_selection_mode; extern tlv_desc_t gtpv2c_desc_trace_reference_0;
extern tlv_desc_t gtpv2c_desc_source_identification; extern tlv_desc_t gtpv2c_desc_complete_request_message_0;
extern tlv_desc_t gtpv2c_desc_change_reporting_action; extern tlv_desc_t gtpv2c_desc_guti_0;
extern tlv_desc_t gtpv2c_desc_fq_csid; extern tlv_desc_t gtpv2c_desc_f_container_0;
extern tlv_desc_t gtpv2c_desc_channel_needed; extern tlv_desc_t gtpv2c_desc_f_cause_0;
extern tlv_desc_t gtpv2c_desc_emlpp_priority; extern tlv_desc_t gtpv2c_desc_plmn_id_0;
extern tlv_desc_t gtpv2c_desc_node_type; extern tlv_desc_t gtpv2c_desc_target_identification_0;
extern tlv_desc_t gtpv2c_desc_fqdn; extern tlv_desc_t gtpv2c_desc_packet_flow_id_0;
extern tlv_desc_t gtpv2c_desc_ti; extern tlv_desc_t gtpv2c_desc_rab_context_0;
extern tlv_desc_t gtpv2c_desc_mbms_session_duration; extern tlv_desc_t gtpv2c_desc_source_rnc_pdcp_context_info_0;
extern tlv_desc_t gtpv2c_desc_mbms_service_area; extern tlv_desc_t gtpv2c_desc_port_number_0;
extern tlv_desc_t gtpv2c_desc_mbms_session_identifier; extern tlv_desc_t gtpv2c_desc_port_number_1;
extern tlv_desc_t gtpv2c_desc_mbms_flow_identifier; extern tlv_desc_t gtpv2c_desc_port_number_2;
extern tlv_desc_t gtpv2c_desc_mbms_ip_multicast_distribution; extern tlv_desc_t gtpv2c_desc_apn_restriction_0;
extern tlv_desc_t gtpv2c_desc_mbms_distribution_acknowledge; extern tlv_desc_t gtpv2c_desc_selection_mode_0;
extern tlv_desc_t gtpv2c_desc_rfsp_index; extern tlv_desc_t gtpv2c_desc_source_identification_0;
extern tlv_desc_t gtpv2c_desc_uci; extern tlv_desc_t gtpv2c_desc_change_reporting_action_0;
extern tlv_desc_t gtpv2c_desc_csg_information_reporting_action; extern tlv_desc_t gtpv2c_desc_fq_csid_0;
extern tlv_desc_t gtpv2c_desc_csg_id; extern tlv_desc_t gtpv2c_desc_fq_csid_1;
extern tlv_desc_t gtpv2c_desc_cmi; extern tlv_desc_t gtpv2c_desc_fq_csid_2;
extern tlv_desc_t gtpv2c_desc_service_indicator; extern tlv_desc_t gtpv2c_desc_fq_csid_3;
extern tlv_desc_t gtpv2c_desc_detach_type; extern tlv_desc_t gtpv2c_desc_channel_needed_0;
extern tlv_desc_t gtpv2c_desc_ldn; extern tlv_desc_t gtpv2c_desc_emlpp_priority_0;
extern tlv_desc_t gtpv2c_desc_node_features; extern tlv_desc_t gtpv2c_desc_node_type_0;
extern tlv_desc_t gtpv2c_desc_mbms_time_to_data_transfer; extern tlv_desc_t gtpv2c_desc_fqdn_0;
extern tlv_desc_t gtpv2c_desc_throttling; extern tlv_desc_t gtpv2c_desc_ti_0;
extern tlv_desc_t gtpv2c_desc_arp; extern tlv_desc_t gtpv2c_desc_mbms_session_duration_0;
extern tlv_desc_t gtpv2c_desc_epc_timer; extern tlv_desc_t gtpv2c_desc_mbms_service_area_0;
extern tlv_desc_t gtpv2c_desc_signalling_priority_indication; extern tlv_desc_t gtpv2c_desc_mbms_session_identifier_0;
extern tlv_desc_t gtpv2c_desc_tmgi; extern tlv_desc_t gtpv2c_desc_mbms_flow_identifier_0;
extern tlv_desc_t gtpv2c_desc_additional_mm_context_for_srvcc; extern tlv_desc_t gtpv2c_desc_mbms_ip_multicast_distribution_0;
extern tlv_desc_t gtpv2c_desc_additional_flags_for_srvcc; extern tlv_desc_t gtpv2c_desc_mbms_distribution_acknowledge_0;
extern tlv_desc_t gtpv2c_desc_mdt_configuration; extern tlv_desc_t gtpv2c_desc_rfsp_index_0;
extern tlv_desc_t gtpv2c_desc_apco; extern tlv_desc_t gtpv2c_desc_uci_0;
extern tlv_desc_t gtpv2c_desc_absolute_time_of_mbms_data_transfer; extern tlv_desc_t gtpv2c_desc_csg_information_reporting_action_0;
extern tlv_desc_t gtpv2c_desc_enb_information_reporting; extern tlv_desc_t gtpv2c_desc_csg_id_0;
extern tlv_desc_t gtpv2c_desc_ip4cp; extern tlv_desc_t gtpv2c_desc_cmi_0;
extern tlv_desc_t gtpv2c_desc_change_to_report_flags; extern tlv_desc_t gtpv2c_desc_service_indicator_0;
extern tlv_desc_t gtpv2c_desc_action_indication; extern tlv_desc_t gtpv2c_desc_detach_type_0;
extern tlv_desc_t gtpv2c_desc_twan_identifier; extern tlv_desc_t gtpv2c_desc_ldn_0;
extern tlv_desc_t gtpv2c_desc_uli_timestamp; extern tlv_desc_t gtpv2c_desc_ldn_1;
extern tlv_desc_t gtpv2c_desc_mbms_flags; extern tlv_desc_t gtpv2c_desc_ldn_2;
extern tlv_desc_t gtpv2c_desc_ran_nas_cause; extern tlv_desc_t gtpv2c_desc_ldn_3;
extern tlv_desc_t gtpv2c_desc_cn_operator_selection_entity; extern tlv_desc_t gtpv2c_desc_node_features_0;
extern tlv_desc_t gtpv2c_desc_twmi; extern tlv_desc_t gtpv2c_desc_mbms_time_to_data_transfer_0;
extern tlv_desc_t gtpv2c_desc_node_number; extern tlv_desc_t gtpv2c_desc_throttling_0;
extern tlv_desc_t gtpv2c_desc_node_identifier; extern tlv_desc_t gtpv2c_desc_arp_0;
extern tlv_desc_t gtpv2c_desc_presence_reporting_area_action; extern tlv_desc_t gtpv2c_desc_epc_timer_0;
extern tlv_desc_t gtpv2c_desc_presence_reporting_area_information; extern tlv_desc_t gtpv2c_desc_signalling_priority_indication_0;
extern tlv_desc_t gtpv2c_desc_twan_identifier_timestamp; extern tlv_desc_t gtpv2c_desc_tmgi_0;
extern tlv_desc_t gtpv2c_desc_metric; extern tlv_desc_t gtpv2c_desc_additional_mm_context_for_srvcc_0;
extern tlv_desc_t gtpv2c_desc_sequence_number; extern tlv_desc_t gtpv2c_desc_additional_flags_for_srvcc_0;
extern tlv_desc_t gtpv2c_desc_apn_and_relative_capacity; extern tlv_desc_t gtpv2c_desc_mdt_configuration_0;
extern tlv_desc_t gtpv2c_desc_wlan_offloadability_indication; extern tlv_desc_t gtpv2c_desc_apco_0;
extern tlv_desc_t gtpv2c_desc_paging_and_service_information; extern tlv_desc_t gtpv2c_desc_absolute_time_of_mbms_data_transfer_0;
extern tlv_desc_t gtpv2c_desc_integer_number; extern tlv_desc_t gtpv2c_desc_enb_information_reporting_0;
extern tlv_desc_t gtpv2c_desc_millisecond_time_stamp; extern tlv_desc_t gtpv2c_desc_ip4cp_0;
extern tlv_desc_t gtpv2c_desc_monitoring_event_information; extern tlv_desc_t gtpv2c_desc_change_to_report_flags_0;
extern tlv_desc_t gtpv2c_desc_ecgi_list; extern tlv_desc_t gtpv2c_desc_action_indication_0;
extern tlv_desc_t gtpv2c_desc_remote_user_id; extern tlv_desc_t gtpv2c_desc_twan_identifier_0;
extern tlv_desc_t gtpv2c_desc_remote_ue_ip_information; extern tlv_desc_t gtpv2c_desc_twan_identifier_1;
extern tlv_desc_t gtpv2c_desc_ciot_optimizations_support_indication; extern tlv_desc_t gtpv2c_desc_uli_timestamp_0;
extern tlv_desc_t gtpv2c_desc_header_compression_configuration; extern tlv_desc_t gtpv2c_desc_mbms_flags_0;
extern tlv_desc_t gtpv2c_desc_epco; extern tlv_desc_t gtpv2c_desc_ran_nas_cause_0;
extern tlv_desc_t gtpv2c_desc_serving_plmn_rate_control; extern tlv_desc_t gtpv2c_desc_cn_operator_selection_entity_0;
extern tlv_desc_t gtpv2c_desc_counter; extern tlv_desc_t gtpv2c_desc_twmi_0;
extern tlv_desc_t gtpv2c_desc_node_number_0;
extern tlv_desc_t gtpv2c_desc_node_identifier_0;
extern tlv_desc_t gtpv2c_desc_presence_reporting_area_action_0;
extern tlv_desc_t gtpv2c_desc_presence_reporting_area_information_0;
extern tlv_desc_t gtpv2c_desc_twan_identifier_timestamp_0;
extern tlv_desc_t gtpv2c_desc_metric_0;
extern tlv_desc_t gtpv2c_desc_sequence_number_0;
extern tlv_desc_t gtpv2c_desc_apn_and_relative_capacity_0;
extern tlv_desc_t gtpv2c_desc_wlan_offloadability_indication_0;
extern tlv_desc_t gtpv2c_desc_paging_and_service_information_0;
extern tlv_desc_t gtpv2c_desc_integer_number_0;
extern tlv_desc_t gtpv2c_desc_millisecond_time_stamp_0;
extern tlv_desc_t gtpv2c_desc_monitoring_event_information_0;
extern tlv_desc_t gtpv2c_desc_ecgi_list_0;
extern tlv_desc_t gtpv2c_desc_remote_user_id_0;
extern tlv_desc_t gtpv2c_desc_remote_ue_ip_information_0;
extern tlv_desc_t gtpv2c_desc_ciot_optimizations_support_indication_0;
extern tlv_desc_t gtpv2c_desc_header_compression_configuration_0;
extern tlv_desc_t gtpv2c_desc_epco_0;
extern tlv_desc_t gtpv2c_desc_serving_plmn_rate_control_0;
extern tlv_desc_t gtpv2c_desc_counter_0;
/* Group Infomration Element TLV Descriptor */ /* Group Infomration Element TLV Descriptor */
extern tlv_desc_t gtpv2c_desc_bearer_context; extern tlv_desc_t gtpv2c_desc_bearer_context_0;
extern tlv_desc_t gtpv2c_desc_pdn_connection; extern tlv_desc_t gtpv2c_desc_bearer_context_1;
extern tlv_desc_t gtpv2c_desc_overload_control_information; extern tlv_desc_t gtpv2c_desc_pdn_connection_0;
extern tlv_desc_t gtpv2c_desc_load_control_information; extern tlv_desc_t gtpv2c_desc_overload_control_information_0;
extern tlv_desc_t gtpv2c_desc_remote_ue_context; extern tlv_desc_t gtpv2c_desc_overload_control_information_1;
extern tlv_desc_t gtpv2c_desc_scef_pdn_connection; extern tlv_desc_t gtpv2c_desc_overload_control_information_2;
extern tlv_desc_t gtpv2c_desc_load_control_information_0;
extern tlv_desc_t gtpv2c_desc_remote_ue_context_0;
extern tlv_desc_t gtpv2c_desc_scef_pdn_connection_0;
/* Structure for Infomration Element */ /* Structure for Infomration Element */
typedef tlv_octet_t gtpv2c_imsi_t; typedef tlv_octet_t gtpv2c_imsi_t;

View File

@ -368,14 +368,19 @@ write_file(f, "\n")
write_file(f, "/* Infomration Element TLV Descriptor */\n") write_file(f, "/* Infomration Element TLV Descriptor */\n")
for (k, v) in sorted_type_list: for (k, v) in sorted_type_list:
if k not in group_list.keys(): if k not in group_list.keys():
write_file(f, "extern tlv_desc_t gtpv2c_desc_" + v_lower(k) + ";\n") for instance in range(0, int(type_list[k]["max_instance"])+1):
write_file(f, "extern tlv_desc_t gtpv2c_desc_" + v_lower(k))
write_file(f, "_" + str(instance) + ";\n")
write_file(f, "\n") write_file(f, "\n")
tmp = [(k, v["type"]) for k, v in group_list.items()] tmp = [(k, v["type"]) for k, v in group_list.items()]
sorted_group_list = sorted(tmp, key=lambda tup: int(tup[1])) sorted_group_list = sorted(tmp, key=lambda tup: int(tup[1]))
write_file(f, "/* Group Infomration Element TLV Descriptor */\n") write_file(f, "/* Group Infomration Element TLV Descriptor */\n")
for (k, v) in sorted_group_list: for (k, v) in sorted_group_list:
write_file(f, "extern tlv_desc_t gtpv2c_desc_" + v_lower(k) + ";\n") for instance in range(0, int(type_list[k]["max_instance"])+1):
write_file(f, "extern tlv_desc_t gtpv2c_desc_" + v_lower(k))
write_file(f, "_" + str(instance) + ";\n")
write_file(f, "\n") write_file(f, "\n")
write_file(f, "/* Structure for Infomration Element */\n") write_file(f, "/* Structure for Infomration Element */\n")
@ -420,23 +425,25 @@ f.write("""#include "gtpv2c_tlv.h"
for (k, v) in sorted_type_list: for (k, v) in sorted_type_list:
if k not in group_list.keys(): if k not in group_list.keys():
write_file(f, "tlv_desc_t gtpv2c_desc_%s =" % v_lower(k) + "\n") for instance in range(0, int(type_list[k]["max_instance"])+1):
write_file(f, "tlv_desc_t gtpv2c_desc_%s_%d =" % (v_lower(k), instance) + "\n")
write_file(f, "{\n") write_file(f, "{\n")
write_file(f, " TLV_VAR_STR,\n") write_file(f, " TLV_VAR_STR,\n")
write_file(f, " GTPV2C_IE_%s_TYPE," % v_upper(k) + "\n") write_file(f, " GTPV2C_IE_%s_TYPE," % v_upper(k) + "\n")
write_file(f, " 0,\n") write_file(f, " 0,\n")
write_file(f, " 0,\n") write_file(f, " %d,\n" % instance)
write_file(f, " sizeof(gtpv2c_%s_t)," % v_lower(k) + "\n") write_file(f, " sizeof(gtpv2c_%s_t)," % v_lower(k) + "\n")
write_file(f, " { NULL }\n") write_file(f, " { NULL }\n")
write_file(f, "};\n\n") write_file(f, "};\n\n")
for (k, v) in sorted_group_list: for (k, v) in sorted_group_list:
write_file(f, "tlv_desc_t gtpv2c_desc_%s =" % v_lower(k) + "\n") for instance in range(0, int(type_list[k]["max_instance"])+1):
write_file(f, "tlv_desc_t gtpv2c_desc_%s_%d =" % (v_lower(k), instance) + "\n")
write_file(f, "{\n") write_file(f, "{\n")
write_file(f, " TLV_COMPOUND,\n") write_file(f, " TLV_COMPOUND,\n")
write_file(f, " GTPV2C_IE_%s_TYPE,\n" % v_upper(k) + "\n") write_file(f, " GTPV2C_IE_%s_TYPE,\n" % v_upper(k) + "\n")
write_file(f, " 0,\n") write_file(f, " 0,\n")
write_file(f, " 0,\n") write_file(f, " %d,\n" % instance)
write_file(f, " sizeof(gtpv2c_%s_t),\n" % v_lower(k) + "\n") write_file(f, " sizeof(gtpv2c_%s_t),\n" % v_lower(k) + "\n")
write_file(f, " { NULL }\n") write_file(f, " { NULL }\n")
write_file(f, "};\n\n") write_file(f, "};\n\n")