This TCP testsuite focuses on testing FreeBSD's TCP stack.
It it based on the packetdrill testtool. The original version is available from Google's repository. However, this version does not really run on FreeBSD. An extended version is available from NPLab's respository overcoming this limitation and adding support for SCTP and UDPLite.
You can get the testsuite by running
git clone https://github.com/freebsd-net/tcp-testsuite.git
To run all test scripts, execute
sudo tcp-testsuite/run-all-tests
which runs the tcsh
script tcp-testsuite/run-all-tests
with root priviledges.
Test Group | Number of Test Scripts | Status |
---|---|---|
Sending of SYN-Segments | 30 | Done |
State Event Engine | 392 | In Progress |
ICMP Handling | 12 | In Progress |
Socket API | 10 | In Progress |
- r305810 (D7833).
- r307726 (D7904).
- r307727.
- r308745 (D8371).
- r308832 (D8443).
- r309397 (D8667).
- r316743 (D9894).
- r317435 (D10424).
This work is sponsored by Netflix, Inc.
- RFC 0793: Transmission Control Protocol
- RFC 1122: Requirements for Internet Hosts -- Communication Layers
- RFC 1323: TCP Extensions for High Performance
- RFC 1337: TIME-WAIT Assassination Hazards in TCP
- RFC 2018: TCP Selective Acknowledgment Options
- RFC 2883: An Extension to the Selective Acknowledgement (SACK) Option for TCP
- RFC 4953: Defending TCP Against Spoofing Attacks
- RFC 5461: TCP's Reaction to Soft Errors
- RFC 5927: ICMP Attacks against TCP
- RFC 5961: Improving TCP's Robustness to Blind In-Window Attacks
- RFC 6429: TCP Sender Clarification for Persist Condition
- RFC 6691: TCP Options and Maximum Segment Size (MSS)