Hi Jason, Leon, > -----Original Message----- > From: Jason Gunthorpe > Sent: Thursday, December 6, 2018 11:26 AM > To: Leon Romanovsky <leon@xxxxxxxxxx> > Cc: Doug Ledford <dledford@xxxxxxxxxx>; Leon Romanovsky > <leonro@xxxxxxxxxxxx>; RDMA mailing list <linux-rdma@xxxxxxxxxxxxxxx>; > Parav Pandit <parav@xxxxxxxxxxxx> > Subject: Re: [PATCH rdma-next v2 00/10] Register IB class as net namespace > aware class > > On Tue, Nov 27, 2018 at 09:29:28AM +0200, Leon Romanovsky wrote: > > From: Leon Romanovsky <leonro@xxxxxxxxxxxx> > > > > Changelog: > > v1->v2: > > * Fixed a couple of spelling errors in documentation > > v0->v1: > > * Removed accessing driver data, use ib_device to reach > > from device > > * Various coding style comments > > * Updated documentation to reflect new members of ib_core_device > > * Added lost ib_setup_port_attrs() patch > > > > From Parav, > > > > Currently 'infiniband' class is registered as net namespace agnostic > > class due to which all rdma devices are visible in all net namespaces. > > Due to which net namespace filter needs to be applied on per sysfs > > entry such as GID or GID attribute for RoCE. This is fine as long as > > there is one rdma device shared among multiple net namespaces. > > > > However, when there are multiple rdma devices, it is desired to see > > only one or more rdma devices per net namespace. With different link > > layer types, there are various use case and mode exists. At minimum > > there are two use cases. > > (a) a shared rdma device among multiple net namespaces > > (b) rdma device bound to a particular net namespace > > > > In preparation to support backward compatibility to existing use cases > > and also to support future (rdma device bound to net namespace), > > > > 1. Prepare rdma infiniband class to be net namespace aware; So that > > when rdma device is bound to a net namespace in future, it can be > > restricted to a single net namespace. This requires a class to be net > > namespace aware. By doing so, a standard kernel framework of sysfs can > > be utilized to isolate devices in net namespaces. This is similar to > > how net class is net namespace aware following standard kernel > > architecture. > > > > 2. Replicate the sysfs tree in non init_net namespaces for backward > > compatibility, so that existing applications continue to operate in > > shared mode. > > > > This functionality is achieved by ib_core implementing a compat > > ib_core_device which replicates the device and sysfs entries in non > > init_net namespaces. It is desired to not create a full ib_device, > > therefore an internal ib_core_device object is created which > > represents only needed device tree and sysfs entries. > > > > A diagram, details and its objectives are captured in > > Documentation/infiniband/core_devices.txt. > > > > Thanks > > I don't really have a technical problem with these patches, but I would like > to see the follow up patches that actually require this re-work before > applying this series.. > As we discussed at LPC and in other forums, I have follow on two series (1) which disables sharing mode for all devices via netlink - disables 1:ALL sharing mdoe And also control via module parameter for early initialization use-case. (2) assign a device to a net namespace via netlink I like to post both the series so that you can see all 3 series fitting together. I am testing using iproute2 rdma tool extensions, but iprote2 patches are not ready to post at the moment. But above series accurately define iproute2 commands. Can I post iproute2 few days later, once remaining 2 series looks good? Leon, So shall we post remaining 2 series through your tree?