[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <83adf5a5-11a2-e778-e455-c570caca7823@gmx.de>
Date: Thu, 2 Dec 2021 21:29:21 +0100
From: Lino Sanfilippo <LinoSanfilippo@....de>
To: Arijit De <arijitde@...vell.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: How to avoid getting ndo_open() immediately after probe
Hi,
On 02.12.21 at 19:11, Arijit De wrote:
> Hi,
>
> I have handled the probe() and registered the netdev structure using register_netdev().
> I have observed in other opensource driver(i.e. Intel e1000e driver) that ndo_open() gets called only when we try to bring up the interface (i.e. ifconfig <ip> ifconfig eth0 <ip-addr> netmask <net-mask> up).
> But in my network driver I am getting ndo_open() call immediately after I handle the probe(). It's a wrong behavior, also my network interface is getting to UP/RUNNING state(as shown below) even without any valid ip address.
There is nothing wrong here. As soon as you register the netdevice with the kernel it is available
for userspace and userspace is free to bring it up. This may happen immediately after registration,
so your driver has to be prepared for this.
Its absolutely fine to bring up a network device without any ip address assigned.
Regards,
Lino
>
> enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
> ether 00:22:55:33:22:28 txqueuelen 1000 (Ethernet)
> RX packets 0 bytes 0 (0.0 B)
> RX errors 0 dropped 0 overruns 0 frame 0
> TX packets 252 bytes 43066 (43.0 KB)
> TX errors 0 dropped 0 overruns 0 carrier 0 collisions
>
> What is the change required in the driver such that my network interface(enp1s0) should be in down state(BROADCAST & MULTICAST only) after probe()
> and ndo_open() call should happen only when device gets configured?
>
> Thanks
> Arijit
>
Powered by blists - more mailing lists