From owner-freebsd-net@FreeBSD.ORG Fri Sep 17 08:15:16 2010 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 280C51065670 for ; Fri, 17 Sep 2010 08:15:16 +0000 (UTC) (envelope-from freebsd-net@m.gmane.org) Received: from lo.gmane.org (lo.gmane.org [80.91.229.12]) by mx1.freebsd.org (Postfix) with ESMTP id D21E78FC0A for ; Fri, 17 Sep 2010 08:15:15 +0000 (UTC) Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1OwW6B-0003lA-W4 for freebsd-net@freebsd.org; Fri, 17 Sep 2010 10:15:11 +0200 Received: from nuclight.avtf.net ([217.29.94.29]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 17 Sep 2010 10:15:11 +0200 Received: from vadim_nuclight by nuclight.avtf.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 17 Sep 2010 10:15:11 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-net@freebsd.org From: Vadim Goncharov Date: Fri, 17 Sep 2010 08:15:00 +0000 (UTC) Organization: Nuclear Lightning @ Tomsk, TPU AVTF Hostel Lines: 27 Message-ID: References: <4C8E0C1E.2020707@networx.ch> <20100915151632.E31898@maildrop.int.zabbadoz.net> <4C90EAB7.2000902@networx.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: nuclight.avtf.net X-Comment-To: Andre Oppermann User-Agent: slrn/0.9.9p1 (FreeBSD) Cc: freebsd-current@freebsd.org Subject: Re: TCP loopback socket fusing X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: vadim_nuclight@mail.ru List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Sep 2010 08:15:16 -0000 Hi Andre Oppermann! On Wed, 15 Sep 2010 17:48:07 +0200; Andre Oppermann wrote about 'Re: TCP loopback socket fusing': >> 3 If properly doing this for TCP, we should probably also do it for >> other protocols. > UNIX domain sockets already do this. This implementation is particular > for TCP and only touches the protocol specific parts. It's not done at > the socket layer. For UDP it's not that easy to do as most UDP connections > are one-off packets and no permanent binding between two sockets exists. > For SCTP I don't know. From glancing over the code it seems they have, > at least partially, their own socket buffer code. How difficult a fused > socket there would be I can't say. This hack is for TCP only, if an application author chooses a non-TCP protocol for loopback, then he is already aware of Unix domain sockets and have reasons for protocol he have chosen to be not PF_LOCAL. And hacking those protocols adds another piece of complexity to maintenance. In fact, care should be taken to consider non-fusing way of operation as primary because packetization is useful not just for filtering SYNs. BTW, I have heard once man needing something like tcpdump for Unix socket. Is something convenient like this is possible?.. -- WBR, Vadim Goncharov. ICQ#166852181 mailto:vadim_nuclight@mail.ru [Moderator of RU.ANTI-ECOLOGY][FreeBSD][http://antigreen.org][LJ:/nuclight]