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