diff options
author | stig <stig@f5534014-38df-0310-8fa8-9805f1628bb7> | 2007-12-19 11:25:47 +0000 |
---|---|---|
committer | stig <stig@f5534014-38df-0310-8fa8-9805f1628bb7> | 2007-12-19 11:25:47 +0000 |
commit | 84719b7670b06bf23ec5a71e5a7dbc51608cf4da (patch) | |
tree | faba3995377a198ce6b0d90bef92a3e6cb63ff81 /epan/dissectors/packet-p_mul.c | |
parent | d582169d82f026c5fa1510ce5e4e14960ebd73c6 (diff) |
Added total retransmission time analysis field.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@23924 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-p_mul.c')
-rw-r--r-- | epan/dissectors/packet-p_mul.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/epan/dissectors/packet-p_mul.c b/epan/dissectors/packet-p_mul.c index 67d8bcdf43..55175bfa3b 100644 --- a/epan/dissectors/packet-p_mul.c +++ b/epan/dissectors/packet-p_mul.c @@ -116,7 +116,8 @@ static int hf_msg_reassembled_in = -1; static int hf_analysis_ack_time = -1; static int hf_analysis_total_time = -1; -static int hf_analysis_rto_time = -1; +static int hf_analysis_retrans_time = -1; +static int hf_analysis_total_retrans_time = -1; static int hf_analysis_last_pdu_num = -1; static int hf_analysis_addr_pdu_num = -1; static int hf_analysis_addr_pdu_time = -1; @@ -516,9 +517,20 @@ static p_mul_id_val *p_mul_add_seq_ack (tvbuff_t *tvb, packet_info *pinfo, pkg_data->msg_resend_count); nstime_delta (&ns, &pinfo->fd->abs_ts, &pkg_data->prev_msg_time); - en = proto_tree_add_time (analysis_tree, hf_analysis_rto_time, + en = proto_tree_add_time (analysis_tree, hf_analysis_retrans_time, tvb, 0, 0, &ns); PROTO_ITEM_SET_GENERATED (en); + + nstime_delta (&ns, &pinfo->fd->abs_ts, &pkg_data->first_msg_time); + eh = proto_tree_add_time (analysis_tree, hf_analysis_total_retrans_time, + tvb, 0, 0, &ns); + PROTO_ITEM_SET_GENERATED (eh); + + if (pkg_data->first_msg_time.secs == pkg_data->prev_msg_time.secs && + pkg_data->first_msg_time.nsecs == pkg_data->prev_msg_time.nsecs) { + /* Time values does not differ, hide the total time */ + PROTO_ITEM_SET_HIDDEN (eh); + } } } else if (pdu_type == Ack_PDU) { if (pkg_data->msg_type != Ack_PDU) { @@ -1138,9 +1150,12 @@ void proto_register_p_mul (void) { &hf_analysis_total_time, { "Total Time", "p_mul.analysis.total_time", FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0, "The time between the first Address PDU and the Ack", HFILL } }, - { &hf_analysis_rto_time, + { &hf_analysis_retrans_time, { "Retransmission Time", "p_mul.analysis.retrans_time", FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0, "The time between the last PDU and this PDU", HFILL } }, + { &hf_analysis_total_retrans_time, + { "Total Retransmission Time", "p_mul.analysis.total_retrans_time", FT_RELATIVE_TIME, BASE_NONE, + NULL, 0x0, "The time between the first PDU and this PDU", HFILL } }, { &hf_analysis_addr_pdu_time, { "Time since Address PDU", "p_mul.analysis.elapsed_time", FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0, "The time between the Address PDU and this PDU", HFILL } }, |