Hi,
I am trying to compile DPDK PROX L3FWD application for the mlx4 driver and is running into following compilation issues. I have followed the steps from following link as reference.
http://www.mellanox.com/related-docs/prod_software/MLNX_DPDK_Quick_Start_Guide_v2.2_4.2.pdf http://www.mellanox.com/related-docs/prod_software/MLNX_DPDK_Quick_Start_Guide_v2.2_4.2.pdf
CC mlx5_ethdev.o
CC mlx5_mac.o
CC mlx5_rxq.o
CC mlx5_vlan.o
CC mlx5_rxmode.o
CC mlx5_mr.o
CC mlx5_rss.o
CC mlx5_fdir.o
CC mlx5_stats.o
/usr/src/dpdk/drivers/net/mlx5/mlx5_mr.c:39:30: fatal error: infiniband/verbs.h: No such file or directory
#include <infiniband/verbs.h>
^
compilation terminated.
make[6]: *** [mlx5_mr.o] Error 1
make[6]: *** Waiting for unfinished jobs…
/usr/src/dpdk/mk/internal/rte.compile-pre.mk:126: recipe for target ‘mlx5_mr.o’ failed
CC mlx4.o
I do have the following file and is accessible. There is no other verbs.h in the system.
root@root# ls /usr/include/infiniband/verbs.h
/usr/include/infiniband/verbs.h
root@tbserver15:/usr# find . -name verbs.h
./include/infiniband/verbs.h
root@tbserver15:/usr#
MLNX_OFED_LINUX-3.4-2.0.0.0-ubuntu16.04-x86_64.iso is installed in my system.
And firmware version is as below.
root@root:/usr# ibstat
CA ‘mlx4_0’
CA type: MT4103
Number of ports: 2
Firmware version: 2.37.7190
Hardware version: 0
I have extracted the DPDK package from www.mellanox.com/downloads/Drivers/MLNX_DPDK_2.2_4.2.tar.gz
I am using following Docker file to generate docker image.
FROM ubuntu:vivid
*RUN apt-get update && apt-get install -y --no-install-recommends *
*gcc build-essential make curl git liblua5.2-dev libedit-dev libpcap-dev libncurses5-dev libncursesw5-dev pkg-config vim *
&& apt-get clean && rm -rf /var/lib/apt/lists/*
*ENV DPDK_VERSION=2.2.0 *
*RTE_SDK=/usr/src/dpdk *
*RTE_TARGET=x86_64-native-linuxapp-gcc *
*PROX_COMMIT=a52953c4a92ecfcfdd06fc01fce42b57f998cb10 *
PROX_DIR=/usr/src/PROX
*RUN curl -sSL www.mellanox.com/downloads/Drivers/MLNX_DPDK_2.2_4.2.tar.gz | tar -xz; *
mv MLNX_DPDK_2.2_4.2 ${RTE_SDK}
# don’t build kernel modules
*RUN sed -i s/CONFIG_RTE_EAL_IGB_UIO=y/CONFIG_RTE_EAL_IGB_UIO=n/ ${RTE_SDK}/config/common_linuxapp *
*&& sed -i s/CONFIG_RTE_LIBRTE_KNI=y/CONFIG_RTE_LIBRTE_KNI=n/ ${RTE_SDK}/config/common_linuxapp *
*&& sed -i s/CONFIG_RTE_LIBRTE_MLX4_PMD=n/CONFIG_RTE_LIBRTE_MLX4_PMD=y/ ${RTE_SDK}/config/common_linuxapp *
&& sed -i s/CONFIG_RTE_KNI_KMOD=y/CONFIG_RTE_KNI_KMOD=n/ ${RTE_SDK}/config/common_linuxapp
# don’t build unnecessary stuff
*RUN sed -i s/CONFIG_RTE_APP_TEST=y/CONFIG_RTE_APP_TEST=n/ ${RTE_SDK}/config/common_linuxapp *
&& sed -i s/CONFIG_RTE_TEST_PMD=y/CONFIG_RTE_TEST_PMD=n/ ${RTE_SDK}/config/common_linuxapp
*RUN cd ${RTE_SDK} *
&& make install T=${RTE_TARGET} DESTDIR=install -j
RUN git config --global http.sslVerify false
# clone PROX from the repository
_RUN git clone GitHub - nvf-crucio/PROX: Packet generation engine GitHub - nvf-crucio/PROX: Packet generation engine _
*&& cd PROX *
*&& git checkout ${PROX_COMMIT} *
*&& cd … *
&& mv PROX ${PROX_DIR}
# build PROX
*RUN cd ${PROX_DIR} *
&& make
WORKDIR ${PROX_DIR}/build/
Can some one let me know how to proceed further?