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
+6
View File
@@ -14,6 +14,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
option(DMF_BUILD_TESTS "Build tests" ON)
option(DMF_BUILD_MXL_TOOLS "Build MXL tools (testsrc, sink)" OFF)
option(DMF_BUILD_DECKLINK "Build DeckLink I/O nodes" ON)
option(DMF_BUILD_FABRICS "Build Fabrics bridge nodes" OFF)
set(DECKLINK_SDK_DIR "" CACHE PATH "Path to Blackmagic DeckLink SDK root")
@@ -22,6 +23,11 @@ if(DMF_BUILD_DECKLINK AND DECKLINK_SDK_DIR)
add_subdirectory(nodes/decklink-out)
endif()
if(DMF_BUILD_FABRICS)
set(MXL_ENABLE_FABRICS_OFI ON CACHE BOOL "" FORCE)
add_subdirectory(nodes/fabric-bridge)
endif()
find_package(fmt CONFIG REQUIRED)
find_package(spdlog CONFIG REQUIRED)
find_package(nlohmann_json CONFIG REQUIRED)