OpenFastPath 学习2(运行示例)

一、建立运行环境:

参考 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(运行示例))