[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <FF839E2F-B2FB-4FBB-850C-CDB62AD0D05E@nvidia.com>
Date: Mon, 3 Feb 2025 19:17:08 +0000
From: Yong Wang <yongwang@...dia.com>
To: "stephen@...workplumber.org" <stephen@...workplumber.org>,
"kuba@...nel.org" <kuba@...nel.org>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>, Ido Schimmel
<idosch@...dia.com>, Andy Roulin <aroulin@...dia.com>, Nikhil Dhar
<ndhar@...dia.com>
Subject: Re: netdev: operstate UNKNOWN for loopback and other devices?
On Wed, 20 Nov 2024 09:08:32 -0800
Stephen Hemminger <stephen@...workplumber.org> wrote:
>On Tue, 19 Nov 2024 19:23:53 -0800
>Jakub Kicinski <kuba@...nel.org> wrote:
>
>> On Tue, 19 Nov 2024 15:37:03 -0800 Stephen Hemminger wrote:
>> > It looks like loopback and other software devices never get the operstate
>> > set correctly. Not a serious problem, but it is incorrect.
>> >
>> > For example:
>> > $ ip -br link
>> > lo UNKNOWN 00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
>> >
>> > tap0 UNKNOWN ca:ff:ed:bf:96:a0 <BROADCAST,PROMISC,UP,LOWER_UP>
>> > tap1 UNKNOWN 36:f5:16:d1:4c:15 <BROADCAST,PROMISC,UP,LOWER_UP>
>> >
>> > For wireless and ethernet devices kernel reports UP and DOWN correctly.
>> >
>> > Looks like some missing bits in dev_open but not sure exactly where.
>>
>> I thought it means the driver doesn't have any notion of the carrier,
>> IOW the carrier will never go down. Basically those drivers don't
>> call netif_carrier_{on,off}() at all, and rely on carrier being on
>> by default at netdev registration.
>
>Tap device does have concept of pseudo carrier. If application has file descriptor
>open it reports carrier, if the device is present but application has not opened
>it then carrier is reported down.
>
The UNKNOWN operstate sometimes is misleading, for loopback device, the fix seems
simple, we can just set 'dev->operstate = IF_OPER_UP' in its initialization function
or add ndo_open handler to call netif_carrier_no, as discussed in thread at
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754987#89.
Powered by blists - more mailing lists