From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20940 invoked by alias); 23 Oct 2003 20:15:55 -0000 Mailing-List: contact ecos-discuss-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@sources.redhat.com Received: (qmail 20933 invoked from network); 23 Oct 2003 20:15:54 -0000 Received: from unknown (HELO londo.lunn.ch) (80.238.139.98) by sources.redhat.com with SMTP; 23 Oct 2003 20:15:54 -0000 Received: from lunn by londo.lunn.ch with local (Exim 3.36 #1 (Debian)) id 1ACls7-0000C4-00; Thu, 23 Oct 2003 22:15:51 +0200 Date: Thu, 23 Oct 2003 20:15:00 -0000 To: Matt Jerdonek Cc: Discussion eCos Message-ID: <20031023201551.GS1165@lunn.ch> Mail-Followup-To: Matt Jerdonek , Discussion eCos References: <20031021191146.GL1165@lunn.ch> <20031023183241.64248.qmail@web14201.mail.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20031023183241.64248.qmail@web14201.mail.yahoo.com> User-Agent: Mutt/1.5.4i From: Andrew Lunn Subject: Re: [ECOS] TCP Transactions X-SW-Source: 2003-10/txt/msg00423.txt.bz2 On Thu, Oct 23, 2003 at 11:32:41AM -0700, Matt Jerdonek wrote: > > > > 1) Uses sysctl(). Its something like > > net.inet.tcp.msl. You can probably find its > > proper name using the sysctl test program. > > I downloaded the current FreeBSD stack to use your > sysctl updates (Thanks for adding this!). Anyway, msl > isn't an option. Humm. packages/net/bsd_tcpip/current/src/sys/netinet/tcp_timer.125: int tcp_msl; SYSCTL_PROC(_net_inet_tcp, OID_AUTO, msl, CTLTYPE_INT|CTLFLAG_RW, &tcp_msl, 0, sysctl_msec_to_ticks, "I", "Maximum segment lifetime"); So it should be there. Running the test program ./install/tests/net/bsd_tcpip/current/tests/sysctl1 INFO:<4 2 6 106 = net.inet.tcp.local_slowstart_flightsize (INT Read Write ){6}> INFO:<4 2 6 107 = net.inet.tcp.newreno (INT Read Write ){6}> INFO:<4 2 6 108 = net.inet.tcp.msl (INT Read Write ){6}> INFO:<4 2 6 109 = net.inet.tcp.always_keepalive (INT Read Write ){6}> INFO:<4 2 6 110 = net.inet.tcp.tcbhashsize (INT Read ){6}> > So, I'm stuck using global memory > for now until I extend the sysctl interface. Is there > any standard sysctl template? Can I just add it to > the end of the list in tcp_var.h? > > Also, I need to control the TCP retransmissions, which > is set to 12, and is way too slow for transactions. > Since rexmits is controlled by TCP_MAXRXTSHIFT > (tcp_timer.h) and is not accessible via global memory, > is my best option to make it configurable via the cdl? Hummm, i don't think it works like that. I think a retransmit occurs about 2-4 times the round trip time. There is not much you can do about this. Also, the timer resolution is probably 50ms. So don't expect anything faster than that. You might want to get hold of the book: The Implementation (TCP/IP Illustrated, Volume 2) by Gary R. Wright (Author), W. Richard Stevens (Author) Its the best book i know about for the insides of *BSD stacks. Andrew -- Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos and search the list archive: http://sources.redhat.com/ml/ecos-discuss