[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHNKnsSuAMK8NEAbeVT7g-Rm1a2yS1JiVwxz-5Y0x_0QxXNQow@mail.gmail.com>
Date: Wed, 9 Jun 2021 02:30:15 +0300
From: Sergey Ryazanov <ryazanov.s.a@...il.com>
To: Parav Pandit <parav@...dia.com>
Cc: Loic Poulain <loic.poulain@...aro.org>,
"kuba@...nel.org" <kuba@...nel.org>,
"davem@...emloft.net" <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"johannes.berg@...el.com" <johannes.berg@...el.com>,
"leon@...nel.org" <leon@...nel.org>,
"m.chetan.kumar@...el.com" <m.chetan.kumar@...el.com>
Subject: Re: [PATCH net-next 3/4] rtnetlink: fill IFLA_PARENT_DEV_NAME on link dump
Hello Parav,
On Tue, Jun 8, 2021 at 7:54 PM Parav Pandit <parav@...dia.com> wrote:
>> From: Loic Poulain <loic.poulain@...aro.org>
>> Sent: Tuesday, June 8, 2021 7:37 PM
>>
>> From: Sergey Ryazanov <ryazanov.s.a@...il.com>
>>
>> Return a parent device using the FLA_PARENT_DEV_NAME attribute during
>> links dump. This should help a user figure out which links belong to a
>> particular HW device. E.g. what data channels exists on a specific WWAN
>> modem.
>>
> Please add the output sample in the commit message, for this additional field possibly for a more common netdevice of a pci device or some other one.
>
>> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@...il.com>
>> ---
>> net/core/rtnetlink.c | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 56ac16a..120887c
>> 100644
>> --- a/net/core/rtnetlink.c
>> +++ b/net/core/rtnetlink.c
>> @@ -1819,6 +1819,11 @@ static int rtnl_fill_ifinfo(struct sk_buff *skb,
>> if (rtnl_fill_prop_list(skb, dev))
>> goto nla_put_failure;
>>
>> + if (dev->dev.parent &&
>> + nla_put_string(skb, IFLA_PARENT_DEV_NAME,
>> + dev_name(dev->dev.parent)))
>> + goto nla_put_failure;
>> +
> A device name along with device bus establishes a unique identity in the system.
Sure. To uniquely identify an abstract device we need a full path,
including a device parent. In sysfs it will be a device bus. But
IFLA_PARENT_DEV_NAME was introduced to identify the parent device
within a scope of a specific subsystem, which is specified by the
IFLA_INFO_KIND attribute. IFLA_PARENT_DEV_NAME should become a sane
alternative for the IFLA_LINK usage when the link parent is not a
netdev themself.
You can find more details in the description of IFLA_PARENT_DEV_NAME
introduction patch [1], my explanation, why we need to make the
attribute common [2] and see a usage example in the wwan interface
creation patch [3].
1. https://lore.kernel.org/netdev/1623161227-29930-2-git-send-email-loic.poulain@linaro.org/
2. https://lore.kernel.org/netdev/CAHNKnsTKfFF9EckwSnLrwaPdH_tkjvdB3PVraMD-OLqFdLmp_Q@mail.gmail.com/
3. https://lore.kernel.org/netdev/1623161227-29930-4-git-send-email-loic.poulain@linaro.org/
> Hence you should add IFLA_PARENT_DEV_BUS_NAME and return it optionally if the device is on a bus.
> If (dev->dev.parent->bus)
> return parent->bus->name string.
Looks like we are able to export the device bus name. Do you have a
use case for this attribute? And even so, should we bloat this simple
patch with auxiliary attributes?
I would even prefer that this patch was merged with the attribute
introduction patch into a single patch. This way the purpose of the
attribute will become more clear.
--
Sergey
Powered by blists - more mailing lists