Re: [PATCH net-next v4 2/5] net/lapb: support netdev events

From: Martin Schiller
Date: Mon Nov 23 2020 - 05:38:44 EST


On 2020-11-23 11:08, Xie He wrote:
On Mon, Nov 23, 2020 at 1:36 AM Xie He <xie.he.0141@xxxxxxxxx> wrote:

Some drivers don't support carrier status and will never change it.
Their carrier status will always be UP. There will not be a
NETDEV_CHANGE event.

Well, one could argue that we would have to repair these drivers, but I
don't think that will get us anywhere.

From this point of view it will be the best to handle the NETDEV_UP in
the lapb event handler and establish the link analog to the
NETDEV_CHANGE event if the carrier is UP.


lapbether doesn't change carrier status. I also have my own virtual
HDLC WAN driver (for testing) which also doesn't change carrier
status.

I just tested with lapbether. When I bring up the interface, there
will only be NETDEV_PRE_UP and then NETDEV_UP. There will not be
NETDEV_CHANGE. The carrier status is alway UP.

I haven't tested whether a device can receive NETDEV_CHANGE when it is
down. It's possible for a device driver to call netif_carrier_on when
the interface is down. Do you know what will happen if a device driver
calls netif_carrier_on when the interface is down?

I just did a test on lapbether and saw there would be no NETDEV_CHANGE
event when the netif is down, even if netif_carrier_on/off is called.
So we can rest assured of this part.