diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2018-01-03 19:22:38 +0100 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2018-01-03 20:36:01 +0000 |
commit | 8a08237d23017644336fa895b5bbde1a3d18fe57 (patch) | |
tree | 3af14b4b4f53145c1173be44fd59fefef543b5b1 /epan/dissectors/packet-gsm_a_gm.c | |
parent | e0d04a752aebd91bc368932364c086576962c26d (diff) |
3GPP NAS: upgrade dissector to v15.1.0
Change-Id: Ibfbed335d842e53eabce36e2955a9bb2790d46fb
Reviewed-on: https://code.wireshark.org/review/25131
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-gsm_a_gm.c')
-rw-r--r-- | epan/dissectors/packet-gsm_a_gm.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/epan/dissectors/packet-gsm_a_gm.c b/epan/dissectors/packet-gsm_a_gm.c index c9fc9a2f13..69c749cc25 100644 --- a/epan/dissectors/packet-gsm_a_gm.c +++ b/epan/dissectors/packet-gsm_a_gm.c @@ -65,6 +65,12 @@ * Stage 3 * (3GPP TS 24.008 version 14.6.0 Release 14) * + * Reference [15] + * Mobile radio interface Layer 3 specification; + * Core network protocols; + * Stage 3 + * (3GPP TS 24.008 version 15.1.0 Release 15) + * * Wireshark - Network traffic analyzer * By Gerald Combs <gerald@wireshark.org> * Copyright 1998 Gerald Combs @@ -218,6 +224,7 @@ static const value_string gsm_gm_elem_strings[] = { { DE_PD_PRO_ADDR, "Packet Data Protocol Address" }, { DE_QOS, "Quality Of Service" }, { DE_RE_ATTEMPT_IND, "Re-attempt Indicator" }, + { DE_EXT_QOS, "Extended Quality Of Service" }, { DE_SM_CAUSE, "SM Cause" }, { DE_SM_CAUSE_2, "SM Cause 2" }, { DE_LINKED_TI, "Linked TI" }, @@ -523,6 +530,7 @@ static int hf_gsm_a_gmm_net_cap_up_gia6 = -1; static int hf_gsm_a_gmm_net_cap_up_gia7 = -1; static int hf_gsm_a_gmm_net_cap_epco_ie_ind = -1; static int hf_gsm_a_gmm_net_cap_restrict_use_enh_cov = -1; +static int hf_gsm_a_gmm_net_cap_dc_eutra_nr_cap = -1; /* Generated from convert_proto_tree_add_text.pl */ static int hf_gsm_a_gm_presence = -1; @@ -1217,6 +1225,11 @@ static const true_false_string gsm_a_gmm_net_cap_restrict_use_enh_cov_vals = { "Mobile station does not support restriction on use of enhanced coverage" }; +static const true_false_string gsm_a_gmm_net_cap_dc_eutra_nr_cap_vals = { + "Mobile station supports dual connectivity of E-UTRA with NR", + "Mobile station does not support dual connectivity of E-UTRA with NR" +}; + guint16 de_gmm_ms_net_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_) { @@ -1317,6 +1330,9 @@ de_gmm_ms_net_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 o /* bit 2: Restriction on use of enhanced coverage capability */ proto_tree_add_item(tree, hf_gsm_a_gmm_net_cap_restrict_use_enh_cov, tvb, curr_offset, 1, ENC_BIG_ENDIAN); + /* bit 1: Dual connectivity of E-UTRA with NR capability */ + proto_tree_add_item(tree, hf_gsm_a_gmm_net_cap_dc_eutra_nr_cap, tvb, curr_offset, 1, ENC_BIG_ENDIAN); + curr_offset++; EXTRANEOUS_DATA_CHECK(len, curr_offset - offset, pinfo, &ei_gsm_a_gm_extraneous_data); @@ -5318,6 +5334,21 @@ de_sm_re_attempt_ind(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint3 } /* + * [15] 10.5.6.5b Extended quality of service + */ +static guint16 +de_sm_ext_qos(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_) +{ + guint32 curr_offset; + + curr_offset = offset; + + EXTRANEOUS_DATA_CHECK(len, curr_offset - offset, pinfo, &ei_gsm_a_gm_extraneous_data); + + return len; +} + +/* * [9] 10.5.6.6 SM cause */ static const value_string gsm_a_sm_cause_vals[] = { @@ -6138,6 +6169,7 @@ guint16 (*gm_elem_fcn[])(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_ de_sm_pdp_addr, /* Packet Data Protocol Address */ de_sm_qos, /* Quality Of Service */ de_sm_re_attempt_ind, /* Re-attempt indicator */ + de_sm_ext_qos, /* Extended quality of service */ de_sm_cause, /* SM Cause */ de_sm_cause_2, /* SM Cause 2 */ de_sm_linked_ti, /* Linked TI */ @@ -7000,6 +7032,8 @@ dtap_sm_act_pdp_req(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 ELEM_OPT_TLV_E(0x7B, GSM_A_PDU_TYPE_GM, DE_EXT_PRO_CONF_OPT, NULL); + ELEM_OPT_TLV(0x5C, GSM_A_PDU_TYPE_GM, DE_EXT_QOS, NULL); + EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data); } @@ -7050,6 +7084,8 @@ dtap_sm_act_pdp_acc(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 ELEM_OPT_TLV_E(0x7B, GSM_A_PDU_TYPE_GM, DE_EXT_PRO_CONF_OPT, NULL); + ELEM_OPT_TLV(0x5C, GSM_A_PDU_TYPE_GM, DE_EXT_QOS, NULL); + EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data); } @@ -7123,6 +7159,8 @@ dtap_sm_act_sec_pdp_req(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui ELEM_OPT_TLV_E(0x7B, GSM_A_PDU_TYPE_GM, DE_EXT_PRO_CONF_OPT, NULL); + ELEM_OPT_TLV(0x5C, GSM_A_PDU_TYPE_GM, DE_EXT_QOS, NULL); + EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data); } @@ -7167,6 +7205,8 @@ dtap_sm_act_sec_pdp_acc(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui ELEM_OPT_TLV_E(0x7B, GSM_A_PDU_TYPE_GM, DE_EXT_PRO_CONF_OPT, NULL); + ELEM_OPT_TLV(0x5C, GSM_A_PDU_TYPE_GM, DE_EXT_QOS, NULL); + EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data); } @@ -7307,6 +7347,8 @@ dtap_sm_mod_pdp_req_net(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui ELEM_OPT_TLV_E(0x7B, GSM_A_PDU_TYPE_GM, DE_EXT_PRO_CONF_OPT, NULL); + ELEM_OPT_TLV(0x5C, GSM_A_PDU_TYPE_GM, DE_EXT_QOS, NULL); + EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data); } @@ -7342,6 +7384,8 @@ dtap_sm_mod_pdp_req_ms(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guin ELEM_OPT_TLV_E(0x7B, GSM_A_PDU_TYPE_GM, DE_EXT_PRO_CONF_OPT, NULL); + ELEM_OPT_TLV(0x5C, GSM_A_PDU_TYPE_GM, DE_EXT_QOS, NULL); + EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data); } @@ -7406,6 +7450,8 @@ dtap_sm_mod_pdp_acc_net(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui ELEM_OPT_TLV_E(0x7B, GSM_A_PDU_TYPE_GM, DE_EXT_PRO_CONF_OPT, NULL); + ELEM_OPT_TLV(0x5C, GSM_A_PDU_TYPE_GM, DE_EXT_QOS, NULL); + EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data); } @@ -7539,6 +7585,8 @@ dtap_sm_req_sec_pdp_act(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui ELEM_OPT_TLV_E(0x7B, GSM_A_PDU_TYPE_GM, DE_EXT_PRO_CONF_OPT, NULL); + ELEM_OPT_TLV(0x5C, GSM_A_PDU_TYPE_GM, DE_EXT_QOS, NULL); + EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data); } @@ -8716,6 +8764,11 @@ proto_register_gsm_a_gm(void) FT_BOOLEAN, 8, TFS(&gsm_a_gmm_net_cap_restrict_use_enh_cov_vals), 0x02, NULL, HFILL } }, + { &hf_gsm_a_gmm_net_cap_dc_eutra_nr_cap, + { "Dual connectivity of E-UTRA with NR capability", "gsm_a.gm.gmm.net_cap.dc_eutra_nr_cap", + FT_BOOLEAN, 8, TFS(&gsm_a_gmm_net_cap_dc_eutra_nr_cap_vals), 0x01, + NULL, HFILL } + }, { &hf_gsm_a_sm_tmgi, { "Temporary Mobile Group Identity (TMGI)", "gsm_a.gm.sm.tmgi", FT_UINT24, BASE_HEX, NULL, 0x0, |