[Rdma-developers] Re: [openib-general] OpenIB and OpenRDMA: Convergence on common RDMAAPIs and ULPs for Linux

James Lentini jlentini at netapp.com
Thu Jun 2 09:31:36 PDT 2005



On Thu, 2 Jun 2005, Tom Duffy wrote:

> On Thu, 2005-06-02 at 11:16 -0400, James Lentini wrote:
>> - in dat.h, create a public structure for each object type:
>>
>>   struct dat_ep {
>>  	struct dat_provider *provider;
>>   };
>>
>> - in the transport provider (dapl.h) have a private structure that
>>    contains the public one:
>>
>>    struct dapl_ep {
>>  	struct dat_ep	dat_ep;
>>          ...
>>    };
>>
>> Is that the sort of thing you were thinking of?
>
> Yes, exactly.  Then you can create small inline functions that would
> cast back and forth.
>
> The other "issue" right now is that dapl has a header struct that needs
> to come first in all the structs.  So, that would need to be changed.

I think that issue will go away if we implement the above proposal.

The dapl objects all place the dapl_header structure first so that the 
struct dat_provider pointer will be the first item in memory. This 
allows the dat_* functions to cast the user's handle to a struct 
dat_provider pointer and then call the appropriate provider function.

>> I'll do some research here and find out why the original mechanism was
>> chosen.
>
> Cool.
>
> -tduffy
>
>



More information about the general mailing list