Messages in this thread Patch in this message | | | From | Martin Schiller <> | Subject | [PATCH 4/6] net/x25: support NETDEV_CHANGE notifier | Date | Mon, 16 Nov 2020 08:31:47 +0100 |
| |
This makes it possible to handle carrier lost and detection. In case of carrier lost, we shutdown layer 3 and flush all sessions.
Signed-off-by: Martin Schiller <ms@dev.tdt.de> --- net/x25/af_x25.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index d98d1145500e..d61a154b94e4 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c @@ -266,6 +266,17 @@ static int x25_device_event(struct notifier_block *this, unsigned long event, pr_debug("X.25: got event NETDEV_UNREGISTER for device: %s\n", 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; } } -- 2.20.1
| |