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