[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