Sean Hefty wrote: >>> The app _usually_ doesn't care. See NFS discussion for a client app >>> that does care. Also, providers DO care. Because of this issue, >>> the chelsio iwarp provider right now has to allocate its own >>> ephemeral ports at connect time. This logic should be moved into >>> the IWCM or maybe the CMA and an explicit bind() operation be >>> exported by the iwarp providers to allow the IWCM or CMA to track >>> all port allocations. > > Somehow I didn't receive Steve's response. Anyway, I'm > referring to apps that don't specify which port to use as the > one's that don't care, versus those that do want to know their port. > > In reality, the port space for RDMA connections over IB is > distinct from the TCP port space. No attempt is made to > coordinate between the two, and I am not convinced that those > two port spaces should be one and the same. This is where I believe > there's disconnect. > > - Sean
The real issue is how are application endpoints identified uniquely. Currently an application endpoint is identified by IP address and protocol/port, and a connection is a pairing of two endpoints. So the question is whether IB endpoints can conform to that model, whether we document that they aren't really IP addresses and hence only have a sub-qualifier on the passive end, or that we officially define an additional port space (just as already exists for UDP, SCTP and DCCP). There are valid arguments for the latter two, but adopting them requires co-ordination with netdev, netfilter and probably some other development groups I'm not thinking of at the moment. Allocating a port number from one of the existing portspaces so that existing APIs can be complied with is a decision that can be made within this project. Making that decision is not strictly necessary, but it solves all the issues and resolves everything locally. Any theoretical benefit of avoiding an unecessary allocation of a port will have impact on a lot of network-releated code maintained by teams that currently don't have the slightest hint as to what RDMA is, let alone the distinctions between IB and iWARP. So, do you have any reason why allocating a port number for the active endpoint is so onerous that it is worth co-ordinating the evolution of an L4 endpoint with an IP address to accommodate that endpoint being an IB QP? Isn't assigning a port number to the IB QP far simpler? _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
