From: Amir Hanania Date: Thu, 17 Sep 2015 00:31:13 +0000 (-0700) Subject: ucm: fca create group incorrectly using IB addr instead of socket address. X-Git-Tag: dapl-2.1.7-1~6 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=779dfdfe4ebc6f287544e8aad589e1578a58537a;p=~ardavis%2Fdapl.git ucm: fca create group incorrectly using IB addr instead of socket address. need the socket address for socket based create group info exchange. Signed-off-by: Amir Hanania --- diff --git a/dapl/openib_common/collectives/fca_provider.c b/dapl/openib_common/collectives/fca_provider.c index 30a33e8..51bf6a8 100644 --- a/dapl/openib_common/collectives/fca_provider.c +++ b/dapl/openib_common/collectives/fca_provider.c @@ -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++);