From owner-freebsd-net@FreeBSD.ORG Fri Apr 18 04:00:05 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 928A1106566C for ; Fri, 18 Apr 2008 04:00:05 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: from wa-out-1112.google.com (wa-out-1112.google.com [209.85.146.177]) by mx1.freebsd.org (Postfix) with ESMTP id 5F9108FC24 for ; Fri, 18 Apr 2008 04:00:05 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: by wa-out-1112.google.com with SMTP id k17so544055waf.3 for ; Thu, 17 Apr 2008 21:00:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; bh=PeWGwhiWyKyXsAJvDwbCComcyjua2YeIcmmYaGYjZwo=; b=htvGL+xPnOZiVQYF+XCbnyylkn1F4P7O3HH6cJ9bWHG7sG96teYfxC31/3YBFmFrMrEKYQJBLTFNGXKa38gNuMjZgsQvX2aiYr9DqeX/lCYolxQquKGtjz5Ewg1jwfSBxf+4VkAzU6DaT4tKwgyNdLQnhplZK/LsOqKeX5vaFIw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=TWwM0YZRfYuxKJR3K8yZr+WQajaJgfjK2BymEyIylM+exaFGXjVbdVD915T7/DYJaWoHTabHkzhWLwt4bBLzV+U0oWmVG13SKXVXf6hFIC6Eh5GcldKIaSpl4POHILB37qQCthRJV4fJtRU32xVeF7pErDdH7yG2PAe1e9TFdkc= Received: by 10.114.135.1 with SMTP id i1mr2227054wad.88.1208491205053; Thu, 17 Apr 2008 21:00:05 -0700 (PDT) Received: by 10.114.255.16 with HTTP; Thu, 17 Apr 2008 21:00:04 -0700 (PDT) Message-ID: Date: Thu, 17 Apr 2008 21:00:04 -0700 From: "Kip Macy" To: "freebsd-net@freebsd.org" MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: MFC of TOE support to RELENG_7 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: Fri, 18 Apr 2008 04:00:05 -0000 I would like to MFC TOE and RDMA support in the last week of May / first week of June. My primary objective is that it be present in 7.1. The re team has not yet decided when the freeze date for 7.1 will be, so I may end up asking to do it earlier. The reason I'm bringing it up roughly 6 weeks in advance is that there is a certain amount of debate with regards to the ABI guarantees that FreeBSD network developers are willing to commit to for the remaining life of the RELENG_7 branch. I've made the following two simplifying assumptions: - struct tcpcb and struct sockbuf are append only - i.e. if members are added, they will be added to the end - lock ordering will not change, e.g. the inpcb lock will always be acquired before the sockbuf lock Is there any reason to believe that these simplifying assumptions are not acceptable? If so, why? I've added the following sets of accessor functions: - lock acquire/release for socket, sockbuf, inpcb - higher level functions for tcp shutdown and syncache to abstract away the tcbinfo lock - accessor functions for all the accessed fields in socket and inpcb so that none of the members are referenced as offsets from the base of the structure There is an open question as to whether similar abstractions should be added to the various firewalls to allow them to be similarly decoupled to ease future maintenance. I would be willing to take a little time if someone stepped forward to explain the needs of the firewalls. I still need to do the following: - document the api provided by netinet/toedev.h - provide more formal documentation for the api provided by netinet/tcp_offload.h The current state of the code can be seen at: http://157.22.130.171/svn/branches/projects/iwarp/sys/