Re: [PATCH net-next v2 05/22] ovpn: implement interface creation/destruction via netlink
From: Antonio Quartulli <antonio@openvpn.net>
Date: 2024-03-26 21:43:23
On 25/03/2024 16:01, Esben Haabendal wrote:
Antonio Quartulli [off-list ref] writes:quoted
Allow userspace to create and destroy an interface using netlink commands. Signed-off-by: Antonio Quartulli <antonio@openvpn.net> --- drivers/net/ovpn/netlink.c | 50 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+)diff --git a/drivers/net/ovpn/netlink.c b/drivers/net/ovpn/netlink.c index 2e855ce145e7..02b41034f615 100644 --- a/drivers/net/ovpn/netlink.c +++ b/drivers/net/ovpn/netlink.c@@ -154,7 +154,57 @@ static void ovpn_post_doit(const struct genl_split_ops *ops, struct sk_buff *skb dev_put(ovpn->dev); } +static int ovpn_nl_new_iface(struct sk_buff *skb, struct genl_info *info) +{ + enum ovpn_mode mode = OVPN_MODE_P2P; + struct net_device *dev; + char *ifname; + int ret; + + if (!info->attrs[OVPN_A_IFNAME]) + return -EINVAL; + + ifname = nla_data(info->attrs[OVPN_A_IFNAME]); + + if (info->attrs[OVPN_A_MODE]) { + mode = nla_get_u8(info->attrs[OVPN_A_MODE]); + netdev_dbg(dev, "%s: setting device (%s) mode: %u\n", __func__, ifname, + mode);Maybe print out the message even if the default mode is used, as the mode is applied in ovpn_iface_create anyways.
Being this a debug message, my reasoning was "let's print what we got via netlink" (if nothing is printed, we know we are applying the default). Otherwise, when printing "P2P" we wouldn't be able to understand if it was set by default or received via netlink. Does it make sense? Cheers,
/Esben
-- Antonio Quartulli OpenVPN Inc.