Re: [PATCH net-next v2 05/22] ovpn: implement interface creation/destruction via netlink
From: Esben Haabendal <hidden>
Date: 2024-03-25 15:01:28
Antonio Quartulli [off-list ref] writes:
quoted hunk ↗ jump to hunk
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. /Esben