From owner-freebsd-net@FreeBSD.ORG Sat Sep 4 21:22:00 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 60F3210656C9; Sat, 4 Sep 2010 21:22:00 +0000 (UTC) (envelope-from rwatson@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 360CE8FC1E; Sat, 4 Sep 2010 21:22:00 +0000 (UTC) Received: from [192.168.2.105] (host81-159-163-98.range81-159.btcentralplus.com [81.159.163.98]) by cyrus.watson.org (Postfix) with ESMTPSA id 0FBB946B35; Sat, 4 Sep 2010 17:21:58 -0400 (EDT) Mime-Version: 1.0 (Apple Message framework v1081) Content-Type: text/plain; charset=us-ascii From: "Robert N. M. Watson" In-Reply-To: <4C7D02BB.40300@freebsd.org> Date: Sat, 4 Sep 2010 22:21:57 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <5A1BD1ED-B55D-43A5-8D91-DD243A48F1AE@freebsd.org> References: <4C7A7B25.9040300@freebsd.org> <7B42D7FB-B782-4EE9-8813-BF7D3ED3274B@lurchi.franken.de> <4C7D02BB.40300@freebsd.org> To: Andre Oppermann X-Mailer: Apple Mail (2.1081) Cc: =?iso-8859-1?Q?Michael_T=FCxen?= , freebsd-net@freebsd.org Subject: Re: Removal of deprecated implied connect for TCP 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: Sat, 04 Sep 2010 21:22:00 -0000 On 31 Aug 2010, at 14:25, Andre Oppermann wrote: >>> I'm not entirely comfortable with this change, and would like a = chance to cogitate on it a bit >>> more. While I'm not aware of any applications depending on the = semantic for TCP, I know that >>> we do use it for UNIX domain sockets. Since it's a documented API, = if we are going to remove >>> it, then we need to go through a deprecation process, not least by = marking it as a deprecated >>> API in 8.x before having it vanish in 9.0. > > >> sendto() is also used for SCTP SOCK_STREAMS and SOCK_SEQPACKET = sockets... >=20 > sendto() will not be touched or modified. It's just that on a TCP = socket > the tcp protocol will not perform an implied connect anymore. The = only thing > that changes is TCP dropping a deprecated and experimental extension = and > behaving like every other UNIXy OS. >=20 > sendto() will continue to work for UDP, SCTP and Domain sockets and = whoever > else currently supports it, except TCP. Right -- I think you're missing the thrust of this objection: it's a = standard part of the FreeBSD API that sendto(2) with an address = implicitly connects across all over our protocols, so making TCP be the = only exception seems counter-productive. What is it that will actually = be accomplished by removing this functionality, other than reducing the = number of lines of code in tcp_usr_send by a couple of dozen? Robert=