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
* 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
******************************************************************************/
@ -217,130 +217,154 @@ extern "C" {
#define GTPV2C_IE_COUNTER_TYPE 199
/* Infomration Element TLV Descriptor */
extern tlv_desc_t gtpv2c_desc_imsi;
extern tlv_desc_t gtpv2c_desc_cause;
extern tlv_desc_t gtpv2c_desc_recovery;
extern tlv_desc_t gtpv2c_desc_stn_sr;
extern tlv_desc_t gtpv2c_desc_apn;
extern tlv_desc_t gtpv2c_desc_ambr;
extern tlv_desc_t gtpv2c_desc_ebi;
extern tlv_desc_t gtpv2c_desc_ip_address;
extern tlv_desc_t gtpv2c_desc_mei;
extern tlv_desc_t gtpv2c_desc_msisdn;
extern tlv_desc_t gtpv2c_desc_indication;
extern tlv_desc_t gtpv2c_desc_pco;
extern tlv_desc_t gtpv2c_desc_paa;
extern tlv_desc_t gtpv2c_desc_bearer_qos;
extern tlv_desc_t gtpv2c_desc_flow_qos;
extern tlv_desc_t gtpv2c_desc_rat_type;
extern tlv_desc_t gtpv2c_desc_serving_network;
extern tlv_desc_t gtpv2c_desc_bearer_tft;
extern tlv_desc_t gtpv2c_desc_tad;
extern tlv_desc_t gtpv2c_desc_uli;
extern tlv_desc_t gtpv2c_desc_f_teid;
extern tlv_desc_t gtpv2c_desc_tmsi;
extern tlv_desc_t gtpv2c_desc_global_cn_id;
extern tlv_desc_t gtpv2c_desc_s103pdf;
extern tlv_desc_t gtpv2c_desc_s1udf;
extern tlv_desc_t gtpv2c_desc_delay_value;
extern tlv_desc_t gtpv2c_desc_charging_id;
extern tlv_desc_t gtpv2c_desc_charging_characteristics;
extern tlv_desc_t gtpv2c_desc_trace_information;
extern tlv_desc_t gtpv2c_desc_bearer_flags;
extern tlv_desc_t gtpv2c_desc_pdn_type;
extern tlv_desc_t gtpv2c_desc_procedure_transaction_id;
extern tlv_desc_t gtpv2c_desc_mm_context;
extern tlv_desc_t gtpv2c_desc_pdu_numbers;
extern tlv_desc_t gtpv2c_desc_p_tmsi;
extern tlv_desc_t gtpv2c_desc_p_tmsi_signature;
extern tlv_desc_t gtpv2c_desc_hop_counter;
extern tlv_desc_t gtpv2c_desc_ue_time_zone;
extern tlv_desc_t gtpv2c_desc_trace_reference;
extern tlv_desc_t gtpv2c_desc_complete_request_message;
extern tlv_desc_t gtpv2c_desc_guti;
extern tlv_desc_t gtpv2c_desc_f_container;
extern tlv_desc_t gtpv2c_desc_f_cause;
extern tlv_desc_t gtpv2c_desc_plmn_id;
extern tlv_desc_t gtpv2c_desc_target_identification;
extern tlv_desc_t gtpv2c_desc_packet_flow_id;
extern tlv_desc_t gtpv2c_desc_rab_context;
extern tlv_desc_t gtpv2c_desc_source_rnc_pdcp_context_info;
extern tlv_desc_t gtpv2c_desc_port_number;
extern tlv_desc_t gtpv2c_desc_apn_restriction;
extern tlv_desc_t gtpv2c_desc_selection_mode;
extern tlv_desc_t gtpv2c_desc_source_identification;
extern tlv_desc_t gtpv2c_desc_change_reporting_action;
extern tlv_desc_t gtpv2c_desc_fq_csid;
extern tlv_desc_t gtpv2c_desc_channel_needed;
extern tlv_desc_t gtpv2c_desc_emlpp_priority;
extern tlv_desc_t gtpv2c_desc_node_type;
extern tlv_desc_t gtpv2c_desc_fqdn;
extern tlv_desc_t gtpv2c_desc_ti;
extern tlv_desc_t gtpv2c_desc_mbms_session_duration;
extern tlv_desc_t gtpv2c_desc_mbms_service_area;
extern tlv_desc_t gtpv2c_desc_mbms_session_identifier;
extern tlv_desc_t gtpv2c_desc_mbms_flow_identifier;
extern tlv_desc_t gtpv2c_desc_mbms_ip_multicast_distribution;
extern tlv_desc_t gtpv2c_desc_mbms_distribution_acknowledge;
extern tlv_desc_t gtpv2c_desc_rfsp_index;
extern tlv_desc_t gtpv2c_desc_uci;
extern tlv_desc_t gtpv2c_desc_csg_information_reporting_action;
extern tlv_desc_t gtpv2c_desc_csg_id;
extern tlv_desc_t gtpv2c_desc_cmi;
extern tlv_desc_t gtpv2c_desc_service_indicator;
extern tlv_desc_t gtpv2c_desc_detach_type;
extern tlv_desc_t gtpv2c_desc_ldn;
extern tlv_desc_t gtpv2c_desc_node_features;
extern tlv_desc_t gtpv2c_desc_mbms_time_to_data_transfer;
extern tlv_desc_t gtpv2c_desc_throttling;
extern tlv_desc_t gtpv2c_desc_arp;
extern tlv_desc_t gtpv2c_desc_epc_timer;
extern tlv_desc_t gtpv2c_desc_signalling_priority_indication;
extern tlv_desc_t gtpv2c_desc_tmgi;
extern tlv_desc_t gtpv2c_desc_additional_mm_context_for_srvcc;
extern tlv_desc_t gtpv2c_desc_additional_flags_for_srvcc;
extern tlv_desc_t gtpv2c_desc_mdt_configuration;
extern tlv_desc_t gtpv2c_desc_apco;
extern tlv_desc_t gtpv2c_desc_absolute_time_of_mbms_data_transfer;
extern tlv_desc_t gtpv2c_desc_enb_information_reporting;
extern tlv_desc_t gtpv2c_desc_ip4cp;
extern tlv_desc_t gtpv2c_desc_change_to_report_flags;
extern tlv_desc_t gtpv2c_desc_action_indication;
extern tlv_desc_t gtpv2c_desc_twan_identifier;
extern tlv_desc_t gtpv2c_desc_uli_timestamp;
extern tlv_desc_t gtpv2c_desc_mbms_flags;
extern tlv_desc_t gtpv2c_desc_ran_nas_cause;
extern tlv_desc_t gtpv2c_desc_cn_operator_selection_entity;
extern tlv_desc_t gtpv2c_desc_twmi;
extern tlv_desc_t gtpv2c_desc_node_number;
extern tlv_desc_t gtpv2c_desc_node_identifier;
extern tlv_desc_t gtpv2c_desc_presence_reporting_area_action;
extern tlv_desc_t gtpv2c_desc_presence_reporting_area_information;
extern tlv_desc_t gtpv2c_desc_twan_identifier_timestamp;
extern tlv_desc_t gtpv2c_desc_metric;
extern tlv_desc_t gtpv2c_desc_sequence_number;
extern tlv_desc_t gtpv2c_desc_apn_and_relative_capacity;
extern tlv_desc_t gtpv2c_desc_wlan_offloadability_indication;
extern tlv_desc_t gtpv2c_desc_paging_and_service_information;
extern tlv_desc_t gtpv2c_desc_integer_number;
extern tlv_desc_t gtpv2c_desc_millisecond_time_stamp;
extern tlv_desc_t gtpv2c_desc_monitoring_event_information;
extern tlv_desc_t gtpv2c_desc_ecgi_list;
extern tlv_desc_t gtpv2c_desc_remote_user_id;
extern tlv_desc_t gtpv2c_desc_remote_ue_ip_information;
extern tlv_desc_t gtpv2c_desc_ciot_optimizations_support_indication;
extern tlv_desc_t gtpv2c_desc_header_compression_configuration;
extern tlv_desc_t gtpv2c_desc_epco;
extern tlv_desc_t gtpv2c_desc_serving_plmn_rate_control;
extern tlv_desc_t gtpv2c_desc_counter;
extern tlv_desc_t gtpv2c_desc_imsi_0;
extern tlv_desc_t gtpv2c_desc_cause_0;
extern tlv_desc_t gtpv2c_desc_recovery_0;
extern tlv_desc_t gtpv2c_desc_stn_sr_0;
extern tlv_desc_t gtpv2c_desc_apn_0;
extern tlv_desc_t gtpv2c_desc_ambr_0;
extern tlv_desc_t gtpv2c_desc_ebi_0;
extern tlv_desc_t gtpv2c_desc_ip_address_0;
extern tlv_desc_t gtpv2c_desc_ip_address_1;
extern tlv_desc_t gtpv2c_desc_ip_address_2;
extern tlv_desc_t gtpv2c_desc_ip_address_3;
extern tlv_desc_t gtpv2c_desc_mei_0;
extern tlv_desc_t gtpv2c_desc_msisdn_0;
extern tlv_desc_t gtpv2c_desc_indication_0;
extern tlv_desc_t gtpv2c_desc_pco_0;
extern tlv_desc_t gtpv2c_desc_paa_0;
extern tlv_desc_t gtpv2c_desc_bearer_qos_0;
extern tlv_desc_t gtpv2c_desc_flow_qos_0;
extern tlv_desc_t gtpv2c_desc_rat_type_0;
extern tlv_desc_t gtpv2c_desc_serving_network_0;
extern tlv_desc_t gtpv2c_desc_bearer_tft_0;
extern tlv_desc_t gtpv2c_desc_tad_0;
extern tlv_desc_t gtpv2c_desc_uli_0;
extern tlv_desc_t gtpv2c_desc_f_teid_0;
extern tlv_desc_t gtpv2c_desc_f_teid_1;
extern tlv_desc_t gtpv2c_desc_f_teid_2;
extern tlv_desc_t gtpv2c_desc_f_teid_3;
extern tlv_desc_t gtpv2c_desc_f_teid_4;
extern tlv_desc_t gtpv2c_desc_f_teid_5;
extern tlv_desc_t gtpv2c_desc_f_teid_6;
extern tlv_desc_t gtpv2c_desc_f_teid_7;
extern tlv_desc_t gtpv2c_desc_f_teid_8;
extern tlv_desc_t gtpv2c_desc_f_teid_9;
extern tlv_desc_t gtpv2c_desc_tmsi_0;
extern tlv_desc_t gtpv2c_desc_global_cn_id_0;
extern tlv_desc_t gtpv2c_desc_s103pdf_0;
extern tlv_desc_t gtpv2c_desc_s1udf_0;
extern tlv_desc_t gtpv2c_desc_delay_value_0;
extern tlv_desc_t gtpv2c_desc_charging_id_0;
extern tlv_desc_t gtpv2c_desc_charging_characteristics_0;
extern tlv_desc_t gtpv2c_desc_trace_information_0;
extern tlv_desc_t gtpv2c_desc_bearer_flags_0;
extern tlv_desc_t gtpv2c_desc_pdn_type_0;
extern tlv_desc_t gtpv2c_desc_procedure_transaction_id_0;
extern tlv_desc_t gtpv2c_desc_mm_context_0;
extern tlv_desc_t gtpv2c_desc_pdu_numbers_0;
extern tlv_desc_t gtpv2c_desc_p_tmsi_0;
extern tlv_desc_t gtpv2c_desc_p_tmsi_signature_0;
extern tlv_desc_t gtpv2c_desc_hop_counter_0;
extern tlv_desc_t gtpv2c_desc_ue_time_zone_0;
extern tlv_desc_t gtpv2c_desc_trace_reference_0;
extern tlv_desc_t gtpv2c_desc_complete_request_message_0;
extern tlv_desc_t gtpv2c_desc_guti_0;
extern tlv_desc_t gtpv2c_desc_f_container_0;
extern tlv_desc_t gtpv2c_desc_f_cause_0;
extern tlv_desc_t gtpv2c_desc_plmn_id_0;
extern tlv_desc_t gtpv2c_desc_target_identification_0;
extern tlv_desc_t gtpv2c_desc_packet_flow_id_0;
extern tlv_desc_t gtpv2c_desc_rab_context_0;
extern tlv_desc_t gtpv2c_desc_source_rnc_pdcp_context_info_0;
extern tlv_desc_t gtpv2c_desc_port_number_0;
extern tlv_desc_t gtpv2c_desc_port_number_1;
extern tlv_desc_t gtpv2c_desc_port_number_2;
extern tlv_desc_t gtpv2c_desc_apn_restriction_0;
extern tlv_desc_t gtpv2c_desc_selection_mode_0;
extern tlv_desc_t gtpv2c_desc_source_identification_0;
extern tlv_desc_t gtpv2c_desc_change_reporting_action_0;
extern tlv_desc_t gtpv2c_desc_fq_csid_0;
extern tlv_desc_t gtpv2c_desc_fq_csid_1;
extern tlv_desc_t gtpv2c_desc_fq_csid_2;
extern tlv_desc_t gtpv2c_desc_fq_csid_3;
extern tlv_desc_t gtpv2c_desc_channel_needed_0;
extern tlv_desc_t gtpv2c_desc_emlpp_priority_0;
extern tlv_desc_t gtpv2c_desc_node_type_0;
extern tlv_desc_t gtpv2c_desc_fqdn_0;
extern tlv_desc_t gtpv2c_desc_ti_0;
extern tlv_desc_t gtpv2c_desc_mbms_session_duration_0;
extern tlv_desc_t gtpv2c_desc_mbms_service_area_0;
extern tlv_desc_t gtpv2c_desc_mbms_session_identifier_0;
extern tlv_desc_t gtpv2c_desc_mbms_flow_identifier_0;
extern tlv_desc_t gtpv2c_desc_mbms_ip_multicast_distribution_0;
extern tlv_desc_t gtpv2c_desc_mbms_distribution_acknowledge_0;
extern tlv_desc_t gtpv2c_desc_rfsp_index_0;
extern tlv_desc_t gtpv2c_desc_uci_0;
extern tlv_desc_t gtpv2c_desc_csg_information_reporting_action_0;
extern tlv_desc_t gtpv2c_desc_csg_id_0;
extern tlv_desc_t gtpv2c_desc_cmi_0;
extern tlv_desc_t gtpv2c_desc_service_indicator_0;
extern tlv_desc_t gtpv2c_desc_detach_type_0;
extern tlv_desc_t gtpv2c_desc_ldn_0;
extern tlv_desc_t gtpv2c_desc_ldn_1;
extern tlv_desc_t gtpv2c_desc_ldn_2;
extern tlv_desc_t gtpv2c_desc_ldn_3;
extern tlv_desc_t gtpv2c_desc_node_features_0;
extern tlv_desc_t gtpv2c_desc_mbms_time_to_data_transfer_0;
extern tlv_desc_t gtpv2c_desc_throttling_0;
extern tlv_desc_t gtpv2c_desc_arp_0;
extern tlv_desc_t gtpv2c_desc_epc_timer_0;
extern tlv_desc_t gtpv2c_desc_signalling_priority_indication_0;
extern tlv_desc_t gtpv2c_desc_tmgi_0;
extern tlv_desc_t gtpv2c_desc_additional_mm_context_for_srvcc_0;
extern tlv_desc_t gtpv2c_desc_additional_flags_for_srvcc_0;
extern tlv_desc_t gtpv2c_desc_mdt_configuration_0;
extern tlv_desc_t gtpv2c_desc_apco_0;
extern tlv_desc_t gtpv2c_desc_absolute_time_of_mbms_data_transfer_0;
extern tlv_desc_t gtpv2c_desc_enb_information_reporting_0;
extern tlv_desc_t gtpv2c_desc_ip4cp_0;
extern tlv_desc_t gtpv2c_desc_change_to_report_flags_0;
extern tlv_desc_t gtpv2c_desc_action_indication_0;
extern tlv_desc_t gtpv2c_desc_twan_identifier_0;
extern tlv_desc_t gtpv2c_desc_twan_identifier_1;
extern tlv_desc_t gtpv2c_desc_uli_timestamp_0;
extern tlv_desc_t gtpv2c_desc_mbms_flags_0;
extern tlv_desc_t gtpv2c_desc_ran_nas_cause_0;
extern tlv_desc_t gtpv2c_desc_cn_operator_selection_entity_0;
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 */
extern tlv_desc_t gtpv2c_desc_bearer_context;
extern tlv_desc_t gtpv2c_desc_pdn_connection;
extern tlv_desc_t gtpv2c_desc_overload_control_information;
extern tlv_desc_t gtpv2c_desc_load_control_information;
extern tlv_desc_t gtpv2c_desc_remote_ue_context;
extern tlv_desc_t gtpv2c_desc_scef_pdn_connection;
extern tlv_desc_t gtpv2c_desc_bearer_context_0;
extern tlv_desc_t gtpv2c_desc_bearer_context_1;
extern tlv_desc_t gtpv2c_desc_pdn_connection_0;
extern tlv_desc_t gtpv2c_desc_overload_control_information_0;
extern tlv_desc_t gtpv2c_desc_overload_control_information_1;
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 */
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")
for (k, v) in sorted_type_list:
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")
tmp = [(k, v["type"]) for k, v in group_list.items()]
sorted_group_list = sorted(tmp, key=lambda tup: int(tup[1]))
write_file(f, "/* Group Infomration Element TLV Descriptor */\n")
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, "/* Structure for Infomration Element */\n")
@ -420,26 +425,28 @@ f.write("""#include "gtpv2c_tlv.h"
for (k, v) in sorted_type_list:
if k not in group_list.keys():
write_file(f, "tlv_desc_t gtpv2c_desc_%s =" % v_lower(k) + "\n")
write_file(f, "{\n")
write_file(f, " TLV_VAR_STR,\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, " sizeof(gtpv2c_%s_t)," % v_lower(k) + "\n")
write_file(f, " { NULL }\n")
write_file(f, "};\n\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, " TLV_VAR_STR,\n")
write_file(f, " GTPV2C_IE_%s_TYPE," % v_upper(k) + "\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, " { NULL }\n")
write_file(f, "};\n\n")
for (k, v) in sorted_group_list:
write_file(f, "tlv_desc_t gtpv2c_desc_%s =" % v_lower(k) + "\n")
write_file(f, "{\n")
write_file(f, " TLV_COMPOUND,\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, " sizeof(gtpv2c_%s_t),\n" % v_lower(k) + "\n")
write_file(f, " { NULL }\n")
write_file(f, "};\n\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, " TLV_COMPOUND,\n")
write_file(f, " GTPV2C_IE_%s_TYPE,\n" % v_upper(k) + "\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, " { NULL }\n")
write_file(f, "};\n\n")
write_file(f, "\n")