Re: [RFC 1/1] net: introduce OpenVPN Data Channel Offload (ovpn-dco)

From: Antonio Quartulli
Date: Thu Jul 28 2022 - 03:43:43 EST


Hi,

On 19/07/2022 17:37, Andrew Lunn wrote:
+static int ovpn_net_change_mtu(struct net_device *dev, int new_mtu)
+{
+ if (new_mtu < IPV4_MIN_MTU ||
+ new_mtu + dev->hard_header_len > IP_MAX_MTU)
+ return -EINVAL;

If you set dev->min_mtu and dev->max_mtu, the core will validate this
for you, see dev_validate_mtu().

Yeah, thanks for the pointer.


+static int ovpn_get_link_ksettings(struct net_device *dev,
+ struct ethtool_link_ksettings *cmd)
+{
+ ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.supported, 0);
+ ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.advertising, 0);

These two should not be needed. Look at tun, veth etc, they don't set
them.

I found this in tun.c:

3512 ethtool_link_ksettings_zero_link_mode(cmd, supported);
3513 ethtool_link_ksettings_zero_link_mode(cmd, advertising);

Which seems a more appropriate version of my code, no?

Regards,

--
Antonio Quartulli
OpenVPN Inc.