forked from osmocom/wireshark
GTPv2: Update IE 8.12 Indication
This commit is contained in:
parent
cf6f049456
commit
1694820e84
|
@ -1595,6 +1595,7 @@ libwireshark.so.0 libwireshark0 #MINVER#
|
||||||
tfs_allocated_by_receiver_sender@Base 1.99.1
|
tfs_allocated_by_receiver_sender@Base 1.99.1
|
||||||
tfs_allow_block@Base 1.9.1
|
tfs_allow_block@Base 1.9.1
|
||||||
tfs_allowed_not_allowed@Base 1.9.1
|
tfs_allowed_not_allowed@Base 1.9.1
|
||||||
|
tfs_applicable_not_applicable@Base 3.5.0
|
||||||
tfs_asynchronous_synchronous@Base 1.99.1
|
tfs_asynchronous_synchronous@Base 1.99.1
|
||||||
tfs_available_not_available@Base 1.9.1
|
tfs_available_not_available@Base 1.9.1
|
||||||
tfs_c2s_s2c@Base 2.5.0
|
tfs_c2s_s2c@Base 2.5.0
|
||||||
|
|
|
@ -141,8 +141,6 @@ static const value_string elmi_evc_type[] = {
|
||||||
{ 0, NULL }
|
{ 0, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
const true_false_string tfs_applicable_not_applicable = { "Applicable", "Not Applicable" };
|
|
||||||
|
|
||||||
static gint
|
static gint
|
||||||
dissect_elmi_sub_info_elem(
|
dissect_elmi_sub_info_elem(
|
||||||
tvbuff_t *tvb, gint offset, proto_tree *tree)
|
tvbuff_t *tvb, gint offset, proto_tree *tree)
|
||||||
|
|
|
@ -50,7 +50,10 @@ static int hf_gtpv2_response_to = -1;
|
||||||
static int hf_gtpv2_response_time = -1;
|
static int hf_gtpv2_response_time = -1;
|
||||||
static int hf_gtpv2_spare_half_octet = -1;
|
static int hf_gtpv2_spare_half_octet = -1;
|
||||||
//static int hf_gtpv2_spare_b7_b1 = -1;
|
//static int hf_gtpv2_spare_b7_b1 = -1;
|
||||||
|
static int hf_gtpv2_spare_b7_b2 = -1;
|
||||||
static int hf_gtpv2_spare_b7_b3 = -1;
|
static int hf_gtpv2_spare_b7_b3 = -1;
|
||||||
|
static int hf_gtpv2_spare_b7_b5 = -1;
|
||||||
|
|
||||||
static int hf_gtpv2_spare_bits = -1;
|
static int hf_gtpv2_spare_bits = -1;
|
||||||
static int hf_gtpv2_flags = -1;
|
static int hf_gtpv2_flags = -1;
|
||||||
static int hf_gtpv2_version = -1;
|
static int hf_gtpv2_version = -1;
|
||||||
|
@ -159,11 +162,18 @@ static int hf_gtpv2_ltempi = -1;
|
||||||
static int hf_gtpv2_enbcrsi = -1;
|
static int hf_gtpv2_enbcrsi = -1;
|
||||||
static int hf_gtpv2_tspcmi = -1;
|
static int hf_gtpv2_tspcmi = -1;
|
||||||
static int hf_gtpv2_ethpdn = -1;
|
static int hf_gtpv2_ethpdn = -1;
|
||||||
|
|
||||||
|
static int hf_gtpv2_csrmfi = -1;
|
||||||
|
static int hf_gtpv2_mtedtn = -1;
|
||||||
|
static int hf_gtpv2_mtedta = -1;
|
||||||
static int hf_gtpv2_n5gnmi = -1;
|
static int hf_gtpv2_n5gnmi = -1;
|
||||||
static int hf_gtpv2_5gcnrs = -1;
|
static int hf_gtpv2_5gcnrs = -1;
|
||||||
static int hf_gtpv2_5gcnri = -1;
|
static int hf_gtpv2_5gcnri = -1;
|
||||||
static int hf_gtpv2_5srhoi = -1;
|
static int hf_gtpv2_5srhoi = -1;
|
||||||
|
|
||||||
|
static int hf_gtpv2_nsenbi = -1;
|
||||||
|
static int hf_gtpv2_idfupf = -1;
|
||||||
|
static int hf_gtpv2_emci = -1;
|
||||||
|
|
||||||
static int hf_gtpv2_pdn_type = -1;
|
static int hf_gtpv2_pdn_type = -1;
|
||||||
static int hf_gtpv2_pdn_ipv4 = -1;
|
static int hf_gtpv2_pdn_ipv4 = -1;
|
||||||
|
@ -781,8 +791,6 @@ static int hf_gtpv2_max_pkt_loss_rte_dl_flg = -1;
|
||||||
static int hf_gtpv2_max_pkt_loss_rte_ul = -1;
|
static int hf_gtpv2_max_pkt_loss_rte_ul = -1;
|
||||||
static int hf_gtpv2_max_pkt_loss_rte_dl = -1;
|
static int hf_gtpv2_max_pkt_loss_rte_dl = -1;
|
||||||
|
|
||||||
static int hf_gtpv2_spare_b7_b2 = -1;
|
|
||||||
static int hf_gtpv2_spare_b7_b5 = -1;
|
|
||||||
static int hf_gtpv2_mm_context_iov_updates_counter = -1;
|
static int hf_gtpv2_mm_context_iov_updates_counter = -1;
|
||||||
static int hf_gtpv2_mm_context_ear_len = -1;
|
static int hf_gtpv2_mm_context_ear_len = -1;
|
||||||
static int hf_gtpv2_node_number_len = -1;
|
static int hf_gtpv2_node_number_len = -1;
|
||||||
|
@ -2339,7 +2347,6 @@ dissect_gtpv2_ind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_ite
|
||||||
|
|
||||||
/* Octet 5 DAF DTF HI DFI OI ISRSI ISRAI SGWCI */
|
/* Octet 5 DAF DTF HI DFI OI ISRSI ISRAI SGWCI */
|
||||||
proto_tree_add_bitmask_list(tree, tvb, offset, 1, oct5_flags, ENC_NA);
|
proto_tree_add_bitmask_list(tree, tvb, offset, 1, oct5_flags, ENC_NA);
|
||||||
|
|
||||||
if (length == 1) {
|
if (length == 1) {
|
||||||
proto_tree_add_expert_format(tree, pinfo, &ei_gtpv2_ie_len_invalid, tvb, 0, length, "Older version?, should be 2 octets in 8.0.0");
|
proto_tree_add_expert_format(tree, pinfo, &ei_gtpv2_ie_len_invalid, tvb, 0, length, "Older version?, should be 2 octets in 8.0.0");
|
||||||
return;
|
return;
|
||||||
|
@ -2468,7 +2475,9 @@ dissect_gtpv2_ind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_ite
|
||||||
}
|
}
|
||||||
|
|
||||||
static int* const oct12_flags[] = {
|
static int* const oct12_flags[] = {
|
||||||
&hf_gtpv2_spare_b7_b5,
|
&hf_gtpv2_csrmfi,
|
||||||
|
&hf_gtpv2_mtedtn,
|
||||||
|
&hf_gtpv2_mtedta,
|
||||||
&hf_gtpv2_n5gnmi,
|
&hf_gtpv2_n5gnmi,
|
||||||
&hf_gtpv2_5gcnrs,
|
&hf_gtpv2_5gcnrs,
|
||||||
&hf_gtpv2_5gcnri,
|
&hf_gtpv2_5gcnri,
|
||||||
|
@ -2476,7 +2485,8 @@ dissect_gtpv2_ind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_ite
|
||||||
&hf_gtpv2_ethpdn,
|
&hf_gtpv2_ethpdn,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
/*Octet 12 Spare ETHPDN */
|
/* Octet 12 CSRMFI MTEDTN MTEDTA N5GNMI 5GCNRS 5GCNRI 5SRHOI ETHPDN */
|
||||||
|
|
||||||
proto_tree_add_bitmask_list(tree, tvb, offset, 1, oct12_flags, ENC_NA);
|
proto_tree_add_bitmask_list(tree, tvb, offset, 1, oct12_flags, ENC_NA);
|
||||||
offset += 1;
|
offset += 1;
|
||||||
|
|
||||||
|
@ -2484,6 +2494,23 @@ dissect_gtpv2_ind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_ite
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int* const oct13_flags[] = {
|
||||||
|
&hf_gtpv2_spare_b7_b3,
|
||||||
|
&hf_gtpv2_nsenbi,
|
||||||
|
&hf_gtpv2_idfupf,
|
||||||
|
&hf_gtpv2_emci,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Octet 13 Spare Spare Spare Spare Spare NSENBI IDFUPF EMCI */
|
||||||
|
proto_tree_add_bitmask_list(tree, tvb, offset, 1, oct13_flags, ENC_NA);
|
||||||
|
offset += 1;
|
||||||
|
|
||||||
|
if (length == 9) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
proto_tree_add_expert_format(tree, pinfo, &ei_gtpv2_ie_data_not_dissected, tvb, offset, -1, "The rest of the IE not dissected yet");
|
proto_tree_add_expert_format(tree, pinfo, &ei_gtpv2_ie_data_not_dissected, tvb, offset, -1, "The rest of the IE not dissected yet");
|
||||||
|
|
||||||
|
|
||||||
|
@ -9288,9 +9315,23 @@ void proto_register_gtpv2(void)
|
||||||
{"TSPCMI (Triggering SGSN Initiated PDP Context Creation/Modification Indication)", "gtpv2.tspcmi",
|
{"TSPCMI (Triggering SGSN Initiated PDP Context Creation/Modification Indication)", "gtpv2.tspcmi",
|
||||||
FT_BOOLEAN, 8, NULL, 0x01, NULL, HFILL}
|
FT_BOOLEAN, 8, NULL, 0x01, NULL, HFILL}
|
||||||
},
|
},
|
||||||
|
{&hf_gtpv2_csrmfi,
|
||||||
|
{ "CSRMFI (Create Session Request Message Forwarded Indication)", "gtpv2.csrmfi",
|
||||||
|
FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }
|
||||||
|
},
|
||||||
|
{&hf_gtpv2_mtedtn,
|
||||||
|
{ "MTEDTN (MT-EDT Not Applicable)", "gtpv2.mtedtn",
|
||||||
|
FT_BOOLEAN, 8, TFS(&tfs_applicable_not_applicable), 0x40, NULL, HFILL }
|
||||||
|
},
|
||||||
|
|
||||||
|
{&hf_gtpv2_mtedta,
|
||||||
|
{ "MTEDTA (MT-EDT Applicable)", "gtpv2.mtedta",
|
||||||
|
FT_BOOLEAN, 8, TFS(&tfs_applicable_not_applicable), 0x20, NULL, HFILL }
|
||||||
|
},
|
||||||
|
|
||||||
{&hf_gtpv2_n5gnmi,
|
{&hf_gtpv2_n5gnmi,
|
||||||
{ "N5GNMI (No 5GS N26 Mobility Indication", "gtpv2.n5gnmi",
|
{ "N5GNMI (No 5GS N26 Mobility Indication)", "gtpv2.n5gnmi",
|
||||||
FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x10, NULL, HFILL }
|
FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }
|
||||||
},
|
},
|
||||||
{ &hf_gtpv2_5gcnrs,
|
{ &hf_gtpv2_5gcnrs,
|
||||||
{ "5GCNRS (5GC Not Restricted Support)", "gtpv2.5gcnrs",
|
{ "5GCNRS (5GC Not Restricted Support)", "gtpv2.5gcnrs",
|
||||||
|
@ -9308,6 +9349,20 @@ void proto_register_gtpv2(void)
|
||||||
{"ETHPDN (Ethernet PDN Support Indication)", "gtpv2.ethpdn",
|
{"ETHPDN (Ethernet PDN Support Indication)", "gtpv2.ethpdn",
|
||||||
FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x01, NULL, HFILL}
|
FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x01, NULL, HFILL}
|
||||||
},
|
},
|
||||||
|
{ &hf_gtpv2_nsenbi,
|
||||||
|
{"NSENBI (Notify Source eNodeB Indication)", "gtpv2.nsenbi",
|
||||||
|
FT_BOOLEAN, 8, NULL, 0x04, NULL, HFILL}
|
||||||
|
},
|
||||||
|
|
||||||
|
{ &hf_gtpv2_idfupf,
|
||||||
|
{"IDFUPF (Indirect Data Forwarding with UPF Indication)", "gtpv2.idfupf",
|
||||||
|
FT_BOOLEAN, 8, NULL, 0x02, NULL, HFILL}
|
||||||
|
},
|
||||||
|
|
||||||
|
{ &hf_gtpv2_emci,
|
||||||
|
{"EMCI (Emergency PDU Session Indication)", "gtpv2.emci",
|
||||||
|
FT_BOOLEAN, 8, NULL, 0x01, NULL, HFILL}
|
||||||
|
},
|
||||||
{ &hf_gtpv2_pdn_type,
|
{ &hf_gtpv2_pdn_type,
|
||||||
{"PDN Type", "gtpv2.pdn_type",
|
{"PDN Type", "gtpv2.pdn_type",
|
||||||
FT_UINT8, BASE_DEC, VALS(gtpv2_pdn_type_vals), 0x07,
|
FT_UINT8, BASE_DEC, VALS(gtpv2_pdn_type_vals), 0x07,
|
||||||
|
|
|
@ -107,6 +107,7 @@ const true_false_string tfs_selected_not_selected = { "Selected", "Not Selected"
|
||||||
const true_false_string tfs_add_drop = { "Add", "Drop" };
|
const true_false_string tfs_add_drop = { "Add", "Drop" };
|
||||||
const true_false_string tfs_no_extension_extension = { "No Extension", "Extension" };
|
const true_false_string tfs_no_extension_extension = { "No Extension", "Extension" };
|
||||||
const true_false_string tfs_user_provider = { "User", "Provider" };
|
const true_false_string tfs_user_provider = { "User", "Provider" };
|
||||||
|
const true_false_string tfs_applicable_not_applicable = { "Applicable", "Not Applicable" };
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Editor modelines - https://www.wireshark.org/tools/modelines.html
|
* Editor modelines - https://www.wireshark.org/tools/modelines.html
|
||||||
|
|
|
@ -126,6 +126,7 @@ WS_DLL_PUBLIC const true_false_string tfs_selected_not_selected;
|
||||||
WS_DLL_PUBLIC const true_false_string tfs_add_drop;
|
WS_DLL_PUBLIC const true_false_string tfs_add_drop;
|
||||||
WS_DLL_PUBLIC const true_false_string tfs_no_extension_extension;
|
WS_DLL_PUBLIC const true_false_string tfs_no_extension_extension;
|
||||||
WS_DLL_PUBLIC const true_false_string tfs_user_provider;
|
WS_DLL_PUBLIC const true_false_string tfs_user_provider;
|
||||||
|
WS_DLL_PUBLIC const true_false_string tfs_applicable_not_applicable;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue