欢迎来到天天文库
浏览记录
ID:51468224
大小:34.00 KB
页数:10页
时间:2020-03-11
《pktgen的安装与使用.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、pktgen的安装与使用0顶0踩简单的vim配置
2、Linux如何在系统启动时自动加载内核模块2011-03-31pktgen的安装与使用Linux.net脚本CC++pktgen的安装与使用系统环境:feforacore12如果你和我一样,在pktgen面前是个新人。是不是也曾遇到下面的问题:(1)以为pktgen和tcpdump一样是Linux下的工具软件;(2)后来,明白了pktgen不是工具,而是内核模块,但是不知道如何加载;(3)加载后,却不会使用,并且一度一位pktgen无法与网络接口eth0建立映射
3、关系;那么,我写下的东西可能对你学习pktgen有所帮助。因为,我也在google上搜了一同,却没有很好的对于pktgen讲解的文档。A首先,pktgen是Linux下的一个内核模块,并不是工具软件。所以,不能通过在命令行输入pktgen的方式运行。那么,我的系统默认pktgen不是自动加载进内核,所以,如果你和我有一样的情况,就需要自己手动添加pktgen入内核。查看pktgen是否在内核命令:$lsmod
4、greppktgen加载pktgen模块入内核的命令:$modprobepktgen此时,就会不禁想到
5、,加载的模块文件到底在哪。我的系统位于/lib/modules/内核版本号/kernel/net/core/pktgen.koB加载成功后,看看pktgen模块的线程是不是已经运行了(更准确的说,是不是处于sleep状态)。$psaux
6、greppktgen看到如下内容,说明pktgen的线程已经启动了。线程个数与cpu核数相关,本机cpu双核,所以两个线程。root20610.00.000?S<Mar300:28[kpktgend_0]root20620.00.000?S<Mar300:00[kp
7、ktgend_1]C然后,pktgen.txt上说可以检测下面三个文件的信息来了解pktgen/proc/net/pktgen/pgctrl/proc/net/pktgen/kpktgend_X/proc/net/pktgen/ethX但是,我发现自己主机中并没有/proc/net/pktgen/ethX(X代表编号,例如接口eth0或eth1)。此时,我以为是不是pktgen没有和网络接口eth0建立关系呢?难道是模块有问题?其实,并不是这样,因为pktgen的运行需要脚本来驱动。因为我运行了网上的实例脚本p
8、ktgen.conf-1-1,但是也没有获得预期的结果。/proc/net/pktgen/ethX还是不存在。一度认为pktgen.c编码有问题,因为我看到了本机中,之有eth0网络接口。命令如下:$dmesg
9、greppktgen输出结果:pktgen:nosuchnetdevice:"eth1"pktgen.conf-1-1下载地址:ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/examples/D最后我终于发现,既不是源码pktge
10、n.c的问题,也不是pktgen模块的问题。原因在于,驱动脚本pktgen.conf-1-1中的网络接口配置与我的本机的不符所致。pktgen.conf-1-1源码如下:#!/bin/sh#modprobepktgenfunctionpgset(){localresultecho$1>$PGDEVresult=`cat$PGDEV
11、fgrep"Result:OK:"`if["$result"=""];thencat$PGDEV
12、fgrepResult:fi}functionpg(){echoinject&
13、gt;$PGDEVcat$PGDEV}#ConfigStartHere-----------------------------------------------------------#threadconfig#EachCPUhasownthread.TwoCPUexammple.Weaddeth1,eth2respectivly.PGDEV=/proc/net/pktgen/kpktgend_0echo"Removingalldevices"pgset"rem_device_all"echo"Adding
14、eth1"pgset"add_deviceeth1"#就在这一句,默认的配置网络接口为eth1,但是我的本机并没有这个接口,而是eth0。所以,应该自己手动修改。echo"Settingmax_before_softirq10000"pgset"max_before_softirq10000"#deviceconfig#delay0meansmaximumspeed.CLONE_SKB
此文档下载收益归作者所有