[Pkg-ofed-commits] [libfabric] 17/123: Fallback mechanism for getting src address
Ana Beatriz Guerrero López
ana at moszumanska.debian.org
Sat Oct 22 12:28:25 UTC 2016
This is an automated email from the git hooks/post-receive script.
ana pushed a commit to annotated tag v1.1.1
in repository libfabric.
commit 8c061725ecad24288981601fe105e29a8b690044
Author: Jithin Jose <jithin.jose at intel.com>
Date: Thu Aug 27 14:27:14 2015 -0700
Fallback mechanism for getting src address
Signed-off-by: Jithin Jose <jithin.jose at intel.com>
---
prov/sockets/src/sock_fabric.c | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/prov/sockets/src/sock_fabric.c b/prov/sockets/src/sock_fabric.c
index 5135b58..f12d663 100644
--- a/prov/sockets/src/sock_fabric.c
+++ b/prov/sockets/src/sock_fabric.c
@@ -388,6 +388,8 @@ int sock_get_src_addr(struct sockaddr_in *dest_addr,
{
int sock, ret;
socklen_t len;
+ struct addrinfo ai, *rai = NULL;
+ char hostname[HOST_NAME_MAX];
sock = socket(AF_INET, SOCK_DGRAM, 0);
if (sock < 0)
@@ -397,7 +399,24 @@ int sock_get_src_addr(struct sockaddr_in *dest_addr,
ret = connect(sock, (struct sockaddr*)dest_addr, len);
if (ret) {
SOCK_LOG_DBG("Failed to connect udp socket\n");
- ret = -errno;
+
+ if (gethostname(hostname, sizeof hostname) != 0) {
+ SOCK_LOG_DBG("gethostname failed!\n");
+ ret = -FI_EINVAL;
+ goto out;
+ }
+
+ ret = getaddrinfo(hostname, NULL, &ai, &rai);
+ if (ret) {
+ SOCK_LOG_DBG("getaddrinfo failed!\n");
+ ret = -FI_EINVAL;
+ goto out;
+ }
+
+ memcpy(src_addr, (struct sockaddr_in *)rai->ai_addr,
+ sizeof *src_addr);
+ freeaddrinfo(rai);
+ ret = 0;
goto out;
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ofed/libfabric.git
More information about the Pkg-ofed-commits
mailing list