使用 dpdk 示例给出错误端口未在端口掩码中启用
using dpdk example gives the error port is not enabled in port mask
我正在尝试使用修改后的 Makefile
将我的自定义应用程序与 DPDK 示例集成
- 带有自定义应用程序代码和 Makefile 的基本转发应用程序(l2fwd 和框架)可以正常工作。
- 具有自定义应用程序代码和 Makefile 的 L3fwd ACL 应用程序无法识别 NIC 端口
错误日志:port is not enabled in port mask
网卡:Mellanox PMD
自定义生成文件:
link_directories(/usr/local/lib/aarch64-linux-gnu/)
include_directories(/usr/local/include/)
link_directories(/opt/mellanox/dpdk/lib)
SET(DPDK_LIBS "-Wl,--whole-archive -l dpdk -Wl,--no-whole-archive")
add_executable( exAppln exAppln.c )
target_link_libraries(exAppln LINK_PUBLIC pcap ${DPDK_LIBS} )
为自定义应用程序传递的参数是 ./Sample -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1)" --rule_ipv4="/root/rule_ipv4.db" --rule_ipv6=/root/rule_ipv6.db
[EDIT-1] 基于评论中的对话
- NIC 被识别为 Mellanox,但类型 mlx5 或 mlx6 不是
- 根据Makefile参数,是共享库链接。
- 未修改命令行参数以引入 PCIe 探针以获取 mellanox 的共享库 PMD
- 应用程序
makefile
和 --log-level
没有日志捕获。
DPDK 库可以静态链接或共享模式。根据更新 -Wl,--whole-archive -l dpdk -Wl,--no-whole-archive
当前链接是在共享模式下完成的。
要启用对所需 PMD 的探测,请使用 DPDK rte_eal_inti args -d
。例子
- 用于 Fortville NIC
-d librte_pmd_i40e.so
- 对于 82599ES 使用
-d librte_pmd_ixgbe.so
- [edit-1 基于评论更新] mellanox net_mlx5 请使用
-d librte_pmd_mlx5.so
.
注:
- 确保
export LD_LIBRARY_PATH=/usr/local/lib/aarch64-linux-gnu/
设置为具有所需 DPDK PMD 的路径。
- 如果可以与静态库链接,则可以避免传递选项
-d
我正在尝试使用修改后的 Makefile
将我的自定义应用程序与 DPDK 示例集成- 带有自定义应用程序代码和 Makefile 的基本转发应用程序(l2fwd 和框架)可以正常工作。
- 具有自定义应用程序代码和 Makefile 的 L3fwd ACL 应用程序无法识别 NIC 端口
错误日志:port is not enabled in port mask
网卡:Mellanox PMD
自定义生成文件:
link_directories(/usr/local/lib/aarch64-linux-gnu/)
include_directories(/usr/local/include/)
link_directories(/opt/mellanox/dpdk/lib)
SET(DPDK_LIBS "-Wl,--whole-archive -l dpdk -Wl,--no-whole-archive")
add_executable( exAppln exAppln.c )
target_link_libraries(exAppln LINK_PUBLIC pcap ${DPDK_LIBS} )
为自定义应用程序传递的参数是 ./Sample -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1)" --rule_ipv4="/root/rule_ipv4.db" --rule_ipv6=/root/rule_ipv6.db
[EDIT-1] 基于评论中的对话
- NIC 被识别为 Mellanox,但类型 mlx5 或 mlx6 不是
- 根据Makefile参数,是共享库链接。
- 未修改命令行参数以引入 PCIe 探针以获取 mellanox 的共享库 PMD
- 应用程序
makefile
和--log-level
没有日志捕获。
DPDK 库可以静态链接或共享模式。根据更新 -Wl,--whole-archive -l dpdk -Wl,--no-whole-archive
当前链接是在共享模式下完成的。
要启用对所需 PMD 的探测,请使用 DPDK rte_eal_inti args -d
。例子
- 用于 Fortville NIC
-d librte_pmd_i40e.so
- 对于 82599ES 使用
-d librte_pmd_ixgbe.so
- [edit-1 基于评论更新] mellanox net_mlx5 请使用
-d librte_pmd_mlx5.so
.
注:
- 确保
export LD_LIBRARY_PATH=/usr/local/lib/aarch64-linux-gnu/
设置为具有所需 DPDK PMD 的路径。 - 如果可以与静态库链接,则可以避免传递选项
-d