From: "Wiles, Roger Keith" <keith.wiles@windriver.com>
To: "<dev@dpdk.org>" <dev@dpdk.org>
Subject: [dpdk-dev] More information on Pktgen
Date: Sun, 31 Aug 2014 18:23:37 +0000 [thread overview]
Message-ID: <8DB188E3-6AAE-4FB2-9845-BBBF68CE9388@windriver.com> (raw)
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 other threads:[~2014-08-31 18:19 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8DB188E3-6AAE-4FB2-9845-BBBF68CE9388@windriver.com \
--to=keith.wiles@windriver.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).