]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - samples/pktgen/pktgen.conf-1-1-flows
872dcbadd6c38f161b5b1a1f90a66b9630b9287a
[karo-tx-linux.git] / samples / pktgen / pktgen.conf-1-1-flows
1 #! /bin/sh
2
3 #modprobe pktgen
4
5
6 function 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
17 # Config Start Here -----------------------------------------------------------
18
19
20 # thread config
21 # Each CPU has own thread. Two CPU exammple. We add eth1, eth2 respectivly.
22
23 PGDEV=/proc/net/pktgen/kpktgend_0
24   echo "Removing all devices"
25  pgset "rem_device_all"
26   echo "Adding eth1"
27  pgset "add_device eth1"
28   echo "Setting max_before_softirq 10000"
29  pgset "max_before_softirq 10000"
30
31
32 # device config
33 # delay 0
34 # We need to do alloc for every skb since we cannot clone here.
35
36 CLONE_SKB="clone_skb 0"
37 # NIC adds 4 bytes CRC
38 PKT_SIZE="pkt_size 60"
39
40 # COUNT 0 means forever
41 #COUNT="count 0"
42 COUNT="count 10000000"
43 DELAY="delay 0"
44
45 PGDEV=/proc/net/pktgen/eth1
46   echo "Configuring $PGDEV"
47  pgset "$COUNT"
48  pgset "$CLONE_SKB"
49  pgset "$PKT_SIZE"
50  pgset "$DELAY"
51  # Random address with in the min-max range
52  pgset "flag IPDST_RND"
53  pgset "dst_min 10.0.0.0"
54  pgset "dst_max 10.255.255.255"
55
56  # 8k Concurrent flows at 4 pkts
57  pgset "flows 8192"
58  pgset "flowlen 4"
59
60  pgset "dst_mac  00:04:23:08:91:dc"
61
62 # Time to run
63 PGDEV=/proc/net/pktgen/pgctrl
64
65  echo "Running... ctrl^C to stop"
66  pgset "start"
67  echo "Done"
68
69 # Result can be vieved in /proc/net/pktgen/eth1