Re: [PATCH 0/3] RDMA net namespace

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

在 2022/10/28 11:31, Parav Pandit 写道:
>> From: Yanjun Zhu <yanjun.zhu@linux.dev>
>> Sent: Thursday, October 27, 2022 11:21 PM
>>
>>
>> 在 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?
>>
> I explained you already above. You are repeating your weird question.

You mentioned that it is a rule. I just want to know where it is defined.

>
> Can you show one iproute2 example, where you specify a command on device A, and kernel operates on device, A, P, Q, R?

When you add a net devices to a bonding device, you will find changes on
the bonding device and the net devices.

Or some other commands like this.

Zhu Yanjun

> This is the attempt you are trying to do for unknown reasons.
>
> So, can you please explain, what is the problem in using existing rdma dev commands that move rdma device to net namespace?
>
>>> 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?
> Rdma device is roce device.
> Add vlan, macvlan device on top of the netdevice linked to the roce device using iproute2.