[PATCH rdma-next v2 0/3] Add netlink command to change net namespace of rdma device

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

 



From: Parav Pandit <parav@xxxxxxxxxxxx>

This series introduces a netlink command to change net namespace of a
rdma device.

It performs small device disable enable sequence to ensure that there is
no active traffic when device moves to new namespace. This operation
needs to synchronize with device rename and device unregistration. This
is protected using recently introduced unregistration mutex.

---
Changelog:
---
v1->v2:
 - Addressed comments from Jason and took simplifications suggested
 - Comments to start on next line
 - Dropped detailed comment around device refcounting
 - merged net ns change code during net exit to single function
 - Using common function during netns change and exit net path
 - Error unwinding path enables the device while net ns change
 - Protecting rdma_rename with device_rwsem
 - Added kobject remove add notifications

v0->v1:
 - Addressed comments from Jason.
 - Added accidentally removed xa_erase
 - Moved free_netdevs() out of disable_device for wider use
 - Replace refcount get/put from add_compat_devs with lock assert
 - Added ibdev->dev get/put to hold on to device while net ns delete
 - Corrected comments in __rdma_dev_change_netns for rename op

Parav Pandit (3):
  RDMA/core: Avoid freeing netdevs in disable_device()
  RDMA/core: Introduce a helper function to change net namespace of rdma
    device
  RDMA/core: Add netlink command to change net namespace of rdma device

 drivers/infiniband/core/core_priv.h |   2 +
 drivers/infiniband/core/device.c    | 130 +++++++++++++++++++++++++++-
 drivers/infiniband/core/nldev.c     |  13 ++-
 include/uapi/rdma/rdma_netlink.h    |   6 +-
 4 files changed, 146 insertions(+), 5 deletions(-)

-- 
2.19.2




[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