diff options
author | Darien Spencer <cusneud@mail.com> | 2018-09-04 20:21:03 +0300 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2018-09-06 04:19:07 +0000 |
commit | c6c5bd26cf84e81ae6af80165dd36e0c4d489980 (patch) | |
tree | d7d8d54ce29cdd580375b596045c776529f98c64 /epan/dissectors/packet-umts_fp.c | |
parent | 3c7300f1f07ce41bc868395e5531d70dce18a304 (diff) |
FP: Show ToA expert info for non-dch channels
Also fix precision for DCH ToA value in ms.
Change-Id: Iece72953d129a3c9bb4aa3c1bcbc745c799eecb6
Reviewed-on: https://code.wireshark.org/review/29419
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.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/epan/dissectors/packet-umts_fp.c b/epan/dissectors/packet-umts_fp.c index f9e7bc6cb0..0668c65a62 100644 --- a/epan/dissectors/packet-umts_fp.c +++ b/epan/dissectors/packet-umts_fp.c @@ -1058,24 +1058,25 @@ static int dissect_common_timing_adjustment(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset, struct fp_info *p_fp_info) { + gint32 toa; + proto_item *toa_ti; + if (p_fp_info->channel != CHANNEL_PCH) { guint32 cfn; - gint16 toa; /* CFN control */ proto_tree_add_item_ret_uint(tree, hf_fp_cfn_control, tvb, offset, 1, ENC_BIG_ENDIAN, &cfn); offset++; /* ToA */ - toa = tvb_get_ntohs(tvb, offset); - proto_tree_add_item(tree, hf_fp_toa, tvb, offset, 2, ENC_BIG_ENDIAN); + toa = (gint32)tvb_get_ntohs(tvb, offset); + toa_ti = proto_tree_add_item(tree, hf_fp_toa, tvb, offset, 2, ENC_BIG_ENDIAN); offset += 2; col_append_fstr(pinfo->cinfo, COL_INFO, " CFN=%u, ToA=%d", cfn, toa); } else { guint32 cfn; - gint32 toa; /* PCH CFN is 12 bits */ proto_tree_add_item_ret_uint(tree, hf_fp_pch_cfn, tvb, offset, 2, ENC_BIG_ENDIAN, &cfn); @@ -1085,11 +1086,14 @@ dissect_common_timing_adjustment(packet_info *pinfo, proto_tree *tree, tvbuff_t /* 20 bits of ToA (followed by 4 padding bits) */ toa = ((int)(tvb_get_ntoh24(tvb, offset) << 8)) / 4096; - proto_tree_add_int(tree, hf_fp_pch_toa, tvb, offset, 3, toa); + toa_ti = proto_tree_add_int(tree, hf_fp_pch_toa, tvb, offset, 3, toa); offset += 3; col_append_fstr(pinfo->cinfo, COL_INFO, " CFN=%u, ToA=%d", cfn, toa); } + + expert_add_info_format(pinfo, toa_ti, &ei_fp_timing_adjustmentment_reported, "Timing adjustmentment reported (%.3f ms)", ((float)(toa) / 8)); + return offset; } @@ -2197,7 +2201,7 @@ dissect_dch_timing_adjustment(proto_tree *tree, packet_info *pinfo, tvbuff_t *tv toa_ti = proto_tree_add_item(tree, hf_fp_toa, tvb, offset, 2, ENC_BIG_ENDIAN); offset += 2; - expert_add_info_format(pinfo, toa_ti, &ei_fp_timing_adjustmentment_reported, "Timing adjustmentment reported (%f ms)", (float)(toa / 8)); + expert_add_info_format(pinfo, toa_ti, &ei_fp_timing_adjustmentment_reported, "Timing adjustmentment reported (%.3f ms)", ((float)(toa) / 8)); col_append_fstr(pinfo->cinfo, COL_INFO, " CFN = %u, ToA = %d", cfn, toa); @@ -6777,7 +6781,7 @@ void proto_register_fp(void) { &ei_fp_spare_extension, { "fp.spare-extension.expert", PI_UNDECODED, PI_WARN, "Spare Extension present (%u bytes)", EXPFILL }}, { &ei_fp_bad_payload_checksum, { "fp.payload-crc.bad", PI_CHECKSUM, PI_WARN, "Bad payload checksum.", EXPFILL }}, { &ei_fp_stop_hsdpa_transmission, { "fp.stop_hsdpa_transmission", PI_RESPONSE_CODE, PI_NOTE, "Stop HSDPA transmission", EXPFILL }}, - { &ei_fp_timing_adjustmentment_reported, { "fp.timing_adjustmentment_reported", PI_SEQUENCE, PI_WARN, "Timing adjustmentment reported (%f ms)", EXPFILL }}, + { &ei_fp_timing_adjustmentment_reported, { "fp.timing_adjustmentment_reported", PI_SEQUENCE, PI_WARN, "Timing adjustmentment reported (%.3f ms)", EXPFILL }}, { &ei_fp_expecting_tdd, { "fp.expecting_tdd", PI_MALFORMED, PI_NOTE, "Error: expecting TDD-384 or TDD-768", EXPFILL }}, { &ei_fp_ddi_not_defined, { "fp.ddi_not_defined", PI_MALFORMED, PI_ERROR, "DDI %u not defined for this UE!", EXPFILL }}, { &ei_fp_unable_to_locate_ddi_entry, { "fp.unable_to_locate_ddi_entry", PI_UNDECODED, PI_ERROR, "Unable to locate DDI entry.", EXPFILL }}, |