forked from osmocom/wireshark
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>
This commit is contained in:
parent
3c7300f1f0
commit
c6c5bd26cf
|
@ -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 }},
|
||||
|
|
Loading…
Reference in New Issue