NAME¶
trafgen - a high-performance zero-copy network packet generator
SYNOPSIS¶
trafgen [-d|--dev <netdev>][-c|--conf <file>][-J|--jumbo-support]
[-x|--interactive][-n|--num <uint>][-r|--rand][-t|--gap <usec>]
[-S|--ring-size <size>][-k|--kernel-pull <usec>][-b|--bind-cpu
<cpu>] [-B|--unbind-cpu
<cpu>][-H|--prio-high][-Q|--notouch-irq][-v|--version] [-h|--help]
DESCRIPTION¶
A high-performance network traffic generator that uses the zero-copy TX_RING for
network I/O. For instance, on comodity Gigabit hardware up to 1,488,095 pps 64
Byte pps have been achieved with trafgen.
OPTIONS¶
- trafgen --dev eth0 --conf trafgen.txf --bind-cpu 0
- Use packet configuration trafgen.txf, eth0 as transmission
device and CPU0 for binding the process.
OPTIONS¶
- -h|--help
- Print help text and lists all options.
- -v|--version
- Print version.
- -d|--dev <netdev>
- Device for transmission i.e., eth0.
- -c|--conf <conf>
- Path to packet configuration file.
- -x|--interactive
- Start trafgen in interactive mode.
- -J|--jumbo-support
- Support for 64KB Super Jumbo Frames
- -n|--num <uint>
- Number of packets to generate before exiting. 0 means
forever until SIGINT.
- -r|--rand
- Randomize packet selection process instead of
round-robin.
- -t|--gap <uint>
- Interpacket gap in microseconds.
- -S|--ring-size <size>
- Manually set ring size to <size>: mmap space in
KB/MB/GB.
- -k|--kernel-pull <uint>
- Kernel pull from user interval in microseconds. Default
value is 10 microseconds.
- -b|--bind-cpu <cpu>
- Bind to specific CPU (or CPU-range).
- -B|--unbind-cpu <cpu>
- Forbid to use specific CPU (or CPU-range).
- -H|--prio-high
- Make this high priority process.
- -Q|--notouch-irq
- Do not touch IRQ CPU affinity of NIC.
EXAMPLES¶
- Generate traffic defined in trafgen.txf on eth0 using CPU
0
- trafgen --dev eth0 --conf trafgen.txf --bind-cpu 0
- Generate traffic on eth0 using CPU 0, wait 100 us between
packets
- trafgen --dev eth0 --conf trafgen.txf --bind-cpu 0 --gap
100
- Generate 100,000 packet on eth0 using CPU 0
- trafgen --dev eth0 --conf trafgen.txf --bind-cpu 0 --num
100000
AUTHOR¶
Written by Daniel Borkmann <daniel@netsniff-ng.org>
DOCUMENTATION¶
Documentation by Emmanuel Roullit <emmanuel@netsniff-ng.org>
BUGS¶
Please report bugs to <bugs@netsniff-ng.org>