From owner-freebsd-transport@freebsd.org Thu Oct 6 19:05:15 2016 Return-Path: Delivered-To: freebsd-transport@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A0EF2BEC4D3 for ; Thu, 6 Oct 2016 19:05:15 +0000 (UTC) (envelope-from jonlooney@gmail.com) Received: from mail-qk0-x229.google.com (mail-qk0-x229.google.com [IPv6:2607:f8b0:400d:c09::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 67FBBE89 for ; Thu, 6 Oct 2016 19:05:12 +0000 (UTC) (envelope-from jonlooney@gmail.com) Received: by mail-qk0-x229.google.com with SMTP id o68so24392482qkf.3 for ; Thu, 06 Oct 2016 12:05:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=y8EjuTBGdEqmXVPL80I2rHzFkH43+v9A3uDvH34DYng=; b=SivqVrJxR7cTC8212cJF3prR9spW86SUVjfZXZH5jVtoflarStZVu0DLZLohsZwmc8 tC0C6MostE5DwQqpLUTTn46TlHxD0i2K0yNpGpUobwGyPLXRcSed/FKFSRFPPe4l5tG5 tnKdQjJ5MRnp6FtvxG0T/DlV3TiCyfAsoanJhEbX0XX8zChCvMqTSKA0vghK/U1TYFLW N3Hs5wVIU46Oapnkp4iAOH0tHxEIpt445KSw8+FriPR5zCzDFfELHzCPzyT05m4+TcUE iXFAtfshNg2Via9leGOovH0HkrQAs45gqs/OUKxNoNfulIgApPT2PczSrWAMDh+/1pvD N7/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=y8EjuTBGdEqmXVPL80I2rHzFkH43+v9A3uDvH34DYng=; b=bFgzQqFXBmFPfYbMcz5XQSo8cHvVIW7syFcaWlWL/iUD3y6aXNoFJorvtrYXJUs5ag X7O0nYqrSg75cQ51A7rGWeP0bVfr7Ai0GVFWOi7/dwHmnn3s/RCCozE3cHT5I9VxEfOY 2/dyHJYJpQdH9YUl+gqz3j3c3gNYHuEOXylycJtsecMTkrFeohVLZ57OsZRcmvIKz672 8B1HhGKYinJTHxJU4cSDxwJ0GPJq1GArA7jy88/aQHbc4r3geChhkgMGXufYiG7KBA77 Ve/3yp0pX5u0aVi9IQreJ64LkOESPkjbsIjcadX/R8hEPa/WM5My5n5783qJxqQV5X7w WR3w== X-Gm-Message-State: AA6/9RnB7MThiqAejowCAp4LB3QCpb3zkMVoiGjnd37AVqaJB5TeBaCznWgjhSGg8/zyxEJzyfnanela4q7V1A== X-Received: by 10.55.149.67 with SMTP id x64mr16921098qkd.135.1475780711328; Thu, 06 Oct 2016 12:05:11 -0700 (PDT) MIME-Version: 1.0 Received: by 10.200.53.208 with HTTP; Thu, 6 Oct 2016 12:05:10 -0700 (PDT) From: Jonathan Looney Date: Thu, 6 Oct 2016 15:05:10 -0400 Message-ID: Subject: Remove (struct tcpcb) from the API? To: freebsd-transport@freebsd.org X-Mailman-Approved-At: Thu, 06 Oct 2016 19:34:45 +0000 Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-transport@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussions of transport level network protocols in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Oct 2016 19:05:15 -0000 Folks, Currently, the (struct tcpcb) is part of the kernel API. This means that we can only mess with the "spare" fields when we MFC things. Currently, things in userland *should* only be using the 'net.inet.tcp.pcblist' to extract the (stuct tcpcb) list from the kernel. We *should* be able to switch that sysctl so it only copies out the portion of the (struct tcpcb) that is actually needed by userspace. The trick is coming up with that list of fields, and then dealing with the fallout when userspace things not from the base package break. Does anyone have an idea of whether things in the ports tree use this and will break? And, does anyone have strong feelings one way or the other? Jonathan