Re: [PATCH net-next v15 03/22] ovpn: add basic interface creation/destruction/management routines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 13/12/2024 13:32, Donald Hunter wrote:
On Wed, 11 Dec 2024 at 21:32, Antonio Quartulli <antonio@xxxxxxxxxxx> 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.





[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux