Re: [PATCH 0/3] RDMA net namespace

Yanjun Zhu
2022-10-28T03:21:36Z

在 2022/10/27 22:06, Parav Pandit 写道:
>> From: yanjun.zhu@linux.dev <yanjun.zhu@linux.dev>
>> Sent: Thursday, October 27, 2022 2:02 AM
>> To: Parav Pandit <parav@nvidia.com>; dust.li@linux.alibaba.com; Zhu Yanjun
>> <yanjun.zhu@intel.com>; jgg@ziepe.ca; leon@kernel.org; linux-
>> rdma@vger.kernel.org
>> Subject: Re: [PATCH 0/3] RDMA net namespace
>>
>> October 27, 2022 11:48 AM, "Parav Pandit" <parav@nvidia.com> wrote:
>>
>>>> From: yanjun.zhu@linux.dev <yanjun.zhu@linux.dev>
>>>> Sent: Wednesday, October 26, 2022 11:39 PM
>>>>
>>>> October 27, 2022 11:21 AM, "Parav Pandit" <parav@nvidia.com> wrote:
>>>>
>>>> From: yanjun.zhu@linux.dev <yanjun.zhu@linux.dev>
>>>> Sent: Wednesday, October 26, 2022 11:17 PM
>>>>
>>>> October 27, 2022 11:10 AM, "Parav Pandit" <parav@nvidia.com> wrote:
>>>>
>>>> From: yanjun.zhu@linux.dev <yanjun.zhu@linux.dev>
>>>> Sent: Wednesday, October 26, 2022 11:08 PM
>>>>
>>>> October 27, 2022 11:01 AM, "Parav Pandit" <parav@nvidia.com> wrote:
>>>>
>>>> From: Dust Li <dust.li@linux.alibaba.com>
>>>> Sent: Wednesday, October 26, 2022 10:31 PM
>>>>
>>>> 2. else we are in
>>>> exclusive mode. When the corresponding netdevice of the RoCE or iWarp
>>>> device is moved from one net namespace to another, we move the
>> RDMA
>>>> device into that net namespace
>>>>
>>>> What do you think ?
>>>>
>>>> No. one device is not supposed to move other devices.
>>>> Every device is independent that should be moved by explicit command.
>>>>
>>>> Can you show us where we can find this rule "Every device is
>>>> independent that should be moved by explicit command."?
>>>>
>>>> Also changes like above breaks the existing orchestration, it no-go.
>>>>
>> And I do not find the rule that you mentioned.
>>
>>> There is no Linux kernel subsystem or module to my knowledge that
>>> attempt to move multiple devices using single command.
>>> When user executes command , user explicitly give device name "foo",
>> only "foo" should move.
>>> Other loosely coupled device whose name is not specified in the ip
>>> command which has a different life cycle should not move along with "foo".
>>>
>>> You are trying to define the new rule that breaks the existing ABI and
>>> the iproute2 (ip and rdma) command semantics.
>>> It is implicit that when command is issued on device A, operate on
>>> device A. This is part of
>>> iproute2 functioning.
>> About iproute2, I read this link
>> https://wiki.linuxfoundation.org/networking/iproute2#documentation
>>
>> There is no rules that you mentioned.
>>
>> This rule is defined explicitly or implicitly?
>>
> Wiki pages links are not the documentation.
> Man pages of the iproute2 is documentation of iproute2 at [1] and [2].
>
> [1] https://man7.org/linux/man-pages/man8/rdma-system.8.html
> [2] https://man7.org/linux/man-pages/man8/rdma-dev.8.html
>
> As I explained, the explicit rule that you are looking for that say "when I modify device foo, it can also modifies the device bar".
> Because no part of the Linux kernel does that usually, unless the device is representor/control object etc or has parent/child relationship.
> It is fundamental to a command definition, not a matter of explicit or implicit.

From the ABI, iproute2 and current rdma command links, I can not find
the rule that you mentioned.

Can you tell me the exact link that make such definition?

>
> And clearly in this discussion foo and bar are loosely coupled network devices, one is not controlling the other.
>
> Also, a rdma device is attached to multiple net devices, primary and other upper devices such as vlan, macvlan etc.

To a RoCE device, how to attach a rdma device to vlan, macvlan?

To "a rdma device is attached to multiple net devices, primary and other
upper devices such as vlan, macvlan etc",

Can you show us an example? The rdma device is RoCE device, iWarp or
ipoib device?

Zhu Yanjun

>
>