From owner-freebsd-arch@FreeBSD.ORG Sun Dec 16 11:17:13 2007 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3F45E16A41B; Sun, 16 Dec 2007 11:17:13 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.freebsd.org (Postfix) with ESMTP id ED7DA13C458; Sun, 16 Dec 2007 11:17:12 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 9D4FC4D23D; Sun, 16 Dec 2007 06:17:12 -0500 (EST) Date: Sun, 16 Dec 2007 11:17:12 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Kip Macy In-Reply-To: Message-ID: <20071216111315.C49036@fledge.watson.org> References: <20071215100351.Q70617@fledge.watson.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: FreeBSD Current , freebsd-arch@freebsd.org Subject: Re: pending changes for TOE support X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Dec 2007 11:17:13 -0000 On Sat, 15 Dec 2007, Kip Macy wrote: >> + * + tu_abort >> + * - closes the connection and sends a RST to peer >> + * - driver is expectd to trigger an RST and detach the toepcb >> >> In regular TCP, the pru_abort method is only called on pending connections >> while still in the listen queues of a listen socket. Is this true of >> tu_abort, or is tu_abort a more general method to be used to cancel >> connections? If so, probably worth commenting on that. > > tu_abort is called in place of tcp_output in pru_abort. The reason I ask is that it appears tu_abort appears to be the only interface allowing the stack to request that TOE reset of a connection. In regular TCP, soabort/pru_abort/tcp_usr_abort are used only on nascent unaccepted connections; at least one other path, used by tcpdrop(8), can lead to connections being reset as well. Perhaps a more general tu_reset could be used to address this? I'm not sure what other direct-to-reset paths exist but a review for them may be called for. Robert N M Watson Computer Laboratory University of Cambridge