summaryrefslogtreecommitdiff
path: root/common/scripts/pktgen.sh
blob: 7d8271a7d6e9e3bb641966b0199e78ad1d010a1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/sh
# pktgen.conf -- Sample configuration for send on two devices on a UP system

#modprobe pktgen

function pgset() {
    local result

    echo $1 > $PGDEV
    result=`cat $PGDEV | fgrep "Result: OK:"`
    if [ "$result" = "" ]; then
         cat $PGDEV | fgrep Result:
    fi
}

function pg() {
    echo inject > $PGDEV
    cat $PGDEV
}

# On UP systems only one thread exists -- so just add devices
# We use eth0
echo "Adding devices to run".

PGDEV=/proc/net/pktgen/kpktgend_0
pgset "rem_device_all"
pgset "add_device eth0"
pgset "max_before_softirq 10000"

#pgset "add_device eth0"

# Configure the individual devices
echo "Configuring devices"

PGDEV=/proc/net/pktgen/eth0
#pgset "delay 0"
pgset "clone_skb 1000000"
pgset "pkt_size 60"
#pgset "min_pkt_size 60"
#pgset "max_pkt_size 60"
#pgset "min_pkt_size 92"
#pgset "max_pkt_size 92"

pgset "src_mac 70:71:BC:A8:5A:E8"
pgset "dst_mac 70:71:bc:dc:92:ab"

pgset "count 10000000"

# Time to run

PGDEV=/proc/net/pktgen/pgctrl

echo "Running... ctrl^C to stop"

pgset "start"

echo "Done"

# To display results
cat /proc/net/pktgen/eth0