]> git.openfabrics.org - ~ardavis/dapl.git/commitdiff
mpxyd/mcm: add provider specific attribute DAT_IB_PROXY_VERSION
authorArlin Davis <arlin.r.davis@intel.com>
Mon, 15 Sep 2014 17:30:56 +0000 (10:30 -0700)
committerArlin Davis <arlin.r.davis@intel.com>
Mon, 15 Sep 2014 17:30:56 +0000 (10:30 -0700)
Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
dapl/openib_common/util.c
dapl/openib_mcm/dapl_ib_util.h

index d253f6ec33082ab75d187b491656bc7fd654dca7..b924b64c45f02a1994b80a7d4b6674eb2279d12b 100644 (file)
@@ -425,10 +425,11 @@ DAT_RETURN dapls_ib_query_hca(IN DAPL_HCA * hca_ptr,
                        hca_ptr->ib_trans.na.mode = "DIRECT";
                hca_ptr->ib_trans.na.read = "FALSE";
 
-               if (!hca_ptr->ib_trans.pr_attr.cpu_family && hca_ptr->ib_trans.scif_ep) {
+               if (!hca_ptr->ib_trans.pr_attr.cpu_family && hca_ptr->ib_trans.self.node) {
                        dapli_mix_get_attr(&hca_ptr->ib_trans, &hca_ptr->ib_trans.pr_attr);
                        sprintf(hca_ptr->ib_trans.fam_str, "%d", hca_ptr->ib_trans.pr_attr.cpu_family);
                        sprintf(hca_ptr->ib_trans.mod_str, "%d", hca_ptr->ib_trans.pr_attr.cpu_model);
+                       sprintf(hca_ptr->ib_trans.ver_str, "%d", DAT_MIX_VER);
                }
 #else
                hca_ptr->ib_trans.na.mode = "DIRECT";
@@ -725,14 +726,6 @@ DAT_NAMED_ATTR ib_attrs[] = {
        {
         "DAT_IB_PORT_STATUS", "UNKNOWN"}
        ,
-#ifdef _OPENIB_MCM_
-       {
-        "DAT_IB_PROXY_CPU_FAMILY", "UNKNOWN"}
-       ,
-       {
-        "DAT_IB_PROXY_CPU_MODEL", "UNKNOWN"}
-       ,
-#endif
 #ifdef DAT_EXTENSIONS
        {
         "DAT_EXTENSION_INTERFACE", "TRUE"}
@@ -778,6 +771,17 @@ DAT_NAMED_ATTR ib_attrs[] = {
         DAT_ATTR_COUNTERS, "TRUE"}
        ,
 #endif                         /* DAPL_COUNTERS */
+#ifdef _OPENIB_MCM_
+       {
+        "DAT_IB_PROXY_CPU_FAMILY", "UNKNOWN"}
+       ,
+       {
+        "DAT_IB_PROXY_CPU_MODEL", "UNKNOWN"}
+       ,
+       {
+        "DAT_IB_PROXY_VERSION", "UNKNOWN"}
+       ,
+#endif
 #endif
 };
 
@@ -801,8 +805,13 @@ void dapls_query_provider_specific_attr(IN DAPL_IA * ia_ptr,
        ib_attrs[5].value = ia_ptr->hca_ptr->ib_trans.na.mtu;
        ib_attrs[6].value = ia_ptr->hca_ptr->ib_trans.na.port;
 #ifdef _OPENIB_MCM_
-       ib_attrs[7].value = ia_ptr->hca_ptr->ib_trans.fam_str;
-       ib_attrs[8].value = ia_ptr->hca_ptr->ib_trans.mod_str;
+       if (ia_ptr->hca_ptr->ib_trans.self.node) { /* only on MIC */
+               int i = attr_ptr->num_provider_specific_attr;
+               ib_attrs[i-3].value = ia_ptr->hca_ptr->ib_trans.fam_str;
+               ib_attrs[i-2].value = ia_ptr->hca_ptr->ib_trans.mod_str;
+               ib_attrs[i-1].value = ia_ptr->hca_ptr->ib_trans.ver_str;
+       } else
+               attr_ptr->num_provider_specific_attr -= 3;
 #endif
 }
 
index dad8212adb8214e95681542474255b4109a40a95..9d9d73c32b2976a6eb6b1961686d5b8e3fb63b9e 100644 (file)
@@ -150,6 +150,7 @@ typedef struct _ib_hca_transport
        char                    guid_str[32];
        char                    fam_str[8];
        char                    mod_str[8];
+       char                    ver_str[8];
        ib_named_attr_t         na;
        dat_mix_prov_attr_t     pr_attr;        /* attributes from proxy */