On 11/07/2010 02:34 AM, Or Gerlitz wrote:
add support for reporting the current portal (address/port) used
by a connection, which is needed when doing iscsi redirection.

Signed-off-by: Or Gerlitz<[email protected]>
---

I followed the related flow in iscsi tcp, to support these
two params, feedback is wellcome

  drivers/infiniband/ulp/iser/iscsi_iser.c |   32 
++++++++++++++++++++++++++++++-
  1 file changed, 31 insertions(+), 1 deletion(-)

Index: b/drivers/infiniband/ulp/iser/iscsi_iser.c
===================================================================
--- a/drivers/infiniband/ulp/iser/iscsi_iser.c
+++ b/drivers/infiniband/ulp/iser/iscsi_iser.c
@@ -339,6 +339,7 @@ iscsi_iser_conn_bind(struct iscsi_cls_se
        struct iser_conn *ib_conn;
        struct iscsi_endpoint *ep;
        int error;
+       struct sockaddr_in *dst_in;

        error = iscsi_conn_bind(cls_session, cls_conn, is_leading);
        if (error)
@@ -362,6 +363,9 @@ iscsi_iser_conn_bind(struct iscsi_cls_se
        iser_conn = conn->dd_data;
        ib_conn->iser_conn = iser_conn;
        iser_conn->ib_conn  = ib_conn;
+       dst_in = (struct sockaddr_in *)&ib_conn->cma_id->route.addr.dst_addr;
+       sprintf(conn->portal_address, "%pI4",&dst_in->sin_addr.s_addr);
+       conn->portal_port = ntohs(dst_in->sin_port);

For ipv6, you need to do something like

if (ib_conn->cma_id->route.addr.dst_addr.ss_family == AF_INET)
        // do ipv4 like you did above
else if (ib_conn->cma_id->route.addr.dst_addr.ss_family == AF_INET6)
        // do ipv6 - use struct sockaddr_in6 and %pI6

--
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/open-iscsi?hl=en.

Reply via email to