aboutsummaryrefslogtreecommitdiffstats
path: root/samples
diff options
context:
space:
mode:
authorBen Hutchings <ben.hutchings@codethink.co.uk>2015-02-23 21:32:07 -0500
committerDavid S. Miller <davem@davemloft.net>2015-02-23 22:03:18 -0500
commit7c95a9d962f9ffdf02a3d82a6ae108c254a29122 (patch)
tree0efaf1c8ea66db3315ae45f02023ddd1af7be4ff /samples
parentca5b542ccee76e58407c3529f39974d382124093 (diff)
samples/pktgen: Add sample scripts for pktgen facility
These are Robert Olsson's samples which used to be available from <ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/examples/> but currently are not. Change the documentation to refer to these consistently as 'sample scripts', matching the directory name used here. Cc: Robert Olsson <robert@herjulf.se> Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'samples')
-rwxr-xr-xsamples/pktgen/pktgen.conf-1-166
-rwxr-xr-xsamples/pktgen/pktgen.conf-1-1-flows74
-rwxr-xr-xsamples/pktgen/pktgen.conf-1-1-ip667
-rwxr-xr-xsamples/pktgen/pktgen.conf-1-1-ip6-rdos70
-rwxr-xr-xsamples/pktgen/pktgen.conf-1-1-rdos71
-rwxr-xr-xsamples/pktgen/pktgen.conf-1-276
-rwxr-xr-xsamples/pktgen/pktgen.conf-2-172
-rwxr-xr-xsamples/pktgen/pktgen.conf-2-282
8 files changed, 578 insertions, 0 deletions
diff --git a/samples/pktgen/pktgen.conf-1-1 b/samples/pktgen/pktgen.conf-1-1
new file mode 100755
index 000000000000..5d30f836ca3e
--- /dev/null
+++ b/samples/pktgen/pktgen.conf-1-1
@@ -0,0 +1,66 @@
1#! /bin/sh
2
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
17function pg() {
18 echo inject > $PGDEV
19 cat $PGDEV
20}
21
22# Config Start Here -----------------------------------------------------------
23
24
25# thread config
26# Each CPU has own thread. Two CPU exammple. We add eth1, eth2 respectivly.
27
28PGDEV=/proc/net/pktgen/kpktgend_0
29 echo "Removing all devices"
30 pgset "rem_device_all"
31 echo "Adding eth1"
32 pgset "add_device eth1"
33 echo "Setting max_before_softirq 10000"
34 pgset "max_before_softirq 10000"
35
36
37# device config
38# delay 0 means maximum speed.
39
40CLONE_SKB="clone_skb 1000000"
41# NIC adds 4 bytes CRC
42PKT_SIZE="pkt_size 60"
43
44# COUNT 0 means forever
45#COUNT="count 0"
46COUNT="count 10000000"
47DELAY="delay 0"
48
49PGDEV=/proc/net/pktgen/eth1
50 echo "Configuring $PGDEV"
51 pgset "$COUNT"
52 pgset "$CLONE_SKB"
53 pgset "$PKT_SIZE"
54 pgset "$DELAY"
55 pgset "dst 10.10.11.2"
56 pgset "dst_mac 00:04:23:08:91:dc"
57
58
59# Time to run
60PGDEV=/proc/net/pktgen/pgctrl
61
62 echo "Running... ctrl^C to stop"
63 pgset "start"
64 echo "Done"
65
66# Result can be vieved in /proc/net/pktgen/eth1
diff --git a/samples/pktgen/pktgen.conf-1-1-flows b/samples/pktgen/pktgen.conf-1-1-flows
new file mode 100755
index 000000000000..88a01b7d3531
--- /dev/null
+++ b/samples/pktgen/pktgen.conf-1-1-flows
@@ -0,0 +1,74 @@
1#! /bin/sh
2
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
17function pg() {
18 echo inject > $PGDEV
19 cat $PGDEV
20}
21
22# Config Start Here -----------------------------------------------------------
23
24
25# thread config
26# Each CPU has own thread. Two CPU exammple. We add eth1, eth2 respectivly.
27
28PGDEV=/proc/net/pktgen/kpktgend_0
29 echo "Removing all devices"
30 pgset "rem_device_all"
31 echo "Adding eth1"
32 pgset "add_device eth1"
33 echo "Setting max_before_softirq 10000"
34 pgset "max_before_softirq 10000"
35
36
37# device config
38# delay 0
39# We need to do alloc for every skb since we cannot clone here.
40
41CLONE_SKB="clone_skb 0"
42# NIC adds 4 bytes CRC
43PKT_SIZE="pkt_size 60"
44
45# COUNT 0 means forever
46#COUNT="count 0"
47COUNT="count 10000000"
48DELAY="delay 0"
49
50PGDEV=/proc/net/pktgen/eth1
51 echo "Configuring $PGDEV"
52 pgset "$COUNT"
53 pgset "$CLONE_SKB"
54 pgset "$PKT_SIZE"
55 pgset "$DELAY"
56 # Random address with in the min-max range
57 pgset "flag IPDST_RND"
58 pgset "dst_min 10.0.0.0"
59 pgset "dst_max 10.255.255.255"
60
61 # 8k Concurrent flows at 4 pkts
62 pgset "flows 8192"
63 pgset "flowlen 4"
64
65 pgset "dst_mac 00:04:23:08:91:dc"
66
67# Time to run
68PGDEV=/proc/net/pktgen/pgctrl
69
70 echo "Running... ctrl^C to stop"
71 pgset "start"
72 echo "Done"
73
74# Result can be vieved in /proc/net/pktgen/eth1
diff --git a/samples/pktgen/pktgen.conf-1-1-ip6 b/samples/pktgen/pktgen.conf-1-1-ip6
new file mode 100755
index 000000000000..752f112bd9e6
--- /dev/null
+++ b/samples/pktgen/pktgen.conf-1-1-ip6
@@ -0,0 +1,67 @@
1#! /bin/sh
2
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
17function pg() {
18 echo inject > $PGDEV
19 cat $PGDEV
20}
21
22# Config Start Here -----------------------------------------------------------
23
24
25# thread config
26# Each CPU has own thread. Two CPU exammple. We add eth1, eth2 respectivly.
27# IPv6. Note increase in minimal packet length
28
29PGDEV=/proc/net/pktgen/kpktgend_0
30 echo "Removing all devices"
31 pgset "rem_device_all"
32 echo "Adding eth1"
33 pgset "add_device eth1"
34 echo "Setting max_before_softirq 10000"
35 pgset "max_before_softirq 10000"
36
37
38# device config
39# delay 0
40
41CLONE_SKB="clone_skb 1000000"
42# NIC adds 4 bytes CRC
43PKT_SIZE="pkt_size 66"
44
45# COUNT 0 means forever
46#COUNT="count 0"
47COUNT="count 10000000"
48DELAY="delay 0"
49
50PGDEV=/proc/net/pktgen/eth1
51 echo "Configuring $PGDEV"
52 pgset "$COUNT"
53 pgset "$CLONE_SKB"
54 pgset "$PKT_SIZE"
55 pgset "$DELAY"
56 pgset "dst6 fec0::1"
57 pgset "src6 fec0::2"
58 pgset "dst_mac 00:04:23:08:91:dc"
59
60# Time to run
61PGDEV=/proc/net/pktgen/pgctrl
62
63 echo "Running... ctrl^C to stop"
64 pgset "start"
65 echo "Done"
66
67# Result can be vieved in /proc/net/pktgen/eth1
diff --git a/samples/pktgen/pktgen.conf-1-1-ip6-rdos b/samples/pktgen/pktgen.conf-1-1-ip6-rdos
new file mode 100755
index 000000000000..fd364277e43f
--- /dev/null
+++ b/samples/pktgen/pktgen.conf-1-1-ip6-rdos
@@ -0,0 +1,70 @@
1#! /bin/sh
2
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
17function pg() {
18 echo inject > $PGDEV
19 cat $PGDEV
20}
21
22# Config Start Here -----------------------------------------------------------
23
24
25# thread config
26# Each CPU has own thread. Two CPU exammple. We add eth1, eth2 respectivly.
27# IPv6. Note increase in minimal packet length
28
29PGDEV=/proc/net/pktgen/kpktgend_0
30 echo "Removing all devices"
31 pgset "rem_device_all"
32 echo "Adding eth1"
33 pgset "add_device eth1"
34 echo "Setting max_before_softirq 10000"
35 pgset "max_before_softirq 10000"
36
37
38# device config
39# delay 0 means maximum speed.
40
41# We need to do alloc for every skb since we cannot clone here.
42CLONE_SKB="clone_skb 0"
43
44# NIC adds 4 bytes CRC
45PKT_SIZE="pkt_size 66"
46
47# COUNT 0 means forever
48#COUNT="count 0"
49COUNT="count 10000000"
50DELAY="delay 0"
51
52PGDEV=/proc/net/pktgen/eth1
53 echo "Configuring $PGDEV"
54 pgset "$COUNT"
55 pgset "$CLONE_SKB"
56 pgset "$PKT_SIZE"
57 pgset "$DELAY"
58 pgset "dst6_min fec0::1"
59 pgset "dst6_max fec0::FFFF:FFFF"
60
61 pgset "dst_mac 00:04:23:08:91:dc"
62
63# Time to run
64PGDEV=/proc/net/pktgen/pgctrl
65
66 echo "Running... ctrl^C to stop"
67 pgset "start"
68 echo "Done"
69
70# Result can be vieved in /proc/net/pktgen/eth1
diff --git a/samples/pktgen/pktgen.conf-1-1-rdos b/samples/pktgen/pktgen.conf-1-1-rdos
new file mode 100755
index 000000000000..bc81fa319243
--- /dev/null
+++ b/samples/pktgen/pktgen.conf-1-1-rdos
@@ -0,0 +1,71 @@
1#! /bin/sh
2
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
17function pg() {
18 echo inject > $PGDEV
19 cat $PGDEV
20}
21
22# Config Start Here -----------------------------------------------------------
23
24
25# thread config
26# Each CPU has own thread. Two CPU exammple. We add eth1, eth2 respectivly.
27
28PGDEV=/proc/net/pktgen/kpktgend_0
29 echo "Removing all devices"
30 pgset "rem_device_all"
31 echo "Adding eth1"
32 pgset "add_device eth1"
33 echo "Setting max_before_softirq 10000"
34 pgset "max_before_softirq 10000"
35
36
37# device config
38# delay 0
39
40# We need to do alloc for every skb since we cannot clone here.
41
42CLONE_SKB="clone_skb 0"
43# NIC adds 4 bytes CRC
44PKT_SIZE="pkt_size 60"
45
46# COUNT 0 means forever
47#COUNT="count 0"
48COUNT="count 10000000"
49DELAY="delay 0"
50
51PGDEV=/proc/net/pktgen/eth1
52 echo "Configuring $PGDEV"
53 pgset "$COUNT"
54 pgset "$CLONE_SKB"
55 pgset "$PKT_SIZE"
56 pgset "$DELAY"
57 # Random address with in the min-max range
58 pgset "flag IPDST_RND"
59 pgset "dst_min 10.0.0.0"
60 pgset "dst_max 10.255.255.255"
61
62 pgset "dst_mac 00:04:23:08:91:dc"
63
64# Time to run
65PGDEV=/proc/net/pktgen/pgctrl
66
67 echo "Running... ctrl^C to stop"
68 pgset "start"
69 echo "Done"
70
71# Result can be vieved in /proc/net/pktgen/eth1
diff --git a/samples/pktgen/pktgen.conf-1-2 b/samples/pktgen/pktgen.conf-1-2
new file mode 100755
index 000000000000..f99b88673860
--- /dev/null
+++ b/samples/pktgen/pktgen.conf-1-2
@@ -0,0 +1,76 @@
1#! /bin/sh
2
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
17function pg() {
18 echo inject > $PGDEV
19 cat $PGDEV
20}
21
22# Config Start Here -----------------------------------------------------------
23
24
25# thread config
26# One CPU means one thread. One CPU exammple. We add eth1, eth2 respectivly.
27
28PGDEV=/proc/net/pktgen/kpktgend_0
29 echo "Removing all devices"
30 pgset "rem_device_all"
31 echo "Adding eth1"
32 pgset "add_device eth1"
33 echo "Adding eth2"
34 pgset "add_device eth2"
35 echo "Setting max_before_softirq 10000"
36 pgset "max_before_softirq 10000"
37
38
39# device config
40# delay 0 means maximum speed.
41
42CLONE_SKB="clone_skb 1000000"
43# NIC adds 4 bytes CRC
44PKT_SIZE="pkt_size 60"
45
46# COUNT 0 means forever
47#COUNT="count 0"
48COUNT="count 10000000"
49DELAY="delay 0"
50
51PGDEV=/proc/net/pktgen/eth1
52 echo "Configuring $PGDEV"
53 pgset "$COUNT"
54 pgset "$CLONE_SKB"
55 pgset "$PKT_SIZE"
56 pgset "$DELAY"
57 pgset "dst 10.10.11.2"
58 pgset "dst_mac 00:04:23:08:91:dc"
59
60PGDEV=/proc/net/pktgen/eth2
61 echo "Configuring $PGDEV"
62 pgset "$COUNT"
63 pgset "$CLONE_SKB"
64 pgset "$PKT_SIZE"
65 pgset "$DELAY"
66 pgset "dst 192.168.2.2"
67 pgset "dst_mac 00:04:23:08:91:de"
68
69# Time to run
70PGDEV=/proc/net/pktgen/pgctrl
71
72 echo "Running... ctrl^C to stop"
73 pgset "start"
74 echo "Done"
75
76# Result can be vieved in /proc/net/pktgen/eth[1,2]
diff --git a/samples/pktgen/pktgen.conf-2-1 b/samples/pktgen/pktgen.conf-2-1
new file mode 100755
index 000000000000..845d7bf1609a
--- /dev/null
+++ b/samples/pktgen/pktgen.conf-2-1
@@ -0,0 +1,72 @@
1#! /bin/sh
2
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
17function pg() {
18 echo inject > $PGDEV
19 cat $PGDEV
20}
21
22# Config Start Here -----------------------------------------------------------
23
24
25# thread config
26# Each CPU has own thread. Two CPU exammple. We add eth1, eth2 respectivly.
27
28PGDEV=/proc/net/pktgen/kpktgend_0
29 echo "Removing all devices"
30 pgset "rem_device_all"
31 echo "Adding eth1"
32 pgset "add_device eth1"
33 echo "Setting max_before_softirq 10000"
34 pgset "max_before_softirq 10000"
35
36# We need to remove old config since we dont use this thread. We can only
37# one NIC on one CPU due to affinity reasons.
38
39PGDEV=/proc/net/pktgen/kpktgend_1
40 echo "Removing all devices"
41 pgset "rem_device_all"
42
43# device config
44# delay 0 means maximum speed.
45
46CLONE_SKB="clone_skb 1000000"
47# NIC adds 4 bytes CRC
48PKT_SIZE="pkt_size 60"
49
50# COUNT 0 means forever
51#COUNT="count 0"
52COUNT="count 10000000"
53DELAY="delay 0"
54
55PGDEV=/proc/net/pktgen/eth1
56 echo "Configuring $PGDEV"
57 pgset "$COUNT"
58 pgset "$CLONE_SKB"
59 pgset "$PKT_SIZE"
60 pgset "$DELAY"
61 pgset "dst 10.10.11.2"
62 pgset "dst_mac 00:04:23:08:91:dc"
63
64
65# Time to run
66PGDEV=/proc/net/pktgen/pgctrl
67
68 echo "Running... ctrl^C to stop"
69 pgset "start"
70 echo "Done"
71
72# Result can be vieved in /proc/net/pktgen/eth1
diff --git a/samples/pktgen/pktgen.conf-2-2 b/samples/pktgen/pktgen.conf-2-2
new file mode 100755
index 000000000000..7ce86470a3a9
--- /dev/null
+++ b/samples/pktgen/pktgen.conf-2-2
@@ -0,0 +1,82 @@
1#! /bin/sh
2
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
17function pg() {
18 echo inject > $PGDEV
19 cat $PGDEV
20}
21
22# Config Start Here -----------------------------------------------------------
23
24
25# thread config
26# Each CPU has own thread. Two CPU exammple. We add eth1, eth2 respectivly.
27
28PGDEV=/proc/net/pktgen/kpktgend_0
29 echo "Removing all devices"
30 pgset "rem_device_all"
31 echo "Adding eth1"
32 pgset "add_device eth1"
33 echo "Setting max_before_softirq 10000"
34 pgset "max_before_softirq 10000"
35
36PGDEV=/proc/net/pktgen/kpktgend_1
37 echo "Removing all devices"
38 pgset "rem_device_all"
39 echo "Adding eth2"
40 pgset "add_device eth2"
41 echo "Setting max_before_softirq 10000"
42 pgset "max_before_softirq 10000"
43
44
45# device config
46# delay 0 means maximum speed.
47
48CLONE_SKB="clone_skb 1000000"
49# NIC adds 4 bytes CRC
50PKT_SIZE="pkt_size 60"
51
52# COUNT 0 means forever
53#COUNT="count 0"
54COUNT="count 10000000"
55DELAY="delay 0"
56
57PGDEV=/proc/net/pktgen/eth1
58 echo "Configuring $PGDEV"
59 pgset "$COUNT"
60 pgset "$CLONE_SKB"
61 pgset "$PKT_SIZE"
62 pgset "$DELAY"
63 pgset "dst 10.10.11.2"
64 pgset "dst_mac 00:04:23:08:91:dc"
65
66PGDEV=/proc/net/pktgen/eth2
67 echo "Configuring $PGDEV"
68 pgset "$COUNT"
69 pgset "$CLONE_SKB"
70 pgset "$PKT_SIZE"
71 pgset "$DELAY"
72 pgset "dst 192.168.2.2"
73 pgset "dst_mac 00:04:23:08:91:de"
74
75# Time to run
76PGDEV=/proc/net/pktgen/pgctrl
77
78 echo "Running... ctrl^C to stop"
79 pgset "start"
80 echo "Done"
81
82# Result can be vieved in /proc/net/pktgen/eth[1,2]