kernel_optimize_test/samples/pktgen
John Fastabend 6fd980ac39 net: samples: pktgen mode samples/tests for qdisc layer
This adds samples for pktgen to use with new mode to inject pkts into
the qdisc layer. This also doubles as nice test cases to test any
patches against qdisc layer.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-04 16:07:34 -07:00
..
functions.sh pktgen: new pktgen helper functions for samples scripts 2015-05-22 23:59:16 -04:00
parameters.sh pktgen: new pktgen helper functions for samples scripts 2015-05-22 23:59:16 -04:00
pktgen_bench_xmit_mode_netif_receive.sh pktgen: add benchmark script pktgen_bench_xmit_mode_netif_receive.sh 2015-05-22 23:59:17 -04:00
pktgen_bench_xmit_mode_queue_xmit.sh net: samples: pktgen mode samples/tests for qdisc layer 2016-07-04 16:07:34 -07:00
pktgen_sample01_simple.sh pktgen: add sample script pktgen_sample01_simple.sh 2015-05-22 23:59:17 -04:00
pktgen_sample02_multiqueue.sh pktgen: add sample script pktgen_sample02_multiqueue.sh 2015-05-22 23:59:17 -04:00
pktgen_sample03_burst_single_flow.sh pktgen: add sample script pktgen_sample03_burst_single_flow.sh 2015-05-22 23:59:17 -04:00
pktgen.conf-1-1-flows samples/pktgen: Show the results rather than just commenting where they are 2015-02-23 22:04:25 -05:00
pktgen.conf-1-1-ip6 samples/pktgen: Show the results rather than just commenting where they are 2015-02-23 22:04:25 -05:00
pktgen.conf-1-1-ip6-rdos samples/pktgen: Show the results rather than just commenting where they are 2015-02-23 22:04:25 -05:00
pktgen.conf-1-1-rdos samples/pktgen: Show the results rather than just commenting where they are 2015-02-23 22:04:25 -05:00
pktgen.conf-1-2 samples/pktgen: Show the results rather than just commenting where they are 2015-02-23 22:04:25 -05:00
README.rst pktgen: new pktgen helper functions for samples scripts 2015-05-22 23:59:16 -04:00

Sample and benchmark scripts for pktgen (packet generator)
==========================================================
This directory contains some pktgen sample and benchmark scripts, that
can easily be copied and adjusted for your own use-case.

General doc is located in kernel: Documentation/networking/pktgen.txt

Helper include files
====================
This directory contains two helper shell files, that can be "included"
by shell source'ing.  Namely "functions.sh" and "parameters.sh".

Common parameters
-----------------
The parameters.sh file support easy and consistant parameter parsing
across the sample scripts.  Usage example is printed on errors::

 Usage: ./pktgen_sample01_simple.sh [-vx] -i ethX
  -i : ($DEV)       output interface/device (required)
  -s : ($PKT_SIZE)  packet size
  -d : ($DEST_IP)   destination IP
  -m : ($DST_MAC)   destination MAC-addr
  -t : ($THREADS)   threads to start
  -c : ($SKB_CLONE) SKB clones send before alloc new SKB
  -b : ($BURST)     HW level bursting of SKBs
  -v : ($VERBOSE)   verbose
  -x : ($DEBUG)     debug

The global variable being set is also listed.  E.g. the required
interface/device parameter "-i" sets variable $DEV.

Common functions
----------------
The functions.sh file provides; Three different shell functions for
configuring the different components of pktgen: pg_ctrl(), pg_thread()
and pg_set().

These functions correspond to pktgens different components.
 * pg_ctrl()   control "pgctrl" (/proc/net/pktgen/pgctrl)
 * pg_thread() control the kernel threads and binding to devices
 * pg_set()    control setup of individual devices

See sample scripts for usage examples.