From owner-freebsd-net@FreeBSD.ORG Tue Jul 2 20:30:46 2013 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id A4C409F0 for ; Tue, 2 Jul 2013 20:30:46 +0000 (UTC) (envelope-from ncardwell@google.com) Received: from mail-ee0-x234.google.com (mail-ee0-x234.google.com [IPv6:2a00:1450:4013:c00::234]) by mx1.freebsd.org (Postfix) with ESMTP id 388E613BD for ; Tue, 2 Jul 2013 20:30:46 +0000 (UTC) Received: by mail-ee0-f52.google.com with SMTP id c50so2979710eek.39 for ; Tue, 02 Jul 2013 13:30:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=VxrBKrI+6HtCUZ76Va1o2sPsM+yCeq4PYHHj/xsYumo=; b=Yy6afIvsCzk1oZ7RIwe+mIY63V3U5hQtTSI5ct6u1vDnuTp6DdOkAodZIRimHUVHcT pJm7CX/4ujKjLU2fbc3MfxNruh+rI0kOYnPvp2nvyxax08yEvcmiPvMI8IDOaax3Nwgw fAXttXM9UKh2zR8ZxeG7J+D1r98KTECXGz0fT0NVUjUGKOgLBcmrKHvUMRoebKnQ+1Pp SebbNL50iPhkX7CmrZNwRN4TgzuuZq9qMzb5KoPC7qZTOQlJKkIlrSCxYxX5UATLIRm1 wq+bkQTyTWljI3RDr5CE+8g2/tWO7f/HsAaBjNM8Y4ttbU+yKJnsZk81f8P/fg4RXHXR Jv6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding:x-gm-message-state; bh=VxrBKrI+6HtCUZ76Va1o2sPsM+yCeq4PYHHj/xsYumo=; b=B+pO6QDjV4+nFwbG28EKskv7z2kCrItb3Fh+uXQId4alXZoYvEb4m+nnD0TF0yGah7 9q9jo8GE1f/QEn3a09EGlL9V56Xh1GyTrlpqzjARuJtgNpflqKXVzaNNoTg7WFESAguf rQA6gQiKCLX78IjYTbY4J1P/LPiXGBZmxHE1nb0hERWGSTh0MYxQn3lOp0z+Fo4PswDT cwTTCthKyDNT++q2tvxf9M6X/OQ+e0RXC5ZkjPoDbt29gZG2eWmWLBX0ugiiavuA4QmK bnSzll+EXurLq6EFYcSbZIDX0AScBNSPRrj3AAoaFp36ObtJQgVhm7Xf1cuKLcjrNE3+ x6Cg== MIME-Version: 1.0 X-Received: by 10.15.82.132 with SMTP id a4mr28011274eez.107.1372797045204; Tue, 02 Jul 2013 13:30:45 -0700 (PDT) Received: by 10.14.140.71 with HTTP; Tue, 2 Jul 2013 13:30:45 -0700 (PDT) Date: Tue, 2 Jul 2013 13:30:45 -0700 Message-ID: Subject: packetdrill: a scriptable network stack testing tool (for FreeBSD, etc.) From: Neal Cardwell To: freebsd-net@freebsd.org Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-Gm-Message-State: ALoCoQlcQO3BsXRHi6PLXEhDcsQjKtNyrfQukKZzEJS7eYOuXqF6Slj87ooSNF5GQqMHRSMuZYUh5DClE11bz947S5/L8NgacV0ROEgEhziSu+0/dk3lq4ghnJmTFB3GvXYFhzfcsqVvTQk7mIQtaQvY+jinwSZ86aR2oXA2BfMRBtH9jFfsGHyfsr7CENLksqUl/xKJjB61G71x61/193l481wBk3LWrA== X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Jul 2013 20:30:46 -0000 I'd like to announce the availability of the packetdrill network stack testing tool. The packetdrill scripting tool enables users to quickly write precise tests for entire TCP/UDP/IPv4/IPv6 network stacks, from the system call layer down to the NIC hardware. packetdrill currently works on Linux, FreeBSD, OpenBSD, and NetBSD. It can test network stack behavior over physical NICs on a LAN, or on a single machine using a tun virtual network device. The code is licensed under version 2 of the GPL, and available in a git repository at: https://code.google.com/p/packetdrill/ Here's a USENIX 2013 paper about the tool: http://research.google.com/pubs/pub41316.html This paper describes the design and implementation of the tool, and our experiences using it to execute 657 test cases. The tool was instrumental in our development of three new features for Linux TCP=97Early Retransmit, Fast Open, and Loss Probes=97and allowed us to find and fix 10 bugs in Linux. Our team uses packetdrill in all phases of the development process. Currently the source for the testing tool is in the git repository, along with an example script for each supported OS. We will also be posting tests from our team's Linux TCP test suite (described in the paper), as time permits. There is a mailing list for questions, discussions and patches: http://groups.google.com/group/packetdrill Enjoy! neal