Ubuntu安装netmap
Ubuntu安装netmap
netmap
一句话概括:netmap是一个高效的收发报文的 I/O 框架
官网: http://info.iet.unipi.it/~luigi/netmap/
下载netmap源代码
git clone https://github.com/luigirizzo/netmap.git
#进入LINUX目录
cd ./netmap/
准备工作 内核文件、配置网卡
准备开始运行配置文件
-
- Ubuntu自带内核源码文件无需配置
- 安装C/C++编译环境(必要)
sudo apt install build-essential
-
netmap需要编译特殊驱动才能运行。可以使用
./configure --show-drivers
查看netmap支持的驱动。自己电脑网卡驱动为virtio_net.c且netmap支持。
运行配置文件指定只编译的网卡驱动
./configure --drivers=virtio_net.c
编译和安装
切换为root用户编译,生成netmap.ko、virtio_net.ko待会安装。
make && make install -j $(nproc) //多线程编译
卸载自带网卡驱动,安装刚刚编译出来的这两个文件。
rmmod virtio_net
insmod netmap.ko
insmod ./virtio_net.c/virtio_net.ko
测试
看一下自己的网卡,这里我的是enp0s3。使用kt-gen程序进行收发包测试,安装成功!
小结
自己第一安装这么复杂的程序。刚开始使用WSL2绕了不少弯路,下载编译内核库(机子不行编译等的急死我了😢)。最后发现不支持WSL2的网卡驱动,又转到VirtualBox。好了,顺带学会了编译内核😂。加油!
参考
https://blog.csdn.net/superbfly/article/details/50978196
https://www.sunnyvalley.io/docs/guides/netmap-installation-on-linux