diff options
author | Anders Broman <anders.broman@ericsson.com> | 2013-11-08 05:58:13 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2013-11-08 05:58:13 +0000 |
commit | 88d0e909a23a56f5fe5d6869bc65f4867bf6dc91 (patch) | |
tree | c98cd102e04a3a681d3eaf06d44b546cf571c6e5 /epan/dissectors | |
parent | fd429a6ed303a509fcceab691328d11ce9b508b7 (diff) |
From Katrina Zhang:
Add/fix RFSP dissection.
svn path=/trunk/; revision=53163
Diffstat (limited to 'epan/dissectors')
-rw-r--r-- | epan/dissectors/packet-gtp.c | 8 | ||||
-rw-r--r-- | epan/dissectors/packet-gtpv2.c | 19 |
2 files changed, 19 insertions, 8 deletions
diff --git a/epan/dissectors/packet-gtp.c b/epan/dissectors/packet-gtp.c index 2255efbe7f..23a31e553f 100644 --- a/epan/dissectors/packet-gtp.c +++ b/epan/dissectors/packet-gtp.c @@ -4502,7 +4502,8 @@ decode_qos_umts(tvbuff_t * tvb, int offset, proto_tree * tree, const gchar * qos if(length > 13 ||((type == 2) && (length == 13))) { proto_tree_add_uint(ext_tree_qos, hf_gtp_qos_src_stat_desc, tvb, offset + (12 - 1) * utf8_type + 1, utf8_type, src_stat_desc); proto_tree_add_boolean(ext_tree_qos, hf_gtp_qos_sig_ind, tvb, offset + (12 - 1) * utf8_type + 1, utf8_type, sig_ind); - } + } + if(length > 14) { /* Octet 15 */ @@ -6897,7 +6898,7 @@ decode_gtp_reliable_irat_ho_inf(tvbuff_t * tvb, int offset, packet_info * pinfo static int decode_gtp_rfsp_index(tvbuff_t * tvb, int offset, packet_info * pinfo _U_, proto_tree * tree) { - guint16 length; + guint16 length, rfsp; proto_tree *ext_tree; proto_item *te; @@ -6910,7 +6911,8 @@ decode_gtp_rfsp_index(tvbuff_t * tvb, int offset, packet_info * pinfo _U_, proto proto_tree_add_item(ext_tree, hf_gtp_ext_length, tvb, offset, 2, ENC_BIG_ENDIAN); offset = offset + 2; - proto_tree_add_text(ext_tree, tvb, offset, length, "The rest of the data is not dissected yet"); + rfsp = tvb_get_ntohs(tvb, offset); + proto_tree_add_text(ext_tree, tvb, offset, length, "RFSP Index: %u", rfsp+1); return 3 + length; } diff --git a/epan/dissectors/packet-gtpv2.c b/epan/dissectors/packet-gtpv2.c index 7c9da445da..90027b364c 100644 --- a/epan/dissectors/packet-gtpv2.c +++ b/epan/dissectors/packet-gtpv2.c @@ -376,7 +376,8 @@ static int hf_gtpv2_mbms_ip_mc_src_addrv4 = -1; static int hf_gtpv2_mbms_ip_mc_src_addrv6 = -1; static int hf_gtpv2_mbms_hc_indicator = -1; static int hf_gtpv2_mbms_dist_indication = -1; -static int hf_gtpv2_rfsp_index = -1; +static int hf_gtpv2_subscriber_rfsp = -1; +static int hf_gtpv2_rfsp_inuse = -1; static int hf_gtpv2_mbms_service_id = -1; static int hf_gtpv2_add_flags_for_srvcc_ics = -1; static int hf_gtpv2_vsrvcc_flag = -1; @@ -4681,8 +4682,11 @@ dissect_gtpv2_rfsp_index(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree { int offset = 0; - proto_tree_add_item(tree, hf_gtpv2_rfsp_index, tvb, offset, 2, ENC_BIG_ENDIAN); - + if(instance == 0){ + proto_tree_add_item(tree, hf_gtpv2_subscriber_rfsp, tvb, offset, 2, ENC_BIG_ENDIAN); + }else if(instance == 1){ + proto_tree_add_item(tree, hf_gtpv2_rfsp_inuse, tvb, offset, 2, ENC_BIG_ENDIAN); + } } /* 8.78 CSG ID */ @@ -6815,8 +6819,13 @@ void proto_register_gtpv2(void) FT_UINT8, BASE_DEC, VALS(gtpv2_mbms_dist_indication_vals), 0x03, NULL, HFILL} }, - { &hf_gtpv2_rfsp_index, - {"RFSP Index", "gtpv2.rfsp_index", + { &hf_gtpv2_subscriber_rfsp, + {"Subscribed RFSP Index", "gtpv2.subscriber_rfsp", + FT_INT16, BASE_DEC, NULL, 0x0, + NULL, HFILL} + }, + { &hf_gtpv2_rfsp_inuse, + {"RFSP Index in Use", "gtpv2.rfsp_inuse", FT_INT16, BASE_DEC, NULL, 0x0, NULL, HFILL} }, |