#!/bin/bash #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 # One CPU means one thread. One CPU example. We add eth1, eth2 respectivly. PGDEV=/proc/net/pktgen/kpktgend_0 echo "Removing all devices" pgset "rem_device_all" echo "Adding eth1" pgset "add_device eth1" echo "Adding eth2" pgset "add_device eth2" # device config # delay 0 means maximum speed. CLONE_SKB="clone_skb 1000000" # 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" pgset "dst 10.10.11.2" pgset "dst_mac 00:04:23:08:91:dc" PGDEV=/proc/net/pktgen/eth2 echo "Configuring $PGDEV" pgset "$COUNT" pgset "$CLONE_SKB" pgset "$PKT_SIZE" pgset "$DELAY" pgset "dst 192.168.2.2" pgset "dst_mac 00:04:23:08:91:de" # Time to run PGDEV=/proc/net/pktgen/pgctrl echo "Running... ctrl^C to stop" trap true INT pgset "start" echo "Done" cat /proc/net/pktgen/eth1 /proc/net/pktgen/eth2 /></form></td></tr> <tr><td class='sub'>net-next plumbings</td><td class='sub right'>Tobias Klauser</td></tr></table> <table class='tabs'><tr><td> <a href='/cgit.cgi/linux/net-next.git/'>summary</a><a href='/cgit.cgi/linux/net-next.git/refs/?id=52ea3e802047552a8c1ec8c42cad361ffd4ca09c'>refs</a><a class='active' href='/cgit.cgi/linux/net-next.git/log/include/uapi/asm-generic/poll.h'>log</a><a href='/cgit.cgi/linux/net-next.git/tree/include/uapi/asm-generic/poll.h?id=52ea3e802047552a8c1ec8c42cad361ffd4ca09c'>tree</a><a href='/cgit.cgi/linux/net-next.git/commit/include/uapi/asm-generic/poll.h?id=52ea3e802047552a8c1ec8c42cad361ffd4ca09c'>commit</a><a href='/cgit.cgi/linux/net-next.git/diff/include/uapi/asm-generic/poll.h?id=52ea3e802047552a8c1ec8c42cad361ffd4ca09c'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/linux/net-next.git/log/include/uapi/asm-generic/poll.h'> <input type='hidden' name='id' value='52ea3e802047552a8c1ec8c42cad361ffd4ca09c'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/cgit.cgi/linux/net-next.git/log/?id=52ea3e802047552a8c1ec8c42cad361ffd4ca09c'>root</a>/<a href='/cgit.cgi/linux/net-next.git/log/include?id=52ea3e802047552a8c1ec8c42cad361ffd4ca09c'>include</a>/<a href='/cgit.cgi/linux/net-next.git/log/include/uapi?id=52ea3e802047552a8c1ec8c42cad361ffd4ca09c'>uapi</a>/<a href='/cgit.cgi/linux/net-next.git/log/include/uapi/asm-generic?id=52ea3e802047552a8c1ec8c42cad361ffd4ca09c'>asm-generic</a>/<a href='/cgit.cgi/linux/net-next.git/log/include/uapi/asm-generic/poll.h?id=52ea3e802047552a8c1ec8c42cad361ffd4ca09c'>poll.h</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/cgit.cgi/linux/net-next.git/log/include/uapi/asm-generic/poll.h?id=52ea3e802047552a8c1ec8c42cad361ffd4ca09c&showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Files</th><th class='left'>Lines</th></tr>