summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-umts_mac.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2012-07-27 08:10:31 +0000
committerAnders Broman <anders.broman@ericsson.com>2012-07-27 08:10:31 +0000
commitad7c4a4bbadb408c4b0b0cc385a3db17209a1c98 (patch)
treeed17beb45e4ca4da9f7115a7761edfcf024252a8 /epan/dissectors/packet-umts_mac.c
parent3bfda44ae01b5f16bfd425afe19261e51f4d78b6 (diff)
downloadwireshark-ad7c4a4bbadb408c4b0b0cc385a3db17209a1c98.tar.gz
From Jacob Nordgren and Rishie Sharma:
- Added basic support for tracking flows over reconfigured transport channels + mindor bugfixes - small fix in rrc, and some small cleanups svn path=/trunk/; revision=44062
Diffstat (limited to 'epan/dissectors/packet-umts_mac.c')
-rw-r--r--epan/dissectors/packet-umts_mac.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/epan/dissectors/packet-umts_mac.c b/epan/dissectors/packet-umts_mac.c
index 9dcbb8fd01..8f08a401f0 100644
--- a/epan/dissectors/packet-umts_mac.c
+++ b/epan/dissectors/packet-umts_mac.c
@@ -177,21 +177,23 @@ static guint16 tree_add_common_dcch_dtch_fields(tvbuff_t *tvb, packet_info *pinf
proto_tree *tree, guint16 bitoffs, fp_info *fpinf, umts_mac_info *macinf, rlc_info *rlcinf)
{
guint8 ueid_type;
-
+
ueid_type = tvb_get_bits8(tvb, bitoffs, 2);
proto_tree_add_bits_item(tree, hf_mac_ueid_type, tvb, bitoffs, 2, ENC_BIG_ENDIAN);
bitoffs += 2;
if (ueid_type == MAC_UEID_TYPE_URNTI) {
proto_tree_add_bits_item(tree, hf_mac_urnti, tvb, bitoffs, 32, ENC_BIG_ENDIAN);
+ rlcinf->urnti[fpinf->cur_tb] = tvb_get_bits32(tvb, bitoffs, 32,FALSE);
bitoffs += 32;
} else if (ueid_type == MAC_UEID_TYPE_CRNTI) {
proto_tree_add_bits_item(tree, hf_mac_crnti, tvb, 4, 16, ENC_BIG_ENDIAN);
+ rlcinf->urnti[fpinf->cur_tb] = tvb_get_bits16(tvb, bitoffs, 16,FALSE);
bitoffs += 16;
}
if (macinf->ctmux[fpinf->cur_tb]) {
if(rlcinf){
- rlcinf->rbid[fpinf->cur_tb] = tvb_get_bits8(tvb, bitoffs, 4);
+ rlcinf->rbid[fpinf->cur_tb] = tvb_get_bits8(tvb, bitoffs, 4)+1;
}
proto_tree_add_bits_item(tree, hf_mac_ct, tvb, bitoffs, 4, ENC_BIG_ENDIAN);
bitoffs += 4;
@@ -274,8 +276,9 @@ static void dissect_mac_fdd_rach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
/*Set RLC Mode/MAC content based on the L-CHID derived from the C/T flag*/
c_t = tvb_get_bits8(tvb,bitoffs-4,4);
- rlcinf->mode[fpinf->cur_tb] = lchId_rlc_map[c_t+1];
+ rlcinf->mode[chan] = lchId_rlc_map[c_t+1];
macinf->content[chan] = lchId_type_table[c_t+1];
+ rlcinf->rbid[chan] = c_t+1;
switch (macinf->content[chan]) {
case MAC_CONTENT_DCCH:
proto_item_append_text(ti, " (DCCH)");