diff options
Diffstat (limited to 'drivers/infiniband/ulp/isert/ib_isert.c')
-rw-r--r-- | drivers/infiniband/ulp/isert/ib_isert.c | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c index dc439a40da3f..403bd29443b8 100644 --- a/drivers/infiniband/ulp/isert/ib_isert.c +++ b/drivers/infiniband/ulp/isert/ib_isert.c | |||
@@ -3095,7 +3095,7 @@ out: | |||
3095 | 3095 | ||
3096 | static int | 3096 | static int |
3097 | isert_setup_np(struct iscsi_np *np, | 3097 | isert_setup_np(struct iscsi_np *np, |
3098 | struct __kernel_sockaddr_storage *ksockaddr) | 3098 | struct sockaddr_storage *ksockaddr) |
3099 | { | 3099 | { |
3100 | struct isert_np *isert_np; | 3100 | struct isert_np *isert_np; |
3101 | struct rdma_cm_id *isert_lid; | 3101 | struct rdma_cm_id *isert_lid; |
@@ -3117,7 +3117,7 @@ isert_setup_np(struct iscsi_np *np, | |||
3117 | * in iscsi_target_configfs.c code.. | 3117 | * in iscsi_target_configfs.c code.. |
3118 | */ | 3118 | */ |
3119 | memcpy(&np->np_sockaddr, ksockaddr, | 3119 | memcpy(&np->np_sockaddr, ksockaddr, |
3120 | sizeof(struct __kernel_sockaddr_storage)); | 3120 | sizeof(struct sockaddr_storage)); |
3121 | 3121 | ||
3122 | isert_lid = isert_setup_id(isert_np); | 3122 | isert_lid = isert_setup_id(isert_np); |
3123 | if (IS_ERR(isert_lid)) { | 3123 | if (IS_ERR(isert_lid)) { |
@@ -3199,32 +3199,11 @@ isert_set_conn_info(struct iscsi_np *np, struct iscsi_conn *conn, | |||
3199 | { | 3199 | { |
3200 | struct rdma_cm_id *cm_id = isert_conn->cm_id; | 3200 | struct rdma_cm_id *cm_id = isert_conn->cm_id; |
3201 | struct rdma_route *cm_route = &cm_id->route; | 3201 | struct rdma_route *cm_route = &cm_id->route; |
3202 | struct sockaddr_in *sock_in; | ||
3203 | struct sockaddr_in6 *sock_in6; | ||
3204 | 3202 | ||
3205 | conn->login_family = np->np_sockaddr.ss_family; | 3203 | conn->login_family = np->np_sockaddr.ss_family; |
3206 | 3204 | ||
3207 | if (np->np_sockaddr.ss_family == AF_INET6) { | 3205 | conn->login_sockaddr = cm_route->addr.dst_addr; |
3208 | sock_in6 = (struct sockaddr_in6 *)&cm_route->addr.dst_addr; | 3206 | conn->local_sockaddr = cm_route->addr.src_addr; |
3209 | snprintf(conn->login_ip, sizeof(conn->login_ip), "%pI6c", | ||
3210 | &sock_in6->sin6_addr.in6_u); | ||
3211 | conn->login_port = ntohs(sock_in6->sin6_port); | ||
3212 | |||
3213 | sock_in6 = (struct sockaddr_in6 *)&cm_route->addr.src_addr; | ||
3214 | snprintf(conn->local_ip, sizeof(conn->local_ip), "%pI6c", | ||
3215 | &sock_in6->sin6_addr.in6_u); | ||
3216 | conn->local_port = ntohs(sock_in6->sin6_port); | ||
3217 | } else { | ||
3218 | sock_in = (struct sockaddr_in *)&cm_route->addr.dst_addr; | ||
3219 | sprintf(conn->login_ip, "%pI4", | ||
3220 | &sock_in->sin_addr.s_addr); | ||
3221 | conn->login_port = ntohs(sock_in->sin_port); | ||
3222 | |||
3223 | sock_in = (struct sockaddr_in *)&cm_route->addr.src_addr; | ||
3224 | sprintf(conn->local_ip, "%pI4", | ||
3225 | &sock_in->sin_addr.s_addr); | ||
3226 | conn->local_port = ntohs(sock_in->sin_port); | ||
3227 | } | ||
3228 | } | 3207 | } |
3229 | 3208 | ||
3230 | static int | 3209 | static int |