Closed yilongli closed 3 years ago
Hi Yilong,
Sorry to hear you are having issues. I am able to run on a Cloudlab m510 machine so we should be able to resolve this.
Regarding (1), make submodule
is correct; that make target invokes build/init_submodules.sh
. See https://github.com/shenango/caladan/blob/main/Makefile#L111.
(2) The runtime only supports ConnectX-5 for direct polling, so no need to link it with MLX4. For other NICs, packets will be forwarded to runtimes from the IOKernel which uses DPDK.
(3) Thank you, we will fix the typo.
(4) Are you using the Mellanox OFED drivers for the ConnectX-3 (see https://doc.dpdk.org/guides-19.11/nics/mlx4.html)? We tested it using versions 4.6 and 5.0; both worked for us. There are a few configuration parameters mentioned in the instructions related to flow steering, perhaps making sure those are set correctly will help solve the error. Separately, you will likely want to change this line from 0 to 1 to make sure that DPDK uses the experimental link on the m510: https://github.com/shenango/caladan/blob/main/iokernel/dpdk.c#L234.
Hi Josh,
I see. So the problem is that I didn't install Mellanox OFED. Somehow I was under the impression that since caladan is using a patched rdma-core anyway, maybe there is no need to install Mellanox OFED. And I was able to run Caladan on CloudLab xl170 without installing Mellanox OFED. So when I tried m510 without Mellanox OFED, I got compilation errors complaining about missing headers that belong to the rdma-core package. And that's why I tried to fix the makefiles in (2). I have changed to use Mellanox OFED. Thank you.
It seems support for MLX4 has been dropped. If that's the case, we are not able to use m510 machines anymore. Is that correct @joshuafried ? I created a new issue to further discuss this https://github.com/shenango/caladan/issues/20
Hi Caladan developers,
I am running into some issues when trying to build and run Caladan on CloudLab m510 machines.
README.md
says one should usemake submodules
to build the submodules. I think the correct command is actuallybuild/init_submodules
, right?build/shared.mk
didn't setMLX4_INC
andMLX4_LIBS
like it did for mlx5, so I added the following lines:Typo in
build/config
.CONFIG_MLX4
is forConnectX-3
support, notConnectX-4
.After fixing the problems above, I can build
iokerneld
on m510 successfully. However, DPDK fails to initialize the port at startup. Here is the error message:CloudLab m510 machines are equipped with ConnectX3-Pro NIC so I assume Caladan should be able run on them. Any help would be greatly appreciated.