Centos7以上版本安装netmap

首次接触netmap这个玩意儿,首先来说netmap也是一个高效收发数据包工具,但是具体如何还有待验证,今天就先来说说怎么安装以及运行测试程序吧。

netmap呢首先需要下载:

下载netmap部分:

  [root@huh ~]# git clone https://github.com/luigirizzo/netmap.git

    netmap官网:http://info.iet.unipi.it/~luigi/netmap/

    netmap的githab网址:https://github.com/luigirizzo/netmap 

    netmap手册:man /root/netmap/share/man/man4/netmap.4 

    通过GitHub将netmap克隆到本地,使用命令:git clone https://github.com/luigirizzo/netmap.git

下载好之后解压进入netmap/LINUX目录。

接下来重点来了:

先不说内核版本问题,你可以先查看一下自己的内核版本,命令uname -r。

一般来说7的内核版本都是3.10.0-327.10.1.el7.x86_64这个版本,可能其他资料说是这个版本编译有问题,管他呢,自己先试一下吧。

直接执行:./configure --drivers=ixgbe(或者e1000,也是根据自己网卡系统来哈,别乱整) --kernel-sources=/usr/src/kernels/3.10.0-327.10.1.el7.x86_64 --kernel-dir=/usr/src/kernels/3.10.0-327.10.1.el7.x86_64,这个根据自己的内核版本哈,管他什么错误,不管先,等他自己完成生成,只要生成完成就行。

如果其中有什么错误的话,你可以看看https://blog.csdn.net/superbfly/article/details/50978196这个里面的文章或者http://www.cnblogs.com/ruo-yu/p/5083290.html的考虑自己是否应该换内核(建议不要更换内核除非迫不得已)。

然后直接make,这个时候一般不会出什么错误。执行完后你就可以看见生成netmap.ko了,你先自己ll命令查看一下嘛。

这个时候没有e1000或者ixgbe生成都不要紧。

加载模块netmap.ko:

其实很多文章说是要先rmmod 自己原来的模块,这个地方我试了不用rmmod自己的模块也可以,毕竟我是原版本的kernel编译的,其他可能要,管他呢,自己先是一次吧,不对再说。

我们直接

insmod netmap.ko

ok,然后进入

cd build-apps/

./pkt-gen -i eth0(自己选择一张网卡吧) -f tx

如果没有错误,ok证明自己安装完成,下面可以研究测试程序了。

如果有问题,自己先看一下问题吧,自己解决一下吧,或者参考我给的其他两篇文档。


猜你喜欢

转载自blog.csdn.net/liyu123__/article/details/80853150