]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
sdp: fix connect to IPv4 over IPv6
authorAmir Vadai <amirv@mellanox.co.il>
Wed, 29 Dec 2010 15:23:07 +0000 (17:23 +0200)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:05:38 +0000 (05:05 -0700)
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
drivers/infiniband/ulp/sdp/sdp_main.c

index fb911120aeb05f8520a53e9c3e6584d6aa41a13c..320d45cd4ea0e877dd6ae1675abee974718949d4 100644 (file)
@@ -846,6 +846,10 @@ static int sdp_ipv4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_le
                 return -EINVAL;
 
        if (!ssk->id) {
+               /* If IPv4 over IPv6, make sure rdma_bind will expect ipv4 address */
+               if (inet6_sk(sk))
+                       inet6_sk(sk)->rcv_saddr.s6_addr32[2] = htonl(0x0000ffff);
+
                rc = sdp_get_port(sk, 0);
                if (rc)
                        return rc;