2ad1cdf2ea
They all claimed to be two CPU examples using eth1, eth2 but that is only true in one case! Rob Jones pointed out spelling and grammar errors here, which I've also corrected. Cc: Rob Jones <rob.jones@codethink.co.uk> Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
70 lines
1.3 KiB
Bash
Executable File
70 lines
1.3 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
#modprobe pktgen
|
|
|
|
|
|
function pgset() {
|
|
local result
|
|
|
|
echo $1 > $PGDEV
|
|
|
|
result=`cat $PGDEV | fgrep "Result: OK:"`
|
|
if [ "$result" = "" ]; then
|
|
cat $PGDEV | fgrep Result:
|
|
fi
|
|
}
|
|
|
|
# Config Start Here -----------------------------------------------------------
|
|
|
|
|
|
# thread config
|
|
# Each CPU has its own thread. One CPU example. We add eth1.
|
|
|
|
PGDEV=/proc/net/pktgen/kpktgend_0
|
|
echo "Removing all devices"
|
|
pgset "rem_device_all"
|
|
echo "Adding eth1"
|
|
pgset "add_device eth1"
|
|
echo "Setting max_before_softirq 10000"
|
|
pgset "max_before_softirq 10000"
|
|
|
|
|
|
# device config
|
|
# delay 0
|
|
# We need to do alloc for every skb since we cannot clone here.
|
|
|
|
CLONE_SKB="clone_skb 0"
|
|
# NIC adds 4 bytes CRC
|
|
PKT_SIZE="pkt_size 60"
|
|
|
|
# COUNT 0 means forever
|
|
#COUNT="count 0"
|
|
COUNT="count 10000000"
|
|
DELAY="delay 0"
|
|
|
|
PGDEV=/proc/net/pktgen/eth1
|
|
echo "Configuring $PGDEV"
|
|
pgset "$COUNT"
|
|
pgset "$CLONE_SKB"
|
|
pgset "$PKT_SIZE"
|
|
pgset "$DELAY"
|
|
# Random address with in the min-max range
|
|
pgset "flag IPDST_RND"
|
|
pgset "dst_min 10.0.0.0"
|
|
pgset "dst_max 10.255.255.255"
|
|
|
|
# 8k Concurrent flows at 4 pkts
|
|
pgset "flows 8192"
|
|
pgset "flowlen 4"
|
|
|
|
pgset "dst_mac 00:04:23:08:91:dc"
|
|
|
|
# Time to run
|
|
PGDEV=/proc/net/pktgen/pgctrl
|
|
|
|
echo "Running... ctrl^C to stop"
|
|
pgset "start"
|
|
echo "Done"
|
|
|
|
# Result can be vieved in /proc/net/pktgen/eth1
|