diff options
| author | Antonio Quartulli <[email protected]> | 2025-04-15 11:17:39 +0000 |
|---|---|---|
| committer | Paolo Abeni <[email protected]> | 2025-04-17 10:30:03 +0000 |
| commit | b756861e6e63b0ddadb06bb9f6c87d06ab29bc6f (patch) | |
| tree | d7564af8304c20ec987d2c8b70f65f7a24c04bc8 /drivers/net/ovpn/main.c | |
| parent | ovpn: notify userspace when a peer is deleted (diff) | |
| download | kernel-b756861e6e63b0ddadb06bb9f6c87d06ab29bc6f.tar.gz kernel-b756861e6e63b0ddadb06bb9f6c87d06ab29bc6f.zip | |
ovpn: add basic ethtool support
Implement support for basic ethtool functionality.
Note that ovpn is a virtual device driver, therefore
various ethtool APIs are just not meaningful and thus
not implemented.
Signed-off-by: Antonio Quartulli <[email protected]>
Reviewed-by: Andrew Lunn <[email protected]>
Link: https://patch.msgid.link/[email protected]
Reviewed-by: Sabrina Dubroca <[email protected]>
Tested-by: Oleksandr Natalenko <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
Diffstat (limited to 'drivers/net/ovpn/main.c')
| -rw-r--r-- | drivers/net/ovpn/main.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/net/ovpn/main.c b/drivers/net/ovpn/main.c index 232eeb08e929..0acb0934c1be 100644 --- a/drivers/net/ovpn/main.c +++ b/drivers/net/ovpn/main.c @@ -7,6 +7,7 @@ * James Yonan <[email protected]> */ +#include <linux/ethtool.h> #include <linux/genetlink.h> #include <linux/module.h> #include <linux/netdevice.h> @@ -120,6 +121,19 @@ bool ovpn_dev_is_valid(const struct net_device *dev) return dev->netdev_ops == &ovpn_netdev_ops; } +static void ovpn_get_drvinfo(struct net_device *dev, + struct ethtool_drvinfo *info) +{ + strscpy(info->driver, "ovpn", sizeof(info->driver)); + strscpy(info->bus_info, "ovpn", sizeof(info->bus_info)); +} + +static const struct ethtool_ops ovpn_ethtool_ops = { + .get_drvinfo = ovpn_get_drvinfo, + .get_link = ethtool_op_get_link, + .get_ts_info = ethtool_op_get_ts_info, +}; + static void ovpn_setup(struct net_device *dev) { netdev_features_t feat = NETIF_F_SG | NETIF_F_GSO | @@ -129,6 +143,7 @@ static void ovpn_setup(struct net_device *dev) dev->pcpu_stat_type = NETDEV_PCPU_STAT_DSTATS; + dev->ethtool_ops = &ovpn_ethtool_ops; dev->netdev_ops = &ovpn_netdev_ops; dev->priv_destructor = ovpn_priv_free; |
