RE: [PATCH rdma-next 4/4] IB/core: Add IP to GID netlink offload

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sorry it took me so long to response, I had personal matters I had to attend
and was without internet access.

> -----Original Message-----
> From: Jason Gunthorpe [mailto:jgunthorpe@xxxxxxxxxxxxxxxxxxxx]
> Sent: Wednesday, May 04, 2016 9:53 PM
> To: Leon Romanovsky <leon@xxxxxxxxxx>
> Cc: dledford@xxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx; Mark Bloch
> <markb@xxxxxxxxxxxx>; Majd Dibbiny <majd@xxxxxxxxxxxx>; Matan
> Barak <matanb@xxxxxxxxxxxx>
> Subject: Re: [PATCH rdma-next 4/4] IB/core: Add IP to GID netlink offload
> 
> On Wed, May 04, 2016 at 06:41:58PM +0300, Leon Romanovsky wrote:
> > From: Mark Bloch <markb@xxxxxxxxxxxx>
> >
> > There is an assumption that rdmacm is used only between nodes
> > in the same IB subnet, this why ARP resolution can be used to turn
> > IP to GID in rdmacm.
> >
> > When dealing with IB communication between subnets this assumption
> > is no longer valid. ARP resolution will get us the next hop device
> > address and not the peer node's device address.
> >
> > To overcome this limitation, let's check user space if it can
> > provide the GID of the peer node, and fail if not.
> >
> > We add a sequence number to identify each request and fill in the GID
> > upon answer from user space.
> 
> This description doesn't describe what this patch is trying to do.
> 
> This patch is delegating IP to GID translation to user space if there
> is a route table entry for the destination.
> 
> I have to say, I really don't like this at all. If we want to have
> proper routing support then the translation needs to be done somehow
> in-band. What is user space supposed to do?
I agree that in the long term an in-band kernel based solution is a better option.
As it stands today, I don't know of any standard way to achieve that.

I'll add a better description to the next version, but in a nutshell:
We are using ibacm to answer those requests, we envision two ways to do that,
The easier one is to load Ibacm with a file that contains ip->gid of the entire fabric.
The more tricky one is feed live information, so if a new node becomes active, update
The entire fabric about its IP and GID and remove the information if a node goes down.

That's also the reason why I've added the RDMA_NL_LS_OP_IP_RESOLVE under 
Local service operations. This way ibacm can still listen on one netlink socket
For both SA and IP->GID queries.

> Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux