From: Amiram Perlmutter Date: Thu, 17 Aug 2006 12:31:56 +0000 (+0300) Subject: IB/sdp: fill in source address in inet_sock when it is available X-Git-Tag: v4.1.12-92~264^2~5^2~390 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=ad30b0e2dd168db4c9381dcf8afb79abbe5ef037;p=users%2Fjedix%2Flinux-maple.git IB/sdp: fill in source address in inet_sock when it is available Signed-off-by: Amiram Perlmutter (cherry picked from c5858a33c5df475a544ad53c1e629e91cc2eb9f4 commit) --- diff --git a/drivers/infiniband/ulp/sdp/sdp_cma.c b/drivers/infiniband/ulp/sdp/sdp_cma.c index 678287392d9c0..b20e1ce03ca1c 100644 --- a/drivers/infiniband/ulp/sdp/sdp_cma.c +++ b/drivers/infiniband/ulp/sdp/sdp_cma.c @@ -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: