From ad30b0e2dd168db4c9381dcf8afb79abbe5ef037 Mon Sep 17 00:00:00 2001 From: Amiram Perlmutter Date: Thu, 17 Aug 2006 15:31:56 +0300 Subject: [PATCH] IB/sdp: fill in source address in inet_sock when it is available Signed-off-by: Amiram Perlmutter (cherry picked from c5858a33c5df475a544ad53c1e629e91cc2eb9f4 commit) --- drivers/infiniband/ulp/sdp/sdp_cma.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/infiniband/ulp/sdp/sdp_cma.c b/drivers/infiniband/ulp/sdp/sdp_cma.c index 678287392d9c..b20e1ce03ca1 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: -- 2.50.1