Whamcloud - gitweb
LU-10391 lnet: allow lnet_connect() to use IPv6 addresses. 06/37706/14
authorMr NeilBrown <neilb@suse.de>
Fri, 24 Jan 2020 01:10:55 +0000 (12:10 +1100)
committerOleg Drokin <green@whamcloud.com>
Fri, 26 Feb 2021 21:07:49 +0000 (21:07 +0000)
Now that we can created and bind IPv6 sockets, connecting to them is
trivial.

Signed-off-by: Mr NeilBrown <neilb@suse.de>
Change-Id: I6032ea8a5937711922d9c318f72bc64c7020cc6d
Reviewed-on: https://review.whamcloud.com/37706
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Aurelien Degremont <degremoa@amazon.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lnet/lnet/acceptor.c
lnet/lnet/lib-socket.c

index 9103515..159a85e 100644 (file)
@@ -145,7 +145,8 @@ lnet_connect(lnet_nid_t peer_nid, int interface, struct sockaddr *peeraddr,
 
        BUILD_BUG_ON(sizeof(cr) > 16); /* not too big to be on the stack */
 
-       LASSERT(peeraddr->sa_family == AF_INET);
+       LASSERT(peeraddr->sa_family == AF_INET ||
+               peeraddr->sa_family == AF_INET6);
 
        for (port = LNET_ACCEPTOR_MAX_RESERVED_PORT;
             port >= LNET_ACCEPTOR_MIN_RESERVED_PORT;
index 8ea4812..9fa349f 100644 (file)
@@ -394,7 +394,7 @@ lnet_sock_connect(int interface, int local_port,
        if (IS_ERR(sock))
                return sock;
 
-       rc = kernel_connect(sock, peeraddr, sizeof(struct sockaddr_in), 0);
+       rc = kernel_connect(sock, peeraddr, sizeof(struct sockaddr_in6), 0);
        if (rc == 0)
                return sock;