From owner-freebsd-net@FreeBSD.ORG Mon Feb 21 00:38:22 2005 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DCB6616A4CE for ; Mon, 21 Feb 2005 00:38:22 +0000 (GMT) Received: from pimout3-ext.prodigy.net (pimout3-ext.prodigy.net [207.115.63.102]) by mx1.FreeBSD.org (Postfix) with ESMTP id 821D143D3F for ; Mon, 21 Feb 2005 00:38:22 +0000 (GMT) (envelope-from julian@elischer.org) Received: from [192.168.1.102] (adsl-68-120-130-255.dsl.snfc21.pacbell.net [68.120.130.255])j1L0cKpY235480 for ; Sun, 20 Feb 2005 19:38:21 -0500 Message-ID: <42192D78.6070600@elischer.org> Date: Sun, 20 Feb 2005 16:38:16 -0800 From: Julian Elischer User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.5) Gecko/20050214 X-Accept-Language: en, hu MIME-Version: 1.0 To: net@freebsd.org Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Subject: ABI suggestions? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Feb 2005 00:38:23 -0000 I'm looking at implementing a kernel module that implelemnts an ABI that allows a particular tcp session to be followed. I'm not terribly intereted in the data sent/received bas in the actual session behaviour itself.. In other words I want to watch the tcp stack making decisions. Obviously this would require adding trace points (not normally compiled in) into the tcp stack. I'd consider that possibly KTR would be good for that except that I need to do this on 4.x machines so possibly another mechanism will be needed (or I back port KTR). I'm looking to see trace messages such as "Congestion window changed to %d", and "process reads %d bytes, %d bytes now available in receive window" using tcptrace and other tools okn the data flow across the network "simulates" or "guesses" about some of these things, but there is no real authoratative information about how the stack is thinking.. parts of the ABI I'm thinking about include: how to get the events out (if not KTR) and how to specifiy a session to trace (assuming you want to watch sessions that may not exist yet) if anyone has any ideas on this, let me know :-) regards julian p.s. would this be generally useful (assuming it can be achieve without any overhead when compiled out)?