Project

General

Profile

Actions

Feature #24363

open

Configure DPDK with mellanox NIC

Added by YongSheng Zhang almost 6 years ago. Updated almost 6 years ago.

Status:
New
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Component(RADOS):
Pull request ID:

Description

Hi all
Whether ceph-13.1.0 support DPDK on mellanox NIC?
I found many issues when compiling. I even though handle these issues, but binaries can not run. can you give me a DPDK on ceph With mellanox NIC
configure or completing guide ?
Ps:my cpu is arm64 ,platform is aarch64.

Actions #1

Updated by YongSheng Zhang almost 6 years ago

Append
NIC over optical fiber

Actions #2

Updated by YongSheng Zhang almost 6 years ago

log details

mellanox NIC over fabric

When compiling output error.

1. lack numa and cryptopp libraries

I add following two lines on src/cmake/modules/Finddpdk.cmake ===========================================
if(DPDK_FOUND)
if(EXISTS ${WITH_DPDK_MLX5})
list(APPEND check_LIBRARIES -libverbs)
endif()
+ list(APPEND check_LIBRARIES -lnuma)
+ list(APPEND check_LIBRARIES -lcryptopp)
set(DPDK_LIBRARIES
-Wl,--whole-archive ${check_LIBRARIES} -Wl,--no-whole-archive)
endif(DPDK_FOUND) ===========================================

2. At link step output error
multidefine xxxx,xxx,xxxx,xxx

i delete following lines on src/cmake/modules/BuildDPDK.cmake

===========================================

macro(build_dpdk)
set(DPDK_DIR ${CMAKE_BINARY_DIR}/src/dpdk)
do_build_dpdk(${DPDK_DIR})
set(DPDK_INCLUDE_DIR ${DPDK_DIR}/include) # create the directory so cmake won't complain when looking at the imported # target
file(MAKE_DIRECTORY ${DPDK_INCLUDE_DIR})
- foreach(c
- pci bus_pci
- eal
- mempool mempool_ring mempool_stack ring)
- add_library(dpdk::${c} STATIC IMPORTED)
- add_dependencies(dpdk::${c} dpdk-ext)
- set(dpdk_${c}_LIBRARY
- "${DPDK_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}rte_${c}${CMAKE_STATIC_LIBRARY_SUFFIX}")
- set_target_properties(dpdk::${c} PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES ${DPDK_INCLUDE_DIR}
- IMPORTED_LOCATION "${dpdk_${c}_LIBRARY}")
- list(APPEND DPDK_LIBRARIES dpdk::${c})
- endforeach()
endmacro() ==============================================

next, compiling pass. but all binaries can not run.
output error
EAL: VFIO_RESOURCE_LIST tailq is already registered
initialize tailq: VFIO_RESOURCE_LIST

process exit

I have some incomprehension

1. currently i use mellanox NIC, but all "if(EXISTS ${WITH_DPDK_MLX5})" sentences maybe return false value,on src/cmake/modules/BuildDPDK.cmake, is it correct?

Actions #3

Updated by YongSheng Zhang almost 6 years ago

next, compiling pass. but all binaries can not run.
output error
EAL: VFIO_RESOURCE_LIST tailq is already registered
can not initialize tailq: VFIO_RESOURCE_LIST ------->modify vs above

append deails

dpdk version:

I use ceph-13.1.0 code package provide dpdk code on src/spdk/dpdk path.

Actions #4

Updated by Greg Farnum almost 6 years ago

  • Project changed from Ceph to RADOS
  • Category deleted (build)
  • Assignee set to Haomai Wang
Actions

Also available in: Atom PDF