dpdk-19.11/examples/kni 如何编译
时间: 2023-08-22 16:08:49 浏览: 256
编译dpdk-19.11/examples/kni需要先安装DPDK库并设置环境变量。以下是编译步骤:
1. 下载DPDK 19.11版本:
```
wget http://fast.dpdk.org/rel/dpdk-19.11.tar.xz
tar -xf dpdk-19.11.tar.xz
cd dpdk-19.11
```
2. 配置DPDK:
```
make config T=x86_64-native-linuxapp-gcc
```
3. 编译DPDK:
```
make -j$(nproc)
```
4. 安装DPDK:
```
sudo make install
```
5. 设置环境变量:
```
export RTE_SDK=/path/to/dpdk-19.11
export RTE_TARGET=x86_64-native-linuxapp-gcc
```
6. 进入kni目录:
```
cd $RTE_SDK/examples/kni
```
7. 编译kni:
```
make
```
编译成功后,会生成一个kni.ko模块和一个kni应用程序。
相关问题
/root/dpdk-19.11/kernel/linux/kni/kni_dev.h:104:30: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type
这个错误通常是因为传递给函数 `get_user_pages_remote` 的指针类型与该函数期望的指针类型不匹配。请确保传递给该函数的指针类型正确,或者尝试使用类型转换将其转换为正确的指针类型。同时,也需要确保传递给该函数的参数数量和类型与其声明的参数数量和类型匹配。如果问题仍然存在,请提供更多的代码细节和上下文信息,以便我能够更好地帮助你解决问题。
/root/dpdk-19.11/x86_64-native-linux-gcc/build/kernel/linux/igb_uio/igb_uio.c:230:6: error: this statement may fall through [-Werror=implicit-fallthrough=]
这个错误是由于编译器开启了 `-Werror=implicit-fallthrough=` 选项,表示开启了隐式的 case 标签穿透警告并将其视为错误。在该语句中,编译器认为 `case IGB_RX_FH_SIZE ... IGB_RX_FH_SIZE` 标签下没有 break 语句,因此可能会发生穿透。
你可以通过在该 case 标签下添加一个显式的 break 语句来解决这个问题,或者在编译选项中关闭 `-Werror=implicit-fallthrough=`。例如在 Makefile 中加入以下代码:
```
CFLAGS += -Wno-error=implicit-fallthrough
```
这样编译时就不会将警告视为错误了。当然,最好还是在代码中添加显式的 break 语句,以避免可能的问题。
阅读全文