aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-umts_fp.h
diff options
context:
space:
mode:
authorsswsdev <sswsdev@gmail.com>2017-05-16 16:35:41 +0300
committerAnders Broman <a.broman58@gmail.com>2017-05-18 04:52:11 +0000
commitf16bc10dd36f8451458a44d7a5522134661378c2 (patch)
tree5a0ab1f132c0e9b489db8bf695d819ae863ccd10 /epan/dissectors/packet-umts_fp.h
parentc0d81f054adb967f7cfebb7a4c493a843bf95629 (diff)
UMTS FP: Track Paging Indications in PCH
The dissector now carries the 'Paging Indication Bitmap' between subsequent PCH frames. The reason for this is any frame containing the bitmap 'wakes up' users to read the subsequence frame. This feature allows us to see which paging groups were called for each frame. Also refactored some Paging Indication related fields in the umts convoersation object and tree items. Change-Id: I5e55e916ec31b60bc93238b397e07a1260906736 Reviewed-on: https://code.wireshark.org/review/21686 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-umts_fp.h')
-rw-r--r--epan/dissectors/packet-umts_fp.h26
1 files changed, 22 insertions, 4 deletions
diff --git a/epan/dissectors/packet-umts_fp.h b/epan/dissectors/packet-umts_fp.h
index 7bac45bd51..551234da10 100644
--- a/epan/dissectors/packet-umts_fp.h
+++ b/epan/dissectors/packet-umts_fp.h
@@ -81,6 +81,14 @@ enum fp_rlc_mode {
FP_RLC_AM
};
+
+/* Information about the Paging Indication Bitmap seen in a specific PCH frame*/
+typedef struct paging_indications_info_t
+{
+ guint32 frame_number;
+ guint8* paging_indications_bitmap;
+} paging_indications_info_t;
+
/* Info attached to each FP packet */
typedef struct fp_info
{
@@ -92,7 +100,6 @@ typedef struct fp_info
gboolean is_uplink;
gint channel; /* see Channel types definitions above */
guint8 dch_crc_present; /* 0=No, 1=Yes, 2=Unknown */
- gint paging_indications;
gint num_chans;
#define MAX_FP_CHANS 64
gint chan_tf_size[MAX_FP_CHANS];
@@ -112,6 +119,12 @@ typedef struct fp_info
gint com_context_id; /* Identifies a single UE in the network */
guint16 srcport, destport;
+ /* PCH Related data*/
+ gint paging_indications;
+ paging_indications_info_t* relevant_paging_indications; /* Info from previous frame */
+ /* Info from the current frame. Used to carry information from this frame to the converstaion info */
+ paging_indications_info_t* current_paging_indications;
+
/* HSDSCH Related data */
enum fp_hsdsch_entity hsdsch_entity;
gint hsdsch_macflowd_id;
@@ -159,6 +172,14 @@ typedef struct fp_rach_channel_info_t
wmem_tree_t* crnti_to_urnti_map; /* Mapping between C-RNTIs and U-RNTIs using them in this RACH */
} fp_rach_channel_info_t;
+/* Used in the 'channel_specific_info' field for PCH channels */
+typedef struct fp_pch_channel_info_t
+{
+ /*Size of the Paging Indication field in this PCH*/
+ gint paging_indications;
+ /* Information from the previous frame in this field which contained the paging indication field*/
+ paging_indications_info_t* last_paging_indication_info;
+} fp_pch_channel_info_t;
typedef struct
{
@@ -174,9 +195,6 @@ typedef struct
void* channel_specific_info; /* Extended channel info based on the channel type */
- /* For PCH channel */
- gint paging_indications;
-
/* DCH's in this flow */
gint num_dch_in_flow;
gint dchs_in_flow_list[FP_maxNrOfTFs];