mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-15 15:04:27 +08:00
IB/iser: Support IPv6 address family
Replace struct sockaddr_in with struct sockaddr which supports both IPv4 and IPv6, and print using the %pIS format directive. Signed-off-by: Roi Dayan <roid@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
parent
64aa90f26c
commit
96ed02d4be
@ -604,8 +604,7 @@ iscsi_iser_ep_connect(struct Scsi_Host *shost, struct sockaddr *dst_addr,
|
||||
ib_conn->ep = ep;
|
||||
iser_conn_init(ib_conn);
|
||||
|
||||
err = iser_connect(ib_conn, NULL, (struct sockaddr_in *)dst_addr,
|
||||
non_blocking);
|
||||
err = iser_connect(ib_conn, NULL, dst_addr, non_blocking);
|
||||
if (err)
|
||||
return ERR_PTR(err);
|
||||
|
||||
|
@ -448,8 +448,8 @@ int iser_reg_rdma_mem_fastreg(struct iscsi_iser_task *task,
|
||||
enum iser_data_dir cmd_dir);
|
||||
|
||||
int iser_connect(struct iser_conn *ib_conn,
|
||||
struct sockaddr_in *src_addr,
|
||||
struct sockaddr_in *dst_addr,
|
||||
struct sockaddr *src_addr,
|
||||
struct sockaddr *dst_addr,
|
||||
int non_blocking);
|
||||
|
||||
int iser_reg_page_vec(struct iser_conn *ib_conn,
|
||||
|
@ -810,22 +810,19 @@ void iser_conn_init(struct iser_conn *ib_conn)
|
||||
* sleeps until the connection is established or rejected
|
||||
*/
|
||||
int iser_connect(struct iser_conn *ib_conn,
|
||||
struct sockaddr_in *src_addr,
|
||||
struct sockaddr_in *dst_addr,
|
||||
struct sockaddr *src_addr,
|
||||
struct sockaddr *dst_addr,
|
||||
int non_blocking)
|
||||
{
|
||||
struct sockaddr *src, *dst;
|
||||
int err = 0;
|
||||
|
||||
sprintf(ib_conn->name, "%pI4:%d",
|
||||
&dst_addr->sin_addr.s_addr, dst_addr->sin_port);
|
||||
sprintf(ib_conn->name, "%pISp", dst_addr);
|
||||
|
||||
iser_info("connecting to: %s\n", ib_conn->name);
|
||||
|
||||
/* the device is known only --after-- address resolution */
|
||||
ib_conn->device = NULL;
|
||||
|
||||
iser_info("connecting to: %pI4, port 0x%x\n",
|
||||
&dst_addr->sin_addr, dst_addr->sin_port);
|
||||
|
||||
ib_conn->state = ISER_CONN_PENDING;
|
||||
|
||||
ib_conn->cma_id = rdma_create_id(iser_cma_handler,
|
||||
@ -837,9 +834,7 @@ int iser_connect(struct iser_conn *ib_conn,
|
||||
goto id_failure;
|
||||
}
|
||||
|
||||
src = (struct sockaddr *)src_addr;
|
||||
dst = (struct sockaddr *)dst_addr;
|
||||
err = rdma_resolve_addr(ib_conn->cma_id, src, dst, 1000);
|
||||
err = rdma_resolve_addr(ib_conn->cma_id, src_addr, dst_addr, 1000);
|
||||
if (err) {
|
||||
iser_err("rdma_resolve_addr failed: %d\n", err);
|
||||
goto addr_failure;
|
||||
|
Loading…
Reference in New Issue
Block a user