From owner-soc-status@FreeBSD.ORG Mon Aug 22 14:20:41 2011 Return-Path: Delivered-To: soc-status@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5A9051065670 for ; Mon, 22 Aug 2011 14:20:41 +0000 (UTC) (envelope-from nc3bhconc@gmail.com) Received: from mail-qy0-f175.google.com (mail-qy0-f175.google.com [209.85.216.175]) by mx1.freebsd.org (Postfix) with ESMTP id 191898FC17 for ; Mon, 22 Aug 2011 14:20:40 +0000 (UTC) Received: by qyk4 with SMTP id 4so1570005qyk.13 for ; Mon, 22 Aug 2011 07:20:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:from:date:x-google-sender-auth:message-id :subject:to:content-type; bh=Z3oO8/CPw+5tY7s0oEDTfF+yTmeqXghUwzZLZMY9JaQ=; b=axHBU5yRj65HFIHwhaDklLDzHi5jezJqMPIjoLJ1S27z+9d/hN6MzZAXLoPnoOb9aA OaJspQqwiq7YbTq3obbyqVlPp8CyfIBQ9940lmG+7Q821k+l2ps6CrSKYgkdKVDdAQI8 /0HlsfsupCZY0uvVw/S6VvYkzh4EML/4Cy1kE= Received: by 10.224.217.6 with SMTP id hk6mr1402801qab.117.1314022840109; Mon, 22 Aug 2011 07:20:40 -0700 (PDT) MIME-Version: 1.0 Sender: nc3bhconc@gmail.com Received: by 10.224.6.144 with HTTP; Mon, 22 Aug 2011 07:20:20 -0700 (PDT) From: Catalin Nicutar Date: Mon, 22 Aug 2011 17:20:20 +0300 X-Google-Sender-Auth: 8ChdN_iu7jnwvLDj3Am2xzeGyV0 Message-ID: To: soc-status@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: TCP UTO - Weekly Report 12 X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Aug 2011 14:20:41 -0000 Hello! This is the twelfth report for TCP UTO. * Short TCP UTO description UTO stands for User Timeout Option (it is described in RFC5482). TCP UTO specifies a peer should be allowed to advertise its chosen `User Timeout' for a connection. The wiki page for this project: http://wiki.freebsd.org/CatalinNicutar/TCPUTO * Work completed last week * I have merged the UTO drain functionality into tcp_drain and replaced the later with a wrapper * I have submitted the change to TCP_RCVUTO_TIMEOUT handling (now the application can impose a per-connection maximum acceptable timeout) * I have cleaned up the tests and removed duplicate code and added two new scenarios * I made net.inet.tcp.uto.enable control the usability of UTO * I have cleaned up the kernel and userland UTO code and updated tcp.4. * I have updated the wiki page and attached patches and tests * Future goals, as I intend to help to get it into the kernel after GSoC: * Currently the purging of misbehaving UTO connections remains partly unsolved. The drain function can't be called too often for performance reasons and calling it in a timer on fixed intervals is also problematic * The option should be attached to the first non-SYN segment sent (such that it gets resent if retransmissions need to be performed) * UTO is not included in the options if there is not enough space (perhaps because of SACK or MD5). Dropping SACK from one segment wouldn't impact performance and would allow UTO * Broken TCPs might expect SACK to be the last option in a segment. I must test to find out if UTO might cause interoperability issues * More interoperability tests with Linux need to be performed If you have questions, suggestions or advices drop me an email to cnicutar@FreeBSD.org. Catalin Nicutar