Add ib_resolve_noderecord_via wrapper similar to ib_resolve_portid_str_via

Signed-off-by: Sarat Kakarla <sarat.kaka...@oracle.com>

--- include/infiniband/mad.h  2009-11-01 16:17:12.000000000 -0800
+++ ../libibmad-1.3.3.wrapper/include/infiniband/mad.h  2013-02-07 
10:32:05.000000000 -0800
@@ -934,6 +934,8 @@
     DEPRECATED;
 MAD_EXPORT int ib_resolve_self(ib_portid_t * portid, int *portnum,
             ibmad_gid_t * gid) DEPRECATED;
+MAD_EXPORT int ib_resolve_noderecord_via(char *addr_str,
+                                         const struct ibmad_port *srcport);

 /* resolve.c new interface */
 MAD_EXPORT int ib_resolve_smlid_via(ib_portid_t * sm_id, int timeout,
--- src/libibmad.map  2009-10-29 18:18:01.000000000 -0700
+++ ../libibmad-1.3.3.wrapper/src/libibmad.map  2013-02-11 10:47:13.000000000 
-0800
@@ -105,6 +105,7 @@
    ib_resolve_gid_via;
    ib_resolve_portid_str_via;
    ib_resolve_self_via;
+    ib_resolve_noderecord_via;
    mad_field_name;
    bm_call_via;
  local: *;
--- src/resolve.c 2009-11-01 16:17:12.000000000 -0800
+++ ../libibmad-1.3.3.wrapper/src/resolve.c 2013-02-11 10:46:10.000000000 -0800
@@ -226,3 +226,21 @@
 {
  return ib_resolve_self_via(portid, portnum, gid, ibmp);
 }
+
+int ib_resolve_noderecord_via(char *addr_str, const struct ibmad_port *srcport)
+{
+   uint64_t    guid;
+   ib_portid_t sm_id;
+   char        buf[IB_SA_DATA_SIZE] = { 0 };
+
+   if (!(guid = strtoull(addr_str, 0, 0)))
+     return -1;
+
+   if (ib_resolve_smlid_via(&sm_id, MAD_DEF_TIMEOUT_MS, srcport) < 0)
+      return -1;
+
+   return ib_node_query_via(srcport, guid, &sm_id, buf);
+}
+
+

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to