+
Skip to content

Unclear how libmoon is supposed to interface with Mellanox dev=mlx5_core #114

@michael-kaplan

Description

@michael-kaplan

I successfully built libmoon (19.05 branch) with dpdk (19.05 libmoon branch) on Ubuntu 20.04 with Mellanox ConnectX-5 (MLNX_OFED_LINUX-5.3-1.0.0.1-ubuntu20.04-x86_64) firmware 16.28.4512. Note I additionally installed mlnx-ofed-kernel-only deb package (did not install by default) and the libmlx5 libraries seem to be bundled with ibverbs (the libs are present but I do not see any libmlx5 packages).

That said, when I run my libmoon based application, it does not find any usable devices. I am unclear on how this should work given the cards are using dev=mlx5_core which is not custom built by libmoon (unlike igb_uio.ko and rte_kni.ko which are present in the x86_64-native-linux-gcc/kmod directory). Since the cards are not using a newly compiled libmoon dpdk dev driver, I'm not surprised my libmoon application doesn't find the devices. Am I misunderstanding how this is supposed to work?

Here is my output from using MoonCookie (libmoon-based application at https://github.com/syn-proxy/MoonCookie)

[INFO]  Initializing DPDK. This will take a few seconds...
EAL: Detected 64 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /run/user/10002/dpdk/rte/mp_socket
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: Cannot obtain physical addresses: Success. Only vfio will function.
EAL: Couldn't get fd on hugepage file
EAL: Couldn't get fd on hugepage file
error allocating rte services array
EAL: FATAL: rte_service_init() failed
EAL: rte_service_init() failed
[INFO]  Found 0 usable devices:
[FATAL] Lua error in task master
../MoonCookie/libmoon/build/../lua/device.lua:100: there are only 0 ports, tried to configure port id 0
Stack Traceback
===============
(2) Lua method 'fatal' at file '/MoonCookie/libmoon/build/../lua/log.lua:129'
	Local variables:
	 self = table: 0x411091f8  {DEBUG:0, fatal:function: 0x41109580, writeToLog:function: 0x41109560, INFO:1 (more...)}
	 str = string: "there are only 0 ports, tried to configure port id 0"
(3) Lua field 'config' at file 'MoonCookie/libmoon/build/../lua/device.lua:100'
	Local variables:
	 args = table: 0x41b40aa0  {rssQueues:1, rxQueues:1, port:0, txQueues:1}
(4) Lua function 'master' at file 'mooncookie.lua:48' (best guess)
	Local variables:
	 args = table: 0x407b6ca8  {devR:1, batch:63, strategy:2, threads:1, devL:0}
(5) global C function 'xpcall'
(6) Lua upvalue 'master' at file '/MoonCookie/libmoon/build/../lua/main.lua:96'
	Local variables:
	 _ = string: "./libmoon/build/libmoon"
	 file = string: "mooncookie.lua"
	 args = table: 0x403b47c0  {1:-s, 2:auth_invalid, 3:0, 4:1}
	 cfgFile = nil
	 ok = boolean: true
	 parsedArgs = table: 0x407b52f0  {1:table: 0x407b6ca8}
(7) Lua function 'main' at file '../MoonCookie/libmoon/build/../lua/main.lua:146' (best guess)
	Local variables:
	 task = string: "master"
	...MoonCookie/libmoon/build/../lua/device.lua:100: there are only 0 ports, tried to configure port id 0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载