Skip to content

Commit e884cbf

Browse files
author
Ralph Castain
committed
Even though the ofi component doesn't do any routing itself, the rest of the code base (e.g., grpcomm) needs to know what routing module this component is using. So set it to the "direct" module, and don't allow ofi to be used if that module isn't available.
Signed-off-by: Ralph Castain <[email protected]>
1 parent ba9a607 commit e884cbf

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

orte/mca/rml/ofi/rml_ofi_component.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -951,7 +951,16 @@ static orte_rml_base_module_t* make_module( int ofi_prov_id)
951951
memcpy(mod, &orte_rml_ofi, sizeof(orte_rml_ofi_module_t));
952952
/* setup the remaining data locations in mod, associate conduit with ofi provider selected*/
953953
mod->cur_transport_id = ofi_prov_id;
954-
954+
/* we always go direct to our target peer, so set the routed to "direct" */
955+
mod->api.routed = orte_routed.assign_module("direct");
956+
if (NULL == mod->api.routed) {
957+
/* we can't work */
958+
opal_output_verbose(20,orte_rml_base_framework.framework_output,
959+
"%s - Failed to get direct routed support, returning NULL ",
960+
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
961+
free(mod);
962+
return NULL;
963+
}
955964
return (orte_rml_base_module_t*)mod;
956965
}
957966

0 commit comments

Comments
 (0)