[openib-general] [PATCH 6/6] [RFC] iser socket

Alexander Nezhinsky alexn at voltaire.com
Thu Feb 23 05:58:27 PST 2006


Caitlin Bestler wrote:

>>So what do the iser sockets do?  They look like noop stubs to me.
>>
>
>Good question.
>
>I am guessing that they are exactly noop stubs, and the real 
>point is to have a socket associated with an iSER RDMA connection.
>
>My question is why? Unless the attempt is to allow upgrading
>an iSCSI stream connection to an iSER connection I don't see
>why an iSER RDMA connection is in any more of a need for having
>a proxy socket than any other RDMA connection.
>
We don't upgrade iSCSI stream connection but start with
an RDMA connection right away.
The iSER code is going to be one of open-iscsi transports,
and open-iscsi opens connections using sockets from user space,
which is only natural with tcp.
The iSER RC connection should be open from kernel, so this special
socket gives us an opportunity to do so, while leaving intact the
entire mechanism of connection establishment and user-kernel handover.
We don't really need to implement read/write primitives because
they are initiated either from within kernel transport module
itself or through a special user-kernel interface bypassing
the socket.

>I really don't see the benefit of having a "socket" that is
>not truly integrated with the host stack. What socket attributes
>are being sought? And how is it unique to iSER as opposed to
>RDMA in general?
>
Perhaps it is plausible to implement a general-purpose
stack-integrated socket giving access to IB RC connections,
if this is what you mean.
But this was clearly out of scope for the iSER initiator.
We sought a solution to the immediate problem in open-iscsi.
So the main socket feature used here was a neat way to delegate
the IB connection establishment from user space to kernel.





More information about the general mailing list