>>Is there any reason the port space has to be known when the cm_id is
>>created but before bind?
>
>No - but it is still required for transport neutrality.  rdma_create_id()
>simply stores the value.

To correct this slightly, a user can call listen after calling create_id without
calling bind.  The bind is done internally to listen.

The port space really should be indicated at creation time.  If we can agree on
that, then the kernel simply needs to decide how to handle AF_IB at bind time.

These patches handle it by setting the well known portion of the SID and acting
on the other bits based on them being set.  The mask is unused.  For the
existing port spaces, we can leave this, or require the user provide a SID/mask
that is consistent with the chosen port space.

For RDMA_PS_IB, I think the flow that you outlined in your other email makes
sense.  Let RDMA_PS_IB cover the entire SID range.  When the SID/mask fall into
an existing port space, it needs to reserve a port from within that port space
to avoid collisions.

- Sean

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to