[ofa-general] Re: [PATCH RFC] RDMA/CMA: Allocate PS_TCP ports from the host TCP port space.
Sean Hefty
mshefty at ichips.intel.com
Thu Aug 2 14:52:58 PDT 2007
> If we get rid of the rdma_cm specific port spaces, do we then reduce the
> valid possible spaces to just TCP and UDP? Or what? In the sockets
> paradigm, the socket is explicitly bound to a protocol space when its
> created (based on the protocol id). Do you think we need to change the
> rdma_cm_id to have such a concept? IE when you create the cm_id, you
> say your intended QP type or port space? The current API lends itself
> to somone incorrectly choosing a port space, by the way.
Currently, the RDMA port space implies the QP type (RC or UD). We're
not tied to any specific protocol when we create the rdma_cm_id, since
we don't know what type of RDMA device we'll end up using. So, I don't
think we want users to specify a protocol.
> But should we really change the API that drastically? Or just keep the
> port spaces and make PS_TCP share the host's port space.
I don't want to break the user space API, if it can be helped. SDP is
kind of a problem, in that the rdma_cm needs to distinguish between SDP
as a user, versus someone using RDMA_PS_TCP. SDP maps between the RDMA
port space and real TCP port space. I need to get some details on how
SDP uses the rdma_cm, like whether it uses wild card port numbers.
> Maybe the rdma-cm port spaces should really be IB, IWARP, or BOTH. IB
> has its own port space, and IWARP or BOTH gets the TCP port space.
I thought about doing something like this, but I'm not sure there would
be much use of just IB or just iWarp, when the user can specify both.
I even considered pushing the problem into the iWarp CM, but that
seems like a more complex implementation with no benefit unless there
are users of just an IB port space.
At this point, my thoughts are to take your original patch, remove the
rdma_cm port space structures and functions, and figure out how to
handle SDP.
- Sean
More information about the general
mailing list