From 7e1be9682ff4c97eb2ba47a4b194b1ee0e5f3f07 Mon Sep 17 00:00:00 2001 From: Arlin Davis Date: Wed, 12 Aug 2015 09:19:07 -0700 Subject: [PATCH] mcm: forward open/query for MFO devices in query only mode Signed-off-by: Arlin Davis --- dapl/openib_mcm/mix.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/dapl/openib_mcm/mix.c b/dapl/openib_mcm/mix.c index cf27cf3..970b372 100644 --- a/dapl/openib_mcm/mix.c +++ b/dapl/openib_mcm/mix.c @@ -86,8 +86,11 @@ int dapli_mix_open(ib_hca_transport_t *tp, char *name, int port, int query_only) always_proxy = dapl_os_get_env_val("DAPL_MCM_ALWAYS_PROXY", 0); scif_port_id = dapl_os_get_env_val("DAPL_MCM_PORT_ID", SCIF_OFED_PORT_8); - if (query_only || (tp->self.node == 0 && !always_proxy)) { - dapl_log(DAPL_DBG_TYPE_EXTENSION," Not running on MIC, no MPXY connect required\n"); + if ((query_only && !MFO_EP(&tp->addr)) || + (tp->self.node == 0 && !always_proxy)) { + dapl_log(DAPL_DBG_TYPE_EXTENSION, + " %s, no MPXYD connect required\n", + query_only ? "Query only,":"Host node,"); tp->scif_ep = 0; return 0; } @@ -273,6 +276,9 @@ int dapli_mix_query_device(ib_hca_transport_t *tp, struct ibv_device_attr *dev_a scif_epd_t mix_ep = tp->scif_ep; int ret, len; + if (!mix_ep) + return 0; + dapl_log(DAPL_DBG_TYPE_EXTENSION, " MIX_QUERY_DEVICE_ATTR tp = %p\n", tp); /* get attr request */ @@ -363,7 +369,10 @@ int dapli_mix_get_attr(ib_hca_transport_t *tp, dat_mix_prov_attr_t *pr_attr) scif_epd_t mix_ep = tp->scif_ep; int ret, len; - dapl_log(DAPL_DBG_TYPE_EXTENSION, " MIX_GET_ATTR tp = %p\n", tp); + if (!mix_ep) + return 0; + + dapl_log(DAPL_DBG_TYPE_EXTENSION, " MIX_QUERY_PROV_ATTR tp = %p\n", tp); /* get attr request */ msg.hdr.ver = DAT_MIX_VER; -- 2.46.0