Re: [PATCH net-next v2 4/6] net/x25: support NETDEV_CHANGE notifier

From: Xie He
Date: Tue Nov 17 2020 - 06:41:40 EST


On Mon, Nov 16, 2020 at 6:00 AM Martin Schiller <ms@xxxxxxxxxx> wrote:
>
> This makes it possible to handle carrier lost and detection.
> In case of carrier lost, we shutdown layer 3 and flush all sessions.
>
> @@ -275,6 +275,19 @@ static int x25_device_event(struct notifier_block *this, unsigned long event,
> dev->name);
> x25_link_device_remove(dev);
> break;
> + case NETDEV_CHANGE:
> + pr_debug("X.25: got event NETDEV_CHANGE for device: %s\n",
> + dev->name);
> + if (!netif_carrier_ok(dev)) {
> + pr_debug("X.25: Carrier lost -> set link state down: %s\n",
> + dev->name);
> + nb = x25_get_neigh(dev);
> + if (nb) {
> + x25_link_terminated(nb);
> + x25_neigh_put(nb);
> + }
> + }
> + break;
> }
> }

I think L2 will notify L3 if the L2 connection is terminated. Is this
patch necessary?