aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gsm_a_gm.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2018-03-29 22:14:27 +0200
committerAnders Broman <a.broman58@gmail.com>2018-03-29 22:56:03 +0000
commit684ca9db12b107f7d0ab5f2e5e29320da5ef9a77 (patch)
tree4d2f395be486a7d533dae331333f8422e5e6c3f5 /epan/dissectors/packet-gsm_a_gm.c
parente2ec760d5ec00168d20b6c87095d8752934d732f (diff)
3GPP NAS: upgrade dissector to v15.2.0
Change-Id: I11510356950c1eab4d77f8473f62aa6428311853 Reviewed-on: https://code.wireshark.org/review/26682 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-gsm_a_gm.c')
-rw-r--r--epan/dissectors/packet-gsm_a_gm.c51
1 files changed, 50 insertions, 1 deletions
diff --git a/epan/dissectors/packet-gsm_a_gm.c b/epan/dissectors/packet-gsm_a_gm.c
index 01ef01b2af..97023632fb 100644
--- a/epan/dissectors/packet-gsm_a_gm.c
+++ b/epan/dissectors/packet-gsm_a_gm.c
@@ -69,7 +69,7 @@
* Mobile radio interface Layer 3 specification;
* Core network protocols;
* Stage 3
- * (3GPP TS 24.008 version 15.1.0 Release 15)
+ * (3GPP TS 24.008 version 15.2.0 Release 15)
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
@@ -555,6 +555,8 @@ static int hf_gsm_a_gm_sm_pco_3gpp_data_off_ue_status = -1;
static int hf_gsm_a_gm_sm_pco_sel_bearer_ctrl_mode = -1;
static int hf_gsm_a_gm_sm_pco_add_apn_rate_ctrl_params_ul_time_unit = -1;
static int hf_gsm_a_gm_sm_pco_add_apn_rate_ctrl_params_max_ul_rate = -1;
+static int hf_gsm_a_gm_sm_pco_pdu_session_id = -1;
+static int hf_gsm_a_gm_sm_pco_pdu_session_address_lifetime = -1;
static int hf_gsm_a_sm_pdp_type_number = -1;
static int hf_gsm_a_sm_pdp_address = -1;
static int hf_gsm_a_gm_ti_value = -1;
@@ -4411,6 +4413,7 @@ static const range_string gsm_a_sm_pco_ms2net_prot_vals[] = {
{ 0x0017, 0x0017, "3GPP PS data off UE status" },
{ 0x0018, 0x0018, "Reliable Data Service request indicator" },
{ 0x0019, 0x0019, "Additional APN rate control for exception data support indicator" },
+ { 0x001a, 0x001a, "PDU session ID" },
{ 0xff00, 0xffff, "Operator Specific Use" },
{ 0, 0, NULL }
};
@@ -4440,6 +4443,11 @@ static const range_string gsm_a_sm_pco_net2ms_prot_vals[] = {
{ 0x0017, 0x0017, "3GPP PS data off support indication" },
{ 0x0018, 0x0018, "Reliable Data Service accepted indicator" },
{ 0x0019, 0x0019, "Additional APN rate control for exception data parameters" },
+ { 0x001a, 0x001a, "Reserved" },
+ { 0x001b, 0x001b, "S-NSSAI" },
+ { 0x001c, 0x001c, "QoS rules" },
+ { 0x001d, 0x001d, "Session-AMBR" },
+ { 0x001e, 0x001e, "PDU session address lifetime" },
{ 0xff00, 0xffff, "Operator Specific Use" },
{ 0, 0, NULL }
};
@@ -4648,6 +4656,37 @@ de_sm_pco(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, g
}
}
break;
+ case 0x001a:
+ if (link_dir == P2P_DIR_UL) {
+ proto_tree_add_item(pco_tree, hf_gsm_a_gm_sm_pco_pdu_session_id, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
+ }
+ break;
+ case 0x001b:
+ if (link_dir == P2P_DIR_DL && e_len >= 4) {
+ de_nas_5gs_mm_s_nssai(tvb, pco_tree, pinfo, curr_offset, e_len - 3, NULL, 0);
+ dissect_e212_mcc_mnc(tvb, pinfo, pco_tree, curr_offset + e_len - 3, E212_NONE, TRUE);
+ }
+ break;
+ case 0x001c:
+ if (link_dir == P2P_DIR_DL) {
+ de_nas_5gs_sm_qos_rules(tvb, pco_tree, pinfo, curr_offset, e_len, NULL, 0);
+ }
+ break;
+ case 0x001d:
+ if (link_dir == P2P_DIR_DL) {
+ de_nas_5gs_sm_qos_rules(tvb, pco_tree, pinfo, curr_offset, e_len, NULL, 0);
+ }
+ break;
+ case 0x001e:
+ if (link_dir == P2P_DIR_DL) {
+ de_nas_5gs_sm_session_ambr(tvb, pco_tree, pinfo, curr_offset, e_len, NULL, 0);
+ }
+ break;
+ case 0x001f:
+ if (link_dir == P2P_DIR_DL && e_len == 2) {
+ proto_tree_add_item(pco_tree, hf_gsm_a_gm_sm_pco_pdu_session_address_lifetime, tvb, curr_offset, 2, ENC_BIG_ENDIAN);
+ }
+ break;
default:
{
if (e_len > 0) {
@@ -9204,6 +9243,16 @@ proto_register_gsm_a_gm(void)
FT_UINT16, BASE_DEC|BASE_UNIT_STRING, &units_message_messages, 0x0,
NULL, HFILL }
},
+ { &hf_gsm_a_gm_sm_pco_pdu_session_id,
+ { "PDU session identity", "gsm_a.gm.sm.pco.pdu_session_id",
+ FT_UINT8, BASE_DEC, VALS(nas_5gs_pdu_session_id_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_gsm_a_gm_sm_pco_pdu_session_address_lifetime,
+ { "PDU session address lifetime", "gsm_a.gm.sm.pco.pdu_session_address_lifetime",
+ FT_UINT8, BASE_DEC|BASE_UNIT_STRING, &units_second_seconds, 0x0,
+ NULL, HFILL }
+ },
/* Generated from convert_proto_tree_add_text.pl */
{ &hf_gsm_a_gm_presence, { "Presence", "gsm_a.gm.gmm.presence", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_gsm_a_gm_8psk_power_class, { "8PSK Power Class", "gsm_a.gm.8psk_power_class", FT_UINT8, BASE_DEC, VALS(gsm_a_gm_8psk_power_class_vals), 0x0, NULL, HFILL }},