Re: [PATCH 0/3] RDMA net namespace

Dust Li
2022-10-26T15:01:28Z

On Sun, Oct 23, 2022 at 06:04:47PM -0400, Zhu Yanjun wrote:
>From: Zhu Yanjun <yanjun.zhu@linux.dev>
>
>There are shared and exclusive modes in RDMA net namespace. After
>discussion with Leon, the above modes are compatible with legacy IB
>device.
>
>To the RoCE and iWARP devices, the ib devices should be in the same net
>namespace with the related net devices regardless of in shared or
>exclusive mode.
>
>In the first commit, when the net devices are moved to a new net
>namespace, the related ib devices are also moved to the same net
>namespace.
>
>In the second commit, the shared/exclusive modes still work with legacy
>ib devices. To the RoCE and iWARP devices, these modes will not be
>considered.
>
>Because MLX4/5 do not call the function ib_device_set_netdev to map ib
>devices and the related net devices, the function ib_device_get_by_netdev
>can not get ib devices from net devices. In the third commit, all the
>registered ib devices are parsed to get the net devices, then compared
>with the given net devices.
>
>The steps to make tests:
>1) Create a new net namespace net0
>
> ip netns add net0
>
>2) Show the rdma links in init_net
>
> rdma link
>
> "
> link mlx5_0/1 state DOWN physical_state DISABLED netdev enp7s0np1
> "
>
>3) Move the net device to net namespace net0
>
> ip link set enp7s0np1 netns net0
>
>4) Show the rdma links in init_net again
>
> rdma link
>
> There is no rdma links

Follow your steps, after step 3), I cannot reproduce this,
`rdma link` running in init_net still show the link.

I'm testing on a VM with ConnectX-4Lx, SRIOV enabled, and VF is passthroughed
to the VM.

Anything I missed ?

>
>5) Show the rdma links in net0
>
> ip netns exec net0 rdma link
>
> "
> link mlx5_0/1 state DOWN physical_state DISABLED netdev enp7s0np1
> "
>
>We can confirm that rdma links are moved to the same net namespace with
>the net devices.
>
>Zhu Yanjun (3):
> RDMA/core: Move ib device to the same net namespace with net device
> RDMA/core: The legacy IB devices still work with shared/exclusive mode
> RDMA/core: Get all the ib devices from net devices
>
> drivers/infiniband/core/device.c | 107 ++++++++++++++++++++++++++++++-
> 1 file changed, 105 insertions(+), 2 deletions(-)
>
>--
>2.27.0