feat: add fabric-bridge node for RDMA/inter-host MXL flow sharing

- New fabric-bridge node: initiator mode reads local MXL flow and
  transfers via Fabrics (RDMA/TCP); target mode receives remote data
  and commits to local MXL flow writer
- Add set_mxl_instance/get_mxl_instance to Node base class
- CMake option DMF_BUILD_FABRICS=OFF by default (needs libfabric)
- Target publishes target_info in status for out-of-band exchange
- Initiator receives target_info via config parameter
This commit is contained in:
Johanness
2026-06-14 11:26:00 +03:00
parent 4402fb2e12
commit 1ab41b6740
8 changed files with 436 additions and 1 deletions
+28
View File
@@ -0,0 +1,28 @@
cmake_minimum_required(VERSION 3.24 FATAL_ERROR)
project(dmf-node-fabric-bridge VERSION 0.1.0 LANGUAGES CXX)
find_package(fmt CONFIG REQUIRED)
find_package(spdlog CONFIG REQUIRED)
find_package(nlohmann_json CONFIG REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(libfabric REQUIRED IMPORTED_TARGET libfabric)
add_executable(dmf-node-fabric-bridge
src/fabric_bridge_node.cpp
src/main.cpp
)
target_link_libraries(dmf-node-fabric-bridge PRIVATE
dmf-node
mxl-fabrics-objects
mxl-fabrics-headers
PkgConfig::libfabric
spdlog::spdlog
fmt::fmt
nlohmann_json::nlohmann_json
)
target_include_directories(dmf-node-fabric-bridge PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src
)