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:
@@ -27,6 +27,12 @@ public:
|
||||
virtual void on_remove_reader(const std::string& port_id) = 0;
|
||||
virtual void process() = 0;
|
||||
virtual nlohmann::json status() const = 0;
|
||||
|
||||
void set_mxl_instance(mxlInstance instance) { mxl_instance_ = instance; }
|
||||
mxlInstance get_mxl_instance() const { return mxl_instance_; }
|
||||
|
||||
private:
|
||||
mxlInstance mxl_instance_ = nullptr;
|
||||
};
|
||||
|
||||
} // namespace dmf_node
|
||||
|
||||
@@ -71,6 +71,8 @@ int NodeRunner::exec(std::unique_ptr<Node> node) {
|
||||
}
|
||||
spdlog::info("MXL instance created on domain: {}", mxl_domain_);
|
||||
|
||||
node->set_mxl_instance(mxl_instance_);
|
||||
|
||||
mxlGarbageCollectFlows(mxl_instance_);
|
||||
|
||||
if (!config_str_.empty()) {
|
||||
|
||||
Reference in New Issue
Block a user