[openib-general] Re: SDP use of CMA

Michael S. Tsirkin mst at mellanox.co.il
Tue Dec 6 11:25:58 PST 2005


Quoting r. Michael S. Tsirkin <mst at mellanox.co.il>:
> Subject: Re: SDP use of CMA
> 
> Quoting r. Sean Hefty <mshefty at ichips.intel.com>:
> > Subject: Re: SDP use of CMA
> > 
> > Tom Tucker wrote:
> > > Not to jump in late on this, but why couldn't we just add a protocol
> > > parameter to the create_id call. Then it is arbitrarily extensible
> ala
> > > socket(AF_INET, SOCK_STREAM, <protocol!!!>)
> > > 
> > > So what I'm specifically suggesting is:
> > > 
> > > struct rdma_cm_id* rdma_create_id(rdma_cm_event_handler* cm_handler,
> > > 				  void* context,
> > > 				  rdma_cm_proto proto);
> > 
> > This isn't much different that having a separate call to set the
> protocol.  I 
> > went with a separate protocol API to add in version information as
> well. 
> > Changing just the create_id call makes sense.
> > 
> > - Sean
> 
> I also have this notion that it might be a good idea to put the
> protocol in the reserved bits in the service id.

It seems I was too brief.
What I'm trying to say here, service ID not only specifies the private
data format but also allows demultiplexing.

For SDP the SID format is set, but for other protocols we can have

        if (id->protocol != CMA_SDP_PROTO)
		return cpu_to_be64(((u64)IB_OPENIB_OUI << 48) +
		(id->protocol << 16) +
               ((struct sockaddr_in *) addr)->sin_port);

and this way more than one protocol will be able to listen on the
same port.

> Makes sense? 

-- 
MST



More information about the general mailing list