aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-umts_fp.c
diff options
context:
space:
mode:
authorDarien Spencer <cusneud@mail.com>2018-02-21 19:34:55 +0200
committerAnders Broman <a.broman58@gmail.com>2018-02-22 05:02:22 +0000
commitc76b37845333a62b66a570e59edef976cfae7cf9 (patch)
tree2c95a9c54519ff2f2b8660f09044c8ad1e3c4fc1 /epan/dissectors/packet-umts_fp.c
parent205424287b0ff732ad555ddc2026f1422633cb12 (diff)
FP: Fix U-RNTI issue in E-DCH
When configured a E-DCH, the first packet in the channel used the CRNCC instead of U-RNTI (if found) Change-Id: I31b50af8a44c6f637ac2eefd4caf319bec44c3c6 Reviewed-on: https://code.wireshark.org/review/25929 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-umts_fp.c')
-rw-r--r--epan/dissectors/packet-umts_fp.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/epan/dissectors/packet-umts_fp.c b/epan/dissectors/packet-umts_fp.c
index 6283b39b7e..796e109a6d 100644
--- a/epan/dissectors/packet-umts_fp.c
+++ b/epan/dissectors/packet-umts_fp.c
@@ -5125,10 +5125,9 @@ make_fake_lchid(packet_info *pinfo _U_, gint trchld)
return fake_map[trchld];
}
-/* Figures the best "UE ID" to use in RLC reassembly logic */
-static guint32 get_ue_id_from_conv(umts_fp_conversation_info_t *p_conv_data)
+/* Tries to resolve the U-RNTI of a channel user based on info in the fp conv info */
+static void fp_conv_resolve_urnti(umts_fp_conversation_info_t *p_conv_data)
{
- guint32 user_identity;
/* Trying to resolve the U-RNTI of the user if missing */
/* Resolving based on the 'C-RNC Communication Context' field found in NBAP */
if (!p_conv_data->urnti && p_conv_data->com_context_id != 0) {
@@ -5137,6 +5136,12 @@ static guint32 get_ue_id_from_conv(umts_fp_conversation_info_t *p_conv_data)
p_conv_data->urnti = GPOINTER_TO_UINT(mapped_urnti);
}
}
+}
+
+/* Figures the best "UE ID" to use in RLC reassembly logic */
+static guint32 get_ue_id_from_conv(umts_fp_conversation_info_t *p_conv_data)
+{
+ guint32 user_identity;
/* Choosing RLC 'UE ID': */
/* 1. Preferring the U-RNTI if attached */
/* 2. Fallback - Using the 'C-RNC Communication Context' used in NBAP for this user */
@@ -5194,6 +5199,9 @@ fp_set_per_packet_inf_from_conv(conversation_t *p_conv,
fpi->destport = pinfo->destport;
fpi->com_context_id = p_conv_data->com_context_id;
+ if(!p_conv_data->urnti) {
+ fp_conv_resolve_urnti(p_conv_data);
+ }
fpi->urnti = p_conv_data->urnti;
if (pinfo->link_dir == P2P_DIR_UL) {