blob: f16145303afbf3be3c4176e851be28e396398fc4 [file] [log] [blame]
Ben Hutchingsdb72aba2015-02-24 02:32:59 +00001#!/bin/bash
Ben Hutchings7c95a9d2015-02-24 02:32:07 +00002
3#modprobe pktgen
4
5
6function pgset() {
7 local result
8
9 echo $1 > $PGDEV
10
11 result=`cat $PGDEV | fgrep "Result: OK:"`
12 if [ "$result" = "" ]; then
13 cat $PGDEV | fgrep Result:
14 fi
15}
16
Ben Hutchings7c95a9d2015-02-24 02:32:07 +000017# Config Start Here -----------------------------------------------------------
18
19
20# thread config
Ben Hutchings2ad1cdf2015-02-24 02:32:37 +000021# Each CPU has its own thread. One CPU example. We add eth1.
Ben Hutchings7c95a9d2015-02-24 02:32:07 +000022# IPv6. Note increase in minimal packet length
23
24PGDEV=/proc/net/pktgen/kpktgend_0
25 echo "Removing all devices"
26 pgset "rem_device_all"
27 echo "Adding eth1"
28 pgset "add_device eth1"
Ben Hutchings7c95a9d2015-02-24 02:32:07 +000029
30
31# device config
32# delay 0
33
34CLONE_SKB="clone_skb 1000000"
35# NIC adds 4 bytes CRC
36PKT_SIZE="pkt_size 66"
37
38# COUNT 0 means forever
39#COUNT="count 0"
40COUNT="count 10000000"
41DELAY="delay 0"
42
43PGDEV=/proc/net/pktgen/eth1
44 echo "Configuring $PGDEV"
45 pgset "$COUNT"
46 pgset "$CLONE_SKB"
47 pgset "$PKT_SIZE"
48 pgset "$DELAY"
49 pgset "dst6 fec0::1"
50 pgset "src6 fec0::2"
51 pgset "dst_mac 00:04:23:08:91:dc"
52
53# Time to run
54PGDEV=/proc/net/pktgen/pgctrl
55
56 echo "Running... ctrl^C to stop"
Ben Hutchings16b5d0c2015-02-24 02:33:08 +000057 trap true INT
Ben Hutchings7c95a9d2015-02-24 02:32:07 +000058 pgset "start"
59 echo "Done"
60
61# Result can be vieved in /proc/net/pktgen/eth1