aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucas Simopoulos <lsimopoulos@gmail.com>2016-03-23 23:51:21 +0200
committerPascal Quantin <pascal.quantin@gmail.com>2016-03-24 08:40:55 +0000
commit37bb735c6fb30afd2c8ad7a563967768b82b2132 (patch)
treebc55f54664ec18a48ddc6a4b37779396b1291112
parentfc690a67817eab7ce519e2ac43dde9c8e41d1d43 (diff)
Add support in order to dissect the GTPv2 IE "Presence Reporting Area Information"
Change-Id: Ibe25fd95a5020b1663c096b5e35a04587821d71e Reviewed-on: https://code.wireshark.org/review/14604 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
-rw-r--r--epan/dissectors/packet-gtpv2.c28
1 files changed, 27 insertions, 1 deletions
diff --git a/epan/dissectors/packet-gtpv2.c b/epan/dissectors/packet-gtpv2.c
index d6ed0b380e..a6fb749410 100644
--- a/epan/dissectors/packet-gtpv2.c
+++ b/epan/dissectors/packet-gtpv2.c
@@ -450,6 +450,10 @@ static int hf_gtpv2_ik_ps = -1;
static int hf_gtpv2_kc_ps = -1;
static int hf_gtpv2_cksn_ps = -1;
+static int hf_gtpv2_pres_rep_area_info_id = -1;
+static int hf_gtpv2_pres_rep_area_info_opra = -1;
+static int hf_gtpv2_pres_rep_area_info_ipra = -1;
+
/* Generated from convert_proto_tree_add_text.pl */
static int hf_gtpv2_downlink_subscribed_ue_ambr = -1;
static int hf_gtpv2_mm_context_sres = -1;
@@ -5847,7 +5851,14 @@ dissect_gtpv2_pres_rep_area_action(tvbuff_t *tvb, packet_info *pinfo, proto_tree
static void
dissect_gtpv2_pres_rep_area_information(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item _U_, guint16 length _U_, guint8 message_type _U_, guint8 instance _U_, session_args_t * args _U_)
{
- proto_tree_add_expert(tree, pinfo, &ei_gtpv2_ie_data_not_dissected, tvb, 0, length);
+ int offset = 0;
+
+ /*Octet 5 to 7 Presence Reporting Area Identifier */
+ proto_tree_add_item(tree, hf_gtpv2_pres_rep_area_info_id, tvb, offset, 3 , ENC_BIG_ENDIAN);
+ offset+=3;
+
+ proto_tree_add_item(tree, hf_gtpv2_pres_rep_area_info_opra, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_gtpv2_pres_rep_area_info_ipra, tvb, offset, 1, ENC_BIG_ENDIAN);
}
/*
* 8.110 TWAN Identifier Timestamp
@@ -8411,6 +8422,21 @@ void proto_register_gtpv2(void)
FT_UINT8, BASE_HEX, NULL, 0x0,
NULL, HFILL }
},
+ { &hf_gtpv2_pres_rep_area_info_id,
+ {"Presence Reporting Area Identifier", "gtpv2.pres_rep_area_info_id",
+ FT_UINT24, BASE_HEX, NULL, 0x0,
+ NULL, HFILL}
+ },
+ { &hf_gtpv2_pres_rep_area_info_opra,
+ {"Outside Presence Reporting Area(OPRA) Flag", "gtpv2.pres_rep_area_info_opra",
+ FT_BOOLEAN, 8, NULL, 0x2,
+ NULL, HFILL}
+ },
+ { &hf_gtpv2_pres_rep_area_info_ipra,
+ {"Inside Presence Reporting Area(IPRA) Flag", "gtpv2.pres_rep_area_info_ipra",
+ FT_BOOLEAN, 8, NULL, 0x1,
+ NULL, HFILL}
+ },
{ &hf_gtpv2_ppi_value,
{"Paging and Policy Information Value", "gtpv2.ppi_value",
FT_UINT8, BASE_DEC | BASE_EXT_STRING,