]> git.openfabrics.org - ~ardavis/dapl.git/commitdiff
ucm: fca create group incorrectly using IB addr instead of socket address.
authorAmir Hanania <amir.hanania@intel.com>
Thu, 17 Sep 2015 00:31:13 +0000 (17:31 -0700)
committerArlin Davis <arlin.r.davis@intel.com>
Thu, 17 Sep 2015 00:31:13 +0000 (17:31 -0700)
need the socket address for socket based create group info exchange.

Signed-off-by: Amir Hanania <amir.hanania@intel.com>
dapl/openib_common/collectives/fca_provider.c

index 30a33e8c9859f5afefb4baba261e95d6c9484ac1..51bf6a88cd8fa91a994344a7d33afdf1782f88b5 100644 (file)
@@ -314,7 +314,18 @@ static int create_member(struct dapl_hca *hca)
         * only rank0 needs listen, but we don't know who is rank0 yet.
         * Everyone listen, start on seed port until find one unused
         */
+#ifdef _OPENIB_UCM_
+       if (getlocalipaddr((char*)&tp->m_addr, sizeof(DAT_SOCK_ADDR))) {
+               dapl_log(DAPL_DBG_TYPE_ERR,
+                       "create_member: getlocaladdr ERR ret=%s \n", strerror(errno));
+               ret = errno;
+               goto err;
+       }
+       dapl_log(DAPL_DBG_TYPE_EXTENSION, " create_member: UCM local addr %s\n",
+                       inet_ntoa(((struct sockaddr_in *)&tp->m_addr)->sin_addr));
+#else
        memcpy((void*)&tp->m_addr, (void*)&hca->hca_address, sizeof(DAT_SOCK_ADDR));
+#endif
 
        do {
                tp->m_addr.sin_port = htons(lport++);