美文网首页
OpenFastPath 学习2(运行示例)

OpenFastPath 学习2(运行示例)

作者: forxyz | 来源:发表于2018-11-30 21:23 被阅读0次

一、建立运行环境:

参考 odp-dpdk/README.DPDK说明,建立一个setup_env.sh脚本,内容如下:

RTE_DPDK=/root/OpenFastPath/dpdk

echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

#echo 1024 > /sys/devices/system/node/node*/hugepages/hugepages-2048kB/nr_hugepages

mkdir -p /mnt/huge

mount -t hugetlbfs nodev /mnt/huge

modprobe uio

ulimit -Sn 2048

insmod $RTE_DPDK/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko

rmmod ixgbe

dpdk-devbind --bind=igb_uio 06:00.0

dpdk-devbind --bind=igb_uio 06:00.1

建立一个unset_env.sh脚本,内容如下:

IXGBE_PATH=/lib/modules/4.15.0-42-generic/kernel/drivers/net/ethernet/intel/ixgbe

rmmod igb_uio

insmod $IXGBE_PATH/ixgbe.ko

dpdk-devbind --bind=ixgbe 06:00.0

dpdk-devbind --bind=ixgbe 06:00.1

二、测试

执行setup_env.sh后,测试udpecho,在目录下建立运行脚本startup.sh,如下:

./udpecho -i enp6s0f1 -f ofp.cli

执行报错: odp_crypto.c:556:odp_crypto_capability():No crypto devices available

启用openssl PMD密码设备,命令修改如下:

export ODP_PLATFORM_PARAMS="--vdev crypto_openssl"

./udpecho -i enp6s0f1 -f ofp.cli

执行报错:

E 0 4:2251010240 ofp_init.c:203] (null)(0): file I/O error

I 425144326 1:2856702144 ofp_ipsec.c:186] IPsec not supported with SP. Disabling IPsec.

I 425185656 1:2856702144 ofp_init.c:434] Slow path threads on core 0

../linux-generic/odp_packet_io.c:233:setup_pktio_entry():Unable to init any I/O type.

E 425310286 1:2856702144 ofp_ifnet.c:23] odp_pktio_open failed

E 425316220 1:2856702144 app_main.c:125] Error: OFP global init failed.

怀疑并为使用我们的万兆网卡。

疑问: udpecho 需要通过-i指定网口,但是dpdk uio绑定网口后,网口是消失的。并且,其他例子大都需要指定一个网口。

三、解决问题

查看odp的说明文档:https://github.com/OpenFastPath/ofp/blob/master/docs/ofp-user-guide.adoc#using-ofp-with-odp-dpdk

中有说明:当dpdk绑定网卡后,ofp用0、1等数字来指定网卡:

官方说明

修改启动脚本如下:

export ODP_PLATFORM_PARAMS="--vdev crypto_openssl"

./udpecho -i 0 -f ofp.cli

顺利启动成功,见下图:

相关文章

  • OpenFastPath 学习2(运行示例)

    一、建立运行环境: 参考 odp-dpdk/README.DPDK说明,建立一个setup_env.sh脚本,内容...

  • day12-json文件和异常处理

    1.文件操作 代码示例 代码示例 2.json文件(重要) 代码示例 运行结果 代码示例 代码示例 运行结果 代码...

  • 10.15 day12 json文件和异常处理

    1.文件操作 代码示例 代码示例 2.json文件(重要) 代码示例 运行结果 代码示例 代码示例 运行结果 代码...

  • day16-面向对象和pygame

    1.类的继承 代码示例 运行结果 2.重写 代码示例 运行结果 3.添加属性 代码示例 运行结果 练习 代码如下 ...

  • day11-文件得操作-总结

    1.模块得使用 代码示例 运行如下 2.选择性导入(阻止导入) 3.迭代器 代码示例 运行结果 代码示例 运行结果...

  • 10.12 day11 文件得操作

    1.模块得使用 代码示例 运行如下 2.选择性导入(阻止导入) 3.迭代器 代码示例 运行结果 代码示例 运行结果...

  • 第2章 列表和元组

    代码清单2-1 索引操作示例 运行结果如下: 代码清单2-2 切片操作示例 运行结果如下: 代码清单2-3 序列(...

  • day15-类和对象2

    1.类方法和静态方法 代码示例 运行结果 2.私有化 代码示例 运行结果 3.getter和setter 代码示例...

  • day20-多线程

    1.多线程 代码示例 运行结果 2.创建线程 代码示例 运行结果 4.应用 server(服务端) 代码示例 cl...

  • 10.25 多线程

    1.多线程 代码示例 运行结果 2.创建线程 代码示例 运行结果 4.应用 server(服务端) 代码示例 cl...

网友评论

      本文标题:OpenFastPath 学习2(运行示例)

      本文链接:https://www.haomeiwen.com/subject/ydekcqtx.html