thead_admin c9df2bbe57 Linux_SDK_V0.9.5 1 year ago
..
README.rst c9df2bbe57 Linux_SDK_V0.9.5 1 year ago
functions.sh c9df2bbe57 Linux_SDK_V0.9.5 1 year ago
parameters.sh c9df2bbe57 Linux_SDK_V0.9.5 1 year ago
pktgen_bench_xmit_mode_netif_receive.sh c9df2bbe57 Linux_SDK_V0.9.5 1 year ago
pktgen_bench_xmit_mode_queue_xmit.sh c9df2bbe57 Linux_SDK_V0.9.5 1 year ago
pktgen_sample01_simple.sh c9df2bbe57 Linux_SDK_V0.9.5 1 year ago
pktgen_sample02_multiqueue.sh c9df2bbe57 Linux_SDK_V0.9.5 1 year ago
pktgen_sample03_burst_single_flow.sh c9df2bbe57 Linux_SDK_V0.9.5 1 year ago
pktgen_sample04_many_flows.sh c9df2bbe57 Linux_SDK_V0.9.5 1 year ago
pktgen_sample05_flow_per_thread.sh c9df2bbe57 Linux_SDK_V0.9.5 1 year ago
pktgen_sample06_numa_awared_queue_irq_affinity.sh c9df2bbe57 Linux_SDK_V0.9.5 1 year ago

README.rst

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.rst

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. CIDR (e.g. 198.18.0.0/15) is also allowed
-m : ($DST_MAC) destination MAC-addr
-p : ($DST_PORT) destination PORT range (e.g. 433-444) is also allowed
-t : ($THREADS) threads to start
-f : ($F_THREAD) index of first thread (zero indexed CPU number)
-c : ($SKB_CLONE) SKB clones send before alloc new SKB
-n : ($COUNT) num messages to send per thread, 0 means indefinitely
-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.