前言:
dpdk-16.07.2 与 内核Linux-3.10.0-514.6.1.el7.x86_64 编译的时候有个关于kni的错误
CC [M] /root/src/thirdparty/dpdk/dpdk-stable-16.07./x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.o
/root/src/thirdparty/dpdk/dpdk-stable-16.07./x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c: In function ‘igb_ndo_bridge_getlink’:
/root/src/thirdparty/dpdk/dpdk-stable-16.07./x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c::: error: too few arguments to function ‘ndo_dflt_bridge_getlink’
return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, , );
^
In file included from /usr/src/kernels/3.10.-514.6..el7.x86_64/include/net/dst.h::,
from /usr/src/kernels/3.10.-514.6..el7.x86_64/include/net/sock.h:,
from /usr/src/kernels/3.10.-514.6..el7.x86_64/include/linux/tcp.h:,
from /root/src/thirdparty/dpdk/dpdk-stable-16.07./x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c::
/usr/src/kernels/3.10.-514.6..el7.x86_64/include/linux/rtnetlink.h::: note: declared here
extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
^
已知:
1. 学会了编译。
2. config已完成
配置:
修改文件 /root/src/thirdparty/dpdk/dpdk-stable-16.07.2/x86_64-native-linuxapp-gcc/.config 可以进行配置。
[root@dpdk x86_64-native-linuxapp-gcc]# diff /root/src/thirdparty/dpdk/dpdk-stable-16.07./x86_64-native-linuxapp-gcc/.config /root/src/thirdparty/dpdk/dpdk-stable-16.07./x86_64-native-linuxapp-gcc/.config.orig
,375c374,
< CONFIG_RTE_LIBRTE_KNI=n
< CONFIG_RTE_KNI_KMOD=n
---
> CONFIG_RTE_LIBRTE_KNI=y
> CONFIG_RTE_KNI_KMOD=y
[root@dpdk x86_64-native-linuxapp-gcc]#
这样就不编译kni了,就可以过了。