Here is some more information about Pktgen that others may want to know:

At this point Pktgen is just a simple L2/L3 (UDP/TCP/IPv4 with some IPv6 
support) traffic generator and does not have a network or any kind of state 
keeping. Mostly useful for sending traffic for performance testing and some 
other packet type testing say DPI. To maintain high performance not much 
checking is done on the receive side today, but hopefully in the future. It 
does support a simple ARP detection and reply

Think of this as a poor man?s traffic generator as most of us can not buy a 
Spirent machine or have access to that machine all of the time. With a machine 
cost of round $2500 more or less depending on the port types and count you can 
have fast traffic generator to for each developer. I developed Pktgen for 
performance testing as I did not have direct access to the big mainframe 
traffic generator with all of the bells and whistle :-)

Pktgen is not a replacement for the big iron traffic generator, but maybe some 
day :-) Hopefully developers find it useful for day to day development.

I have a Java GUI frontend for Pktgen, which can run on the machine or from 
another machine, but I have not had time to finish it. The Ostinato 
https://code.google.com/p/ostinato/ maybe more what everyone wants, but when I 
did Pktgen they were not using DPDK at the time. My Java GUI fronted was just 
to display the ASCII screen and support the commands in a more GUI format with 
some simple graphs and buttons.

To create something like the Ostinatio I would have to quite my day job and 
that is not a good thing :-)

You can also use the machine at the same time without having to have two 
machines. I do all of my testing and debugging and development on a single 
machine. You can also have multiple Pktgen?s running on the same machine if you 
configure them to use different ports. You application could use a few ports 
and Pktgen could use a few ports while do development and testing on the same 
machine.

Pktgen has a number of methods to send packets PCAP and single packet at wire 
rate on each port. It also has range, sequence and random packet sending 
support. Range allows you to define the range of packets types, sizes, address, 
? and other fields in the packet. The sequence allows you to configure up to 16 
packets per port to send in a round robin format. The random send allows for 
sending packets with random values in the packets with a given location. It 
also supports sending VLAN packets and some support for GRE packets.

I hope that helps some.
++Keith

Keith Wiles, Principal Technologist with CTO office, Wind River mobile 
972-213-5533

Reply via email to