]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
IB/sdp: fill in source address in inet_sock when it is available
authorAmiram Perlmutter <amip@mellanox.co.il>
Thu, 17 Aug 2006 12:31:56 +0000 (15:31 +0300)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:03:55 +0000 (05:03 -0700)
Signed-off-by: Amiram Perlmutter <amip@mellanox.co.il>
(cherry picked from c5858a33c5df475a544ad53c1e629e91cc2eb9f4 commit)

drivers/infiniband/ulp/sdp/sdp_cma.c

index 678287392d9c03a6b4f3b89eaccd9eaf0169c591..b20e1ce03ca1c1bd54b3128845a26896af16d5e3 100644 (file)
@@ -373,6 +373,9 @@ int sdp_cma_handler(struct rdma_cm_id *id, struct rdma_cm_event *event)
                        PAGE_SIZE + sizeof(struct sdp_bsdh));
                hh.max_adverts = 0x1;
 
+               sdp_sk(sk)->isk.rcv_saddr = ((struct sockaddr_in *)&id->route.addr.src_addr)->sin_addr.s_addr;
+               sdp_sk(sk)->isk.saddr = sdp_sk(sk)->isk.rcv_saddr;
+
                memset(&conn_param, 0, sizeof conn_param);
                conn_param.private_data_len = sizeof hh;
                conn_param.private_data = &hh;
@@ -437,6 +440,8 @@ int sdp_cma_handler(struct rdma_cm_id *id, struct rdma_cm_event *event)
                break;
        case RDMA_CM_EVENT_ESTABLISHED:
                sdp_dbg(sk, "RDMA_CM_EVENT_ESTABLISHED\n");
+               sdp_sk(sk)->isk.rcv_saddr = ((struct sockaddr_in *)&id->route.addr.src_addr)->sin_addr.s_addr;
+               sdp_sk(sk)->isk.saddr = sdp_sk(sk)->isk.rcv_saddr;
                rc = sdp_connected_handler(sk, event);
                break;
        case RDMA_CM_EVENT_DISCONNECTED: