From owner-freebsd-current@FreeBSD.ORG Fri Dec 26 07:20:01 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A24EC16A4CF for ; Fri, 26 Dec 2003 07:20:01 -0800 (PST) Received: from mailtoaster1.pipeline.ch (mailtoaster1.pipeline.ch [62.48.0.70]) by mx1.FreeBSD.org (Postfix) with ESMTP id 543B343D4C for ; Fri, 26 Dec 2003 07:19:58 -0800 (PST) (envelope-from andre@freebsd.org) Received: (qmail 64566 invoked from network); 26 Dec 2003 15:19:56 -0000 Received: from unknown (HELO freebsd.org) ([195.134.148.7]) (envelope-sender ) by mailtoaster1.pipeline.ch (qmail-ldap-1.03) with SMTP for ; 26 Dec 2003 15:19:56 -0000 Message-ID: <3FEC50CC.CE7685AB@freebsd.org> Date: Fri, 26 Dec 2003 16:16:28 +0100 From: Andre Oppermann X-Mailer: Mozilla 4.76 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Max Laier References: <200312261412.10182.max@love2party.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: Tanmay Ganacharya cc: freebsd-net@freebsd.org cc: freebsd-current@freebsd.org Subject: Re: Recording RTT and RTO values X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Dec 2003 15:20:01 -0000 Max Laier wrote: > > On Friday 26 December 2003 11:49, Tanmay Ganacharya wrote: > > Hello, > > > > I am a student from the University of Southern California. I am currently > > pursuing my master. > > I am working on a project in which I need to record the RTT and RTO values > > of a TCP connection. > > To achieve the same I first re-compiled my kernel to support debug mode. > > I then used a simple client server socket program to transfer a file. The > > sockets had the debug option set. > > Thus the kernel logs were then collected using the trpt command. > > But the problem is I am not able to figure out the required RTT and RTO > > values from the log. > > > > The log looks somewhat like the following > > 762 ESTABLISHED:input (src=128.8.126.6,32858, > > dst=204.57.0.2,1666)f5ac168b@5269bce1(win=f8e0) -> ESTABLISHED > > rcv_nxt f5ac168b rcv_wnd e240 snd_una 5269bce1 snd_nxt 5269d381 snd_max > > 5269d381 > > snd_wl1 f5ac168b snd_wl2 5269bce1 snd_wnd f8e0 > > > > 762 ESTABLISHED:output (src=204.57.0.2,1666, > > dst=128.8.126.6,32858)[5269d381..5269d36d)@f5ac168b(win=e240) -> > > ESTABLISHED > > rcv_nxt f5ac168b rcv_wnd e240 snd_una 5269bce1 snd_nxt 5269d929 snd_max > > 5269d929 > > snd_wl1 f5ac168b snd_wl2 5269bce1 snd_wnd f8e0 > > > > I am really not able to understand which are the RTT and RTO values in > > these. > > Please if anyone knows do let me know. It would really be useful. > > Also if anyone knows any other methods of recording the RTT and RTO values > > of a connection > > please do let me know abt it. > > I would really be grateful. > > CC: net@ (current@ isn't exactly the list for this). > > None of these values are the RTT or RTO values of the connection as the debug > is rather sequence number centric. Take a look at "src/sys/netinet/tcp_var.h: > struct tcpcb", where you will find short explainations for each field. > > The value you might be looking for is "int t_rtttime". Modify the printf's in > tcp_debug.c to give you the values you need and recompile your kernel. The tcp_hostcache in -current is recording these values. Depending on what you exactly need you can either just look at the hostcache output with "sysctl -a net.inet.tcp.hostcache.list" or you can put some printf's into tcp_close() or tcp_hc_update(). -- Andre