DPDK在Atom和J1900平台上运行失败的解决方法

  按照dpdk的quick start guide,编译helloworld程序,在J1900平台上运行,会报错导致运行失败:

constructor function rte_cpu_check_supported() needs to check some unnecessary CPU flags which is not used by current DPDK such as "AES"?


  解决方法:低端CPU上,部分高级指令特性不支持,需要修改处理器类型为atom,修改 dpdk-16.07/mk/machine/native/rte.vars.mk 文件,将其中的MACHINE_CFLAGS = -march=native 改为 MACHINE_CFLAGS = -march=atom, 即可解决上述问题

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
运行 DPDK 的 Kernel Network Interface (KNI) 需要以下步骤: 1. 编译 DPDK 库和示例程序。 2. 加载 DPDK 驱动程序。 3. 配置 KNI 接口。 4. 运行示例程序。 下面给出详细说明和示例: 1. 编译 DPDK 库和示例程序。 下载 DPDK 19.11.4 版本,并解压缩: ``` tar -xvf dpdk-19.11.4.tar.xz cd dpdk-19.11.4 ``` 设置环境变量: ``` export RTE_SDK=`pwd` export RTE_TARGET=x86_64-native-linuxapp-gcc ``` 编译 DPDK 库和示例程序: ``` make config T=x86_64-native-linuxapp-gcc make ``` 2. 加载 DPDK 驱动程序。 使用 DPDK 的 KNI 接口需要加载 DPDK 驱动程序,可以使用以下命令加载: ``` sudo modprobe uio sudo insmod $RTE_SDK/$RTE_TARGET/kmod/igb_uio.ko ``` 3. 配置 KNI 接口。 为了使用 KNI 接口,需要在 DPDK 的 EAL 中设置 KNI 接口的名称和数量: ``` sudo $RTE_SDK/usertools/dpdk-devbind.py -b igb_uio 0000:01:00.0 sudo $RTE_SDK/usertools/dpdk-devbind.py -b igb_uio 0000:01:00.1 sudo $RTE_SDK/usertools/dpdk-devbind.py --status sudo $RTE_SDK/usertools/dpdk-setup.sh ``` 其中,第一行和第二行将网络设备绑定到 DPDK 的驱动程序上。第三行是检查绑定结果。第四行是配置 KNI 接口的名称和数量。 4. 运行示例程序。 DPDK 示例程序提供了 kni 示例,可以使用以下命令运行: ``` sudo ./examples/kni/build/kni -c 0x1 -n 4 -- -P -p 0x3 --config="(0,0,1),(1,0,2)" ``` 其中,-c 0x1 表示使用核心 1 运行程序,-n 4 表示使用 4 个内存通道,-P 表示启用了包括 KNI 在内的所有端口,-p 0x3 表示使用了两个物理端口,--config="(0,0,1),(1,0,2)" 表示将这两个物理端口连接起来。 这样,就可以使用 kni 示例程序进行 KNI 接口的测试了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值