Blame view

samples/pktgen/README.rst 1.76 KB
b64b0d1e6   Jesper Dangaard Brouer   pktgen: new pktge...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  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
e0e16672e   Tariq Toukan   pktgen: Specify t...
24
    -f : ($F_THREAD)  index of first thread (zero indexed CPU number)
b64b0d1e6   Jesper Dangaard Brouer   pktgen: new pktge...
25
    -c : ($SKB_CLONE) SKB clones send before alloc new SKB
69137ea60   Tariq Toukan   pktgen: Specify n...
26
    -n : ($COUNT)     num messages to send per thread, 0 means indefinitely
b64b0d1e6   Jesper Dangaard Brouer   pktgen: new pktge...
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
    -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.