Ethereal-dev: [Ethereal-dev] [PATCH] Time stamp RPC retransmit packes

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Steve Dickson <SteveD@xxxxxxxxxx>
Date: Thu, 08 Jan 2004 15:25:24 -0500
This patch cause SUN RPC retransmitted packets to
show the amount of seconds since the original
request was sent. Basically shown how often the
NFS client are retransmitting RPC messages

I found this information very using so I'm hopeful
this patch will make it into the next release....

SteveD.
--- ethereal-0.10.0a/packet-rpc.c.orig	Mon Nov 17 21:23:58 2003
+++ ethereal-0.10.0a/packet-rpc.c	Thu Jan  8 14:07:08 2004
@@ -2039,6 +2039,15 @@
 					hf_rpc_dup, tvb, 0,0, TRUE);
 				proto_tree_add_uint(rpc_tree,
 					hf_rpc_call_dup, tvb, 0,0, rpc_call->req_num);
+
+				ns.secs= pinfo->fd->abs_secs-rpc_call->req_time.secs;
+				ns.nsecs=pinfo->fd->abs_usecs*1000-rpc_call->req_time.nsecs;
+				if(ns.nsecs<0){
+					ns.nsecs+=1000000000;
+					ns.secs--;
+				}
+				proto_tree_add_time(rpc_tree, hf_rpc_time, tvb, offset, 0,
+					&ns);
 			}
 			if(rpc_call->rep_num){
 				if (check_col(pinfo->cinfo, COL_INFO)) {
@@ -2221,6 +2230,15 @@
 					hf_rpc_dup, tvb, 0,0, TRUE);
 				proto_tree_add_uint(rpc_tree,
 					hf_rpc_reply_dup, tvb, 0,0, rpc_call->rep_num);
+
+				ns.secs= pinfo->fd->abs_secs-rpc_call->req_time.secs;
+				ns.nsecs=pinfo->fd->abs_usecs*1000-rpc_call->req_time.nsecs;
+				if(ns.nsecs<0){
+					ns.nsecs+=1000000000;
+					ns.secs--;
+				}
+				proto_tree_add_time(rpc_tree, hf_rpc_time, tvb, offset, 0,
+					&ns);
 			}
 		}