

Packetdrill network stack testing tool  - adulau
https://code.google.com/p/packetdrill/

======
adulau
The research paper (Usenix) is published at this location:

[http://research.google.com/pubs/pub41316.html](http://research.google.com/pubs/pub41316.html)

Proceedings of the USENIX Annual Technical Conference (USENIX ATC 2013),
USENIX, 2560 Ninth Street, Suite 215, Berkeley, CA, 94710 USA, pp. 213-218.

packetdrill: Scriptable Network Stack Testing, from Sockets to Packets
Abstract: Testing today’s increasingly complex network protocol
implementations can be a painstaking process. To help meet this challenge, we
developed packetdrill, a portable, open-source scripting tool that enables
testing the correctness and performance of entire TCP/UDP/IP network stack
implementations, from the system call layer to the hardware network interface,
for both IPv4 and IPv6. We describe 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—Early
Retransmit, Fast Open, and Loss Probes—and allowed us to find and fix 10 bugs
in Linux. Our team uses packetdrill in all phases of the development process
for the kernel used in one of the world’s largest Linux installations.

