]> git.openfabrics.org - ~ardavis/dapl.git/commitdiff
mcm: forward open/query for MFO devices in query only mode
authorArlin Davis <arlin.r.davis@intel.com>
Wed, 12 Aug 2015 16:19:07 +0000 (09:19 -0700)
committerArlin Davis <arlin.r.davis@intel.com>
Wed, 12 Aug 2015 16:19:07 +0000 (09:19 -0700)
Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
dapl/openib_mcm/mix.c

index cf27cf3fe14e743f4a41f1e1a81d16fe82ebd0d1..970b3722710ea207c0c706fff77bfb945698b8ed 100644 (file)
@@ -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;