diff options
author | Anders Broman <anders.broman@ericsson.com> | 2012-07-27 08:10:31 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2012-07-27 08:10:31 +0000 |
commit | ad7c4a4bbadb408c4b0b0cc385a3db17209a1c98 (patch) | |
tree | ed17beb45e4ca4da9f7115a7761edfcf024252a8 /epan/dissectors/packet-umts_mac.c | |
parent | 3bfda44ae01b5f16bfd425afe19261e51f4d78b6 (diff) | |
download | wireshark-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.c | 9 |
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)"); |