the ipg script only works with the old "pg3" module and not the new "pktgen" module ... attached patch updates the ipg script to support both -mike
pgpDCI0UbHEoD.pgp
Description: PGP signature
Only load modules if kernel supports modules and try a little bit harder to locate the pg directory in /proc with newer kernels.
Signed-off-by: Mike Frysinger <[EMAIL PROTECTED]>
--- a/ipg
+++ b/ipg
@@ -1,21 +1,32 @@
#! /bin/bash
-modprobe pg3
+if [ -e /proc/modules ] ; then
+ modprobe pg3 >& /dev/null
+ modprobe pktgen >& /dev/null
+fi
+
+for PGDEV in /proc/net/pg /proc/net/pktgen/pg0 / ; do
+ [ -e ${PGDEV} ] && break
+done
+if [ "${PGDEV}" = "/" ] ; then
+ echo "Could not locate pg in /proc/net" 1>&2
+ exit 1
+fi
function pgset() {
local result
- echo $1 > /proc/net/pg
+ echo $1 > ${PGDEV}
- result=`cat /proc/net/pg | fgrep "Result: OK:"`
+ result=`cat ${PGDEV} | fgrep "Result: OK:"`
if [ "$result" = "" ]; then
- cat /proc/net/pg | fgrep Result:
+ cat ${PGDEV} | fgrep Result:
fi
}
function pg() {
- echo inject > /proc/net/pg
- cat /proc/net/pg
+ echo inject > ${PGDEV}
+ cat ${PGDEV}
}
pgset "odev eth0"
