Subject: Re: [PATCH v4 for-next 00/12] Add network namespace support in the RDMA-CM

From: Doug Ledford <[email-masked]>
Date: Tue, 26 May 2015 13:46:36 -0400

On Tue, 2015-05-26 at 10:59 -0600, Jason Gunthorpe wrote:
> On Tue, May 26, 2015 at 09:34:40AM -0400, Doug Ledford wrote:
> 
> > This is a core feature more than anything else.  Namespaces for RDMA
> > devices is not unique to IB or RoCE in any way.  Yet no thought has been
> > given to how this will work universally across all of the RDMA
> > capable
> 
> I think if Haggi is able to follow the perscription I gave then things
> will be general.
> 
>  - All rdma cm ids are associated with a netdev
>  - The output flow uses that netdev to restrict, configure and
>    determine the output RDMA device QP
>  - The input flow locates the netdev as step one and then uses the
>    (netdev,ip,port) tuple to find the rdma listener, which is in turn
>    tied to a netdev and is restricted/configured by it.
> 
> The technology specific part is the two maps: from (input
> device,packet) to netdev, from netdev to (output device,packet)
> 
> After the above clean up is done, namespace enabling is basically
> providing those two mapping functions for each technology in a way
> that can locate delegatable netdevs.
> 
> The trivial case for all the ethernet techs is to provide the above
> maps that can take the (input device,VLAN) and locate the correct
> child VLAN specific netdev. The existing code to support VLAN should
> pretty much immediately enable basic namespace support for all the
> ethernet families.
> 
> The big open question for ethernet is how to work without relying on
> VLAN to create delgated netdevs - typically one would use a bridge and
> veth's, which do not seem very RDMA compatible. But that doesn't need
> to be answered right now.
> 
> Remember, this isn't RDMA namespaces, this is netdev namespace support
> for RDMA-CM -> very different things.

That was the point of my email.  This is a very myopic view of the
feature.  It *should* at least have an idea of these other things too.

> Basically, I'm happy with the generality story, if the clean up work I
> outlined turns out..
> 
> > issue for usNIC as if you want namespace support there, you just start
> > the user space app in a given namespace and you are probably 90% of
> > the
> 
> usNIC has no kernel facing functionality, and no interaction with
> RDMA-CM, so it is irrelevant to any discussion about RDMA-CM :(

Whether usNIC has a kernel facing functionality or not is irrelevant.
This feature isn't kernel only, it effects user space applications
launched in a namespace too.  And, again, my point was that this
discussion is about RDMA-CM and it should be broader (even if the
implementation isn't broader).  Due to the implementation of usNIC I
suspect it would "just work", but it would be better to know so.

-- 
Doug Ledford <[email-masked]>
              GPG KeyID: 0E572FDD