Age | Commit message (Collapse) | Author |
|
are used as server and client. Between them is a relay process
that can either copy or splice the data. Benchmarking is done for
TCP and UDP and for copy and splice. All tests are executed on
localhost per default. Alternatively the relay process can be
started on a remote machine.
Depending on hardware and environment socket splicing has increased
my throughput by 30% or up to 150% in this test.
|
|
|
|
- Move the tests from splice to new sosplice directory for consistent naming.
- Split the API tests and the TCP splicing tests into separate directories.
- Create some tests for the upcoming UDP splicing.
- Tests can be run in obj directories now.
- The API tests can run both on a local and on a remote machine now.
- Fix the forking TCP tests which splice and read or write simultaneously.
- Bunch of little fixes for races in the tests.
- Deduplicate code, move checks into common functions.
|
|
|
|
|
|
|
|
|
|
- Move the tests from splice to new sosplice directory for consistent naming.
- Split the API tests and the TCP splicing tests into separate directories.
- Create some tests for the upcoming UDP splicing.
- Tests can be run in obj directories now.
- The API tests can run both on a local and on a remote machine now.
- Fix the forking TCP tests which splice and read or write simultaneously.
- Bunch of little fixes for races in the tests.
- Deduplicate code, move checks into common functions.
|
|
|
|
- Move the tests from splice to new sosplice directory for consistent naming.
- Split the API tests and the TCP splicing tests into separate directories.
- Create some tests for the upcoming UDP splicing.
- Tests can be run in obj directories now.
- The API tests can run both on a local and on a remote machine now.
- Fix the forking TCP tests which splice and read or write simultaneously.
- Bunch of little fixes for races in the tests.
- Deduplicate code, move checks into common functions.
|
|
sosplice.
|
|
|
|
- Move the tests from splice to new sosplice directory for consistent naming.
- Split the API tests and the TCP splicing tests into separate directories.
- Create some tests for the upcoming UDP splicing.
- Tests can be run in obj directories now.
- The API tests can run both on a local and on a remote machine now.
- Fix the forking TCP tests which splice and read or write simultaneously.
- Bunch of little fixes for races in the tests.
- Deduplicate code, move checks into common functions.
|
|
|
|
|
|
ok guenther millert kettenis
|
|
ok guenther@
|
|
with broken checksums in the quoted IPv6 packet. Fork a process
to sendp() the packet in the background and sniff() the reply
manually in the foreground.
|
|
the shell.
|
|
the original packet and the icmp quoted packet are the same.
|
|
|
|
have to setup four machines manually as described in the makefile.
The test uses netcat and scapy to send ping or udp echo packets or
tcp streams along the routers. It analyzes the returned reply or
icmp error packets. It tests the forward and net/rdr and net64
paths.
|
|
|
|
resets at the indended moments into the spliced stream, terminate
the client or server process with the alarm default action.
|
|
the socket buffers are filled.
|
|
|
|
|
|
POSIX compatibility so the test doesn't depend on <signal.h> defining
NULL.
|
|
sigpending() actually sets it and it wasn't just still set from
calling sigprocmask().
|
|
|
|
|
|
|
|
signals
|
|
payload, fragmented UDP packets.
|
|
of solicitations to remote host and check responses. This can be
used to test both pf neighbor discovery states and the IPv6 stack.
|
|
|
|
|
|
with the same id get reassembled into a valid packet. Adapt test.
|
|
packet with overlaps. Adapt existing tests.
|
|
|
|
packet with overlaps. Adapt existing tests and add one more.
|
|
echo-request fragments are sent by scapy to the target machine.
There they get reassembled and a echo-reply comes back. The ping6
payload is checked.
|
|
Pointed out by Steffen Daode Nurpmeso (sdaoden at googlemail.com)
|
|
ok guenther@
|
|
interaction of pwrite/pwritev with O_APPEND.
Based on a patch from Alexander Polakov (polachok at gmail.com)
Further tests with deraadt@
|
|
|
|
A hint-based allocation may only fail if no memory is available near the
allocation. The value of near is chosen to be 2GB in this scenario.
|
|
- posix says so
- the current allocator doesn't like it
|
|
Some fragments contain invalid data, this must be replaced to
reassemble a valid packet.
|
|
You have to setup four machines manually as described in the makefile.
The test uses scapy and python to send ping echo request or udp
echo packets along the routers. It analyzes the returned ping echo
reply or udp packets or the icmp error packets.
|