3 trafgen - a high-performance zero-copy network packet generator
7 trafgen [-d|--dev <netdev>][-c|--conf <file>][-J|--jumbo-support]
8 [-n|--num <uint>][-r|--rand][-t|--gap <usec>]
9 [-S|--ring-size <size>][-k|--kernel-pull <usec>][-b|--bind-cpu <cpu>]
10 [-B|--unbind-cpu <cpu>][-H|--prio-high][-Q|--notouch-irq][-v|--version]
15 A high-performance network traffic generator that uses the zero-copy TX_RING
16 for network I/O. For instance, on comodity Gigabit hardware up to 1,488,095 pps
17 64 Byte pps have been achieved with trafgen.
23 =item trafgen --dev eth0 --conf trafgen.txf --bind-cpu 0
25 Use packet configuration trafgen.txf, eth0 as transmission device and CPU0
26 for binding the process.
36 Print help text and lists all options.
42 =item -d|--dev <netdev>
44 Device for transmission i.e., eth0.
46 =item -c|--conf <conf>
48 Path to packet configuration file.
50 =item -J|--jumbo-support
52 Support for 64KB Super Jumbo Frames
56 Number of packets to generate before exiting.
57 0 means forever until SIGINT.
61 Randomize packet selection process instead of round-robin.
65 Interpacket gap in microseconds.
67 =item -S|--ring-size <size>
69 Manually set ring size to <size>: mmap space in KB/MB/GB.
71 =item -k|--kernel-pull <uint>
73 Kernel pull from user interval in microseconds.
74 Default value is 10 microseconds.
76 =item -b|--bind-cpu <cpu>
78 Bind to specific CPU (or CPU-range).
80 =item -B|--unbind-cpu <cpu>
82 Forbid to use specific CPU (or CPU-range).
86 Make this high priority process.
88 =item -Q|--notouch-irq
90 Do not touch IRQ CPU affinity of NIC.
98 =item Generate traffic defined in trafgen.txf on eth0 using CPU 0
100 trafgen --dev eth0 --conf trafgen.txf --bind-cpu 0
102 =item Generate traffic on eth0 using CPU 0, wait 100 us between packets
104 trafgen --dev eth0 --conf trafgen.txf --bind-cpu 0 --gap 100
106 =item Generate 100,000 packet on eth0 using CPU 0
108 trafgen --dev eth0 --conf trafgen.txf --bind-cpu 0 --num 100000
114 Written by Daniel Borkmann <daniel@netsniff-ng.org>
118 Documentation by Emmanuel Roullit <emmanuel@netsniff-ng.org>
122 Please report bugs to <bugs@netsniff-ng.org>