]>
Commit | Line | Data |
---|---|---|
7c95a9d9 BH |
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 | function 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 | ||
28 | PGDEV=/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 | PGDEV=/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 | ||
48 | CLONE_SKB="clone_skb 1000000" | |
49 | # NIC adds 4 bytes CRC | |
50 | PKT_SIZE="pkt_size 60" | |
51 | ||
52 | # COUNT 0 means forever | |
53 | #COUNT="count 0" | |
54 | COUNT="count 10000000" | |
55 | DELAY="delay 0" | |
56 | ||
57 | PGDEV=/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 | ||
66 | PGDEV=/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 | |
76 | PGDEV=/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] |