>>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
