aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-pdcp-lte.c
diff options
context:
space:
mode:
authormartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>2010-11-05 18:00:35 +0000
committermartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>2010-11-05 18:00:35 +0000
commita12c63a6e85c7bc8fc7c070b5d9a404b8a2927a4 (patch)
tree843f4203b3c93d6fe7fef2a6c69f29c90104015e /epan/dissectors/packet-pdcp-lte.c
parentc366111ceeb1f8dd62ee649072f10bb53d873272 (diff)
Pass ueid + channel-info into PDCP dissector.
This will allow me soon to track per-channel sequence numbers... git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@34793 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-pdcp-lte.c')
-rw-r--r--epan/dissectors/packet-pdcp-lte.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/epan/dissectors/packet-pdcp-lte.c b/epan/dissectors/packet-pdcp-lte.c
index 6cebc3da15..bdc78824bd 100644
--- a/epan/dissectors/packet-pdcp-lte.c
+++ b/epan/dissectors/packet-pdcp-lte.c
@@ -60,6 +60,9 @@ int proto_pdcp_lte = -1;
/* Configuration (info known outside of PDU) */
static int hf_pdcp_lte_configuration = -1;
static int hf_pdcp_lte_direction = -1;
+static int hf_pdcp_lte_ueid = -1;
+static int hf_pdcp_lte_channel_type = -1;
+static int hf_pdcp_lte_channel_id = -1;
static int hf_pdcp_lte_rohc = -1;
static int hf_pdcp_lte_rohc_compression = -1;
static int hf_pdcp_lte_rohc_mode = -1;
@@ -196,6 +199,13 @@ static const value_string pdcp_plane_vals[] = {
{ 0, NULL }
};
+static const value_string logical_channel_vals[] = {
+ { Channel_DCCH, "DCCH"},
+ { Channel_BCCH, "BCCH"},
+ { Channel_CCCH, "CCCH"},
+ { Channel_PCCH, "PCCH"},
+ { 0, NULL}
+};
static const value_string rohc_mode_vals[] = {
{ UNIDIRECTIONAL, "Unidirectional" },
@@ -1244,6 +1254,25 @@ static void show_pdcp_config(packet_info *pinfo, tvbuff_t *tvb, proto_tree *tree
p_pdcp_info->plane);
PROTO_ITEM_SET_GENERATED(ti);
+ /* UEId */
+ if (p_pdcp_info->ueid != 0) {
+ ti = proto_tree_add_uint(configuration_tree, hf_pdcp_lte_ueid, tvb, 0, 0,
+ p_pdcp_info->ueid);
+ PROTO_ITEM_SET_GENERATED(ti);
+ }
+
+ /* Channel type */
+ ti = proto_tree_add_uint(configuration_tree, hf_pdcp_lte_channel_type, tvb, 0, 0,
+ p_pdcp_info->channelType);
+ PROTO_ITEM_SET_GENERATED(ti);
+ if (p_pdcp_info->channelId != 0) {
+ /* Channel type */
+ ti = proto_tree_add_uint(configuration_tree, hf_pdcp_lte_channel_id, tvb, 0, 0,
+ p_pdcp_info->channelId);
+ PROTO_ITEM_SET_GENERATED(ti);
+ }
+
+
/* User-plane-specific fields */
if (p_pdcp_info->plane == USER_PLANE) {
@@ -1994,6 +2023,24 @@ void proto_register_pdcp(void)
"Direction of message", HFILL
}
},
+ { &hf_pdcp_lte_ueid,
+ { "UE",
+ "pdcp-lte.ueid", FT_UINT16, BASE_DEC, 0, 0x0,
+ "UE Identifier", HFILL
+ }
+ },
+ { &hf_pdcp_lte_channel_type,
+ { "Channel type",
+ "pdcp-lte.channel-type", FT_UINT8, BASE_DEC, VALS(logical_channel_vals), 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_pdcp_lte_channel_id,
+ { "Channel Id",
+ "pdcp-lte.channel-id", FT_UINT8, BASE_DEC, 0, 0x0,
+ NULL, HFILL
+ }
+ },
{ &hf_pdcp_lte_rohc_profile,
{ "ROHC profile",
"pdcp-lte.rohc.profile", FT_UINT8, BASE_DEC, VALS(rohc_profile_vals), 0x0,