[dpdk] SDK编译配置

前言:

  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.2/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.o
/root/src/thirdparty/dpdk/dpdk-stable-16.07.2/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.2/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:2290:2: error: too few arguments to function ‘ndo_dflt_bridge_getlink’
  return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0);
  ^
In file included from /usr/src/kernels/3.10.0-514.6.1.el7.x86_64/include/net/dst.h:13:0,
                 from /usr/src/kernels/3.10.0-514.6.1.el7.x86_64/include/net/sock.h:72,
                 from /usr/src/kernels/3.10.0-514.6.1.el7.x86_64/include/linux/tcp.h:23,
                 from /root/src/thirdparty/dpdk/dpdk-stable-16.07.2/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:34:
/usr/src/kernels/3.10.0-514.6.1.el7.x86_64/include/linux/rtnetlink.h:100:12: 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.2/x86_64-native-linuxapp-gcc/.config /root/src/thirdparty/dpdk/dpdk-stable-16.07.2/x86_64-native-linuxapp-gcc/.config.orig 
374,375c374,375
< 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了,就可以过了。

原文地址:https://www.cnblogs.com/hugetong/p/6377604.html