[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8db525b6-3384-4e12-b16c-47b0a2898f1e@openvpn.net>
Date: Fri, 13 Dec 2024 13:37:55 +0100
From: Antonio Quartulli <antonio@...nvpn.net>
To: Donald Hunter <donald.hunter@...il.com>
Cc: netdev@...r.kernel.org, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Shuah Khan <shuah@...nel.org>, sd@...asysnail.net, ryazanov.s.a@...il.com,
Andrew Lunn <andrew+netdev@...n.ch>, Simon Horman <horms@...nel.org>,
linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org,
Xiao Liang <shaw.leon@...il.com>
Subject: Re: [PATCH net-next v15 03/22] ovpn: add basic interface
creation/destruction/management routines
On 13/12/2024 13:32, Donald Hunter wrote:
> On Wed, 11 Dec 2024 at 21:32, Antonio Quartulli <antonio@...nvpn.net> wrote:
>>
>> static int ovpn_newlink(struct net *src_net, struct net_device *dev,
>> struct nlattr *tb[], struct nlattr *data[],
>> struct netlink_ext_ack *extack)
>> {
>> - return -EOPNOTSUPP;
>> + struct ovpn_priv *ovpn = netdev_priv(dev);
>> + enum ovpn_mode mode = OVPN_MODE_P2P;
>> +
>> + if (data && data[IFLA_OVPN_MODE]) {
>> + mode = nla_get_u8(data[IFLA_OVPN_MODE]);
>> + netdev_dbg(dev, "setting device mode: %u\n", mode);
>> + }
>> +
>> + ovpn->dev = dev;
>> + ovpn->mode = mode;
>> +
>> + /* turn carrier explicitly off after registration, this way state is
>> + * clearly defined
>> + */
>> + netif_carrier_off(dev);
>> +
>> + return register_netdevice(dev);
>> }
>>
>> static struct rtnl_link_ops ovpn_link_ops = {
>> .kind = "ovpn",
>> .netns_refund = false,
>> + .priv_size = sizeof(struct ovpn_priv),
>> + .setup = ovpn_setup,
>> + .policy = ovpn_policy,
>> + .maxtype = IFLA_OVPN_MAX,
>> .newlink = ovpn_newlink,
>> .dellink = unregister_netdevice_queue,
>> };
>
> You need to implement .fill_info to add IFLA_OVPN_MODE into get / dump ops.
Ok, I'll add it in v16.
Thanks a lot.
Regards,
--
Antonio Quartulli
OpenVPN Inc.
Powered by blists - more mailing lists