Re: [RFC 1/1] net: introduce OpenVPN Data Channel Offload (ovpn-dco)
From: Andrew Lunn
Date: Thu Jul 28 2022 - 09:08:10 EST
On Thu, Jul 28, 2022 at 09:41:11AM +0200, Antonio Quartulli wrote:
> Hi,
>
> On 19/07/2022 17:25, Andrew Lunn wrote:
> > > +static void ovpn_get_drvinfo(struct net_device *dev,
> > > + struct ethtool_drvinfo *info)
> > > +{
> > > + strscpy(info->driver, DRV_NAME, sizeof(info->driver));
> > > + strscpy(info->version, DRV_VERSION, sizeof(info->version));
> > > + strscpy(info->bus_info, "ovpn", sizeof(info->bus_info));
> >
> > version is generally considered useless information if it comes from
> > the driver. You have no idea if this is version 42 in net-next, or
> > some backported version in an enterprise kernel with lots of out of
> > tree patches. The driver is not standalone, it runs inside the
> > kernel. So in order to understand a bug report, you need to know what
> > kernel it is. If you don't fill in version, the core will with the
> > kernel version, which is much more useful.
>
> True.
>
> However, I guess I will still fill MODULE_VERSION() with a custom string.
> This may also be useful when building the module out-of-tree.
You could, but out of tree is even worse. You have even less idea what
environment the driver is running in, so the version is even less
meaningful. You need to ask be bug reported for even more information.
Also, using a mainline driver out of tree is not easy. The code will
make use of the latest APIs, and internal APIs are not stable, making
it hard to use in older kernels. So you end up with out of tree
wrapper code for whatever version of out of tree Linux you decide to
support. Take a look at
https://github.com/open-mesh-mirror/batman-adv
for an example of this.
Andrew