the block comment at the top of the file:
This module provides kernel support for testing network
throughput from the perspective of the kernel. It is
similar in spirit to the classic ttcp network benchmark
program, the main difference being that with kttcp, the
kernel is the source and sink of the data.
Testing like this is useful for a few reasons:
1. This allows us to know what kind of performance we can
expect from network applications that run in the kernel
space, such as the NFS server or the NFS client. These
applications don't have to move the data to/from userspace,
and so benchmark programs which run in userspace don't
give us an accurate model.
2. Since data received is just thrown away, the receiver
is very fast. This can provide better exercise for the
sender at the other end.
3. Since the NetBSD kernel currently uses a run-to-completion
scheduling model, kttcp provides a benchmark model where
preemption of the benchmark program is not an issue.
There is a companion "kttcp" user program which uses the kttcp
pseudo-device.
Largely written by Frank van der Linden, with some modifications
from me.