From owner-freebsd-net@FreeBSD.ORG Thu Jul 24 16:44:40 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A5BAE1065684 for ; Thu, 24 Jul 2008 16:44:40 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outA.internet-mail-service.net (outa.internet-mail-service.net [216.240.47.224]) by mx1.freebsd.org (Postfix) with ESMTP id 96E638FC24 for ; Thu, 24 Jul 2008 16:44:40 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id CAAF62411; Thu, 24 Jul 2008 09:44:40 -0700 (PDT) Received: from julian-mac.elischer.org (localhost [127.0.0.1]) by idiom.com (Postfix) with ESMTP id E41DD2D6049; Thu, 24 Jul 2008 09:44:39 -0700 (PDT) Message-ID: <4888B15F.7060704@elischer.org> Date: Thu, 24 Jul 2008 09:44:15 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.14 (Macintosh/20080421) MIME-Version: 1.0 To: Igor Sysoev References: <20080724145610.GA57814@rambler-co.ru> <4888A0B5.4060302@elischer.org> <20080724163128.GE57814@rambler-co.ru> In-Reply-To: <20080724163128.GE57814@rambler-co.ru> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: FIB MFC X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Jul 2008 16:44:40 -0000 Igor Sysoev wrote: > On Thu, Jul 24, 2008 at 08:33:09AM -0700, Julian Elischer wrote: > >> I was thinking that it might be possible to tag a socket to accept the >> fib of the packet coming in, but if we do this, we should decide >> API to label a socket in this way.. > > I think it should be sysctl to globaly enable TCP FIB inheritance. > API is already exists: sockopt(SO_SETFIB) for listening socket. But a socket ALWAYS has a fib, even if you do nothing because every process has a fib (usually 0) so you need a new bit of state somewhere that means "inherit". (I guess in the socket flags). Possibly the FIB value of -1 when applied on a socket option might signify that behaviour. (thus save us a new sockopt). But such a value would revert to that of the process if the socket was not used as a listen socket. (or clear itself). I have some MRT unhansements in hte pipeline and will include this if I can. BTW could you send me the diff for ipfw(8)? I'll compare it with the one I'm about to commit. > >> It is an excellent idea however, and I don't know why I didn't >> do it already.. >> >>> tcp4 0 0 192.168.1.100.80 XXXXXXXXXX SYN_RCVD >>> tcp4 0 0 192.168.1.100.80 XXXXXXXXXX SYN_RCVD >>> tcp4 0 0 192.168.1.100.80 XXXXXXXXXX SYN_RCVD >>> >>> Can TCP connection inherit FIB from first SYN packet or not ? >> no but it is a good idea. > >