The official Google release of packetdrill
C Yacc C++ Vim script Lex Emacs Lisp
Latest commit 58a7865 Feb 2, 2017 Eric Dumazet committed with Neal Cardwell net-test: packetdrill: add GRO support to packetdrill
As far as TCP is concerned, a GRO packet simply has a gso_size attribute,
which express the size of every MSS included in the packet.

A normal GRO packet would also have a gso_segs, but TCP stack does not
use this information (yet). User space can not set it, linux stack
uses the SKB_GSO_DODGY bit because we would not trust user space to
provide this information.

For the moment, we do not expect changing gso_size dynamically,
but this could be done later if needed.

--mss=xxxx can be used as a command line parameter or in
a packetdrill scenario.

Change-Id: I7431bbefde79619adab5fcc89bccb0b48d6b909d

README.md

packetdrill

This is the official Google release of packetdrill.

The packetdrill scripting tool enables quick, 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 GPLv2. Currently the source for the testing tool and a number of test scripts is in the git repository. We will continue to post more tests from our team's Linux TCP test suite (described in our USENIX paper), as time permits.

Links: