> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Jason Gunthorpe
> Sent: Thursday, June 25, 2015 2:30 PM
> To: Steve Wise
> Cc: 'Hefty, Sean'; [email protected]; [email protected]; 
> [email protected]; 'Roi Dayan'
> Subject: Re: [PATCH RFC 2/2] RDMA/isert: Support iWARP transport
> 
> On Thu, Jun 25, 2015 at 02:25:49PM -0500, Steve Wise wrote:
> 
> > To stage the changes we could introduce a new function that returns
> > the needed ib_access_flags value given the desired opcodes.  Then
> > have a series that changes all the existing ULPs to make use of this
> > new function.
> 
> I wouldn't be afraid to add a new create_mr entry point that does the
> right thing, we can unexport/delete the old one when all kernel users
> are gone. Trivially the core can just have a default that translates
> based on iwarp/!iwarp for now.
> 

Ignoring user MRs at this point, I think we would need a new entry point for 
creating dma mrs ala ib_get_dma_mr().

How defining MR "roles":

/**
 * ib_mr_role - possible roles a MR will be used for
 *
 * This allows a transport independent RDMA application to
 * create MRs that are usable for all the desired roles w/o
 * having to understand which access rights are needed.
 */
enum ib_mr_role {
        IB_MRR_RECV             = 1,
        IB_MRR_SEND              = (1<<1),
        IB_MRR_READ_SOURCE = (1<<2),
        IB_MRR_READ_SINK        = (1<<3),
        IB_MRR_WRITE_SOURCE = (1<<4),
        IB_MRR_WRITE_SINK        = (1<<5),
        /* probably more roles */
};

Then new entry point that will call ib_get_dma_mr() with the ib_access_flags 
required to handle the roles for the given device
protocol.

ib_get_dma_role_mr(struct ib_pd *pd, int mr_role_flags)


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