1*bd1f8aebSAndroid Build Coastguard Worker#! /bin/bash 2*bd1f8aebSAndroid Build Coastguard Worker 3*bd1f8aebSAndroid Build Coastguard Workerif [ -e /proc/modules ] ; then 4*bd1f8aebSAndroid Build Coastguard Worker modprobe pg3 >& /dev/null 5*bd1f8aebSAndroid Build Coastguard Worker modprobe pktgen >& /dev/null 6*bd1f8aebSAndroid Build Coastguard Workerfi 7*bd1f8aebSAndroid Build Coastguard Worker 8*bd1f8aebSAndroid Build Coastguard Workerfor PGDEV in /proc/net/pg /proc/net/pktgen/pg0 / ; do 9*bd1f8aebSAndroid Build Coastguard Worker [ -e ${PGDEV} ] && break 10*bd1f8aebSAndroid Build Coastguard Workerdone 11*bd1f8aebSAndroid Build Coastguard Workerif [ "${PGDEV}" = "/" ] ; then 12*bd1f8aebSAndroid Build Coastguard Worker echo "Could not locate pg in /proc/net" 1>&2 13*bd1f8aebSAndroid Build Coastguard Worker exit 1 14*bd1f8aebSAndroid Build Coastguard Workerfi 15*bd1f8aebSAndroid Build Coastguard Worker 16*bd1f8aebSAndroid Build Coastguard Workerfunction pgset() { 17*bd1f8aebSAndroid Build Coastguard Worker local result 18*bd1f8aebSAndroid Build Coastguard Worker 19*bd1f8aebSAndroid Build Coastguard Worker echo $1 > ${PGDEV} 20*bd1f8aebSAndroid Build Coastguard Worker 21*bd1f8aebSAndroid Build Coastguard Worker result=`cat ${PGDEV} | fgrep "Result: OK:"` 22*bd1f8aebSAndroid Build Coastguard Worker if [ "$result" = "" ]; then 23*bd1f8aebSAndroid Build Coastguard Worker cat ${PGDEV} | fgrep Result: 24*bd1f8aebSAndroid Build Coastguard Worker fi 25*bd1f8aebSAndroid Build Coastguard Worker} 26*bd1f8aebSAndroid Build Coastguard Worker 27*bd1f8aebSAndroid Build Coastguard Workerfunction pg() { 28*bd1f8aebSAndroid Build Coastguard Worker echo inject > ${PGDEV} 29*bd1f8aebSAndroid Build Coastguard Worker cat ${PGDEV} 30*bd1f8aebSAndroid Build Coastguard Worker} 31*bd1f8aebSAndroid Build Coastguard Worker 32*bd1f8aebSAndroid Build Coastguard Workerpgset "odev eth0" 33*bd1f8aebSAndroid Build Coastguard Workerpgset "dst 0.0.0.0" 34*bd1f8aebSAndroid Build Coastguard Worker 35