Re: [PATCH net-next v25 01/23] net: introduce OpenVPN Data Channel Offload (ovpn)

From: Jakub Kicinski
Date: Thu Apr 10 2025 - 22:55:01 EST


On Mon, 07 Apr 2025 21:46:09 +0200 Antonio Quartulli wrote:
> +static int ovpn_netdev_notifier_call(struct notifier_block *nb,
> + unsigned long state, void *ptr)
> +{
> + struct net_device *dev = netdev_notifier_info_to_dev(ptr);
> +
> + if (!ovpn_dev_is_valid(dev))
> + return NOTIFY_DONE;
> +
> + switch (state) {
> + case NETDEV_REGISTER:
> + /* add device to internal list for later destruction upon
> + * unregistration
> + */
> + break;
> + case NETDEV_UNREGISTER:
> + /* can be delivered multiple times, so check registered flag,
> + * then destroy the interface
> + */
> + break;
> + case NETDEV_POST_INIT:
> + case NETDEV_GOING_DOWN:
> + case NETDEV_DOWN:
> + case NETDEV_UP:
> + case NETDEV_PRE_UP:
> + default:
> + return NOTIFY_DONE;
> + }

Why are you using a notifier to get events for your own device?

> + return NOTIFY_OK;
> +}

> +MODULE_DESCRIPTION("OpenVPN data channel offload (ovpn)");
> +MODULE_AUTHOR("(C) 2020-2025 OpenVPN, Inc.");

Companies can't author code, only people. Note that MODULE_AUTHOR()
is optional.