Hi, Florian, > +} > + > +static int aq_ndev_change_mtu(struct net_device *ndev, int new_mtu) > +{ > + struct aq_nic_s *aq_nic = (struct aq_nic_s *)netdev_priv(ndev); > + int err = 0; > + > + if (new_mtu == ndev->mtu) { > + err = 0; > + goto err_exit; > + } > + if (new_mtu < 68) { > + err = -EINVAL; > + goto err_exit; > + }
> What's so special about 68 here? I think that the check that the passed MTU is at least 68 bytes is justified and correct. This convention is followed by a large number of Ethernet drivers; for example, http://lxr.free-electrons.com/source/drivers/net/ethernet/intel/i40e/i40e_main.c#L2246 http://lxr.free-electrons.com/source/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c#L6049 The size of 68 bytes is originated from RFC 791: https://tools.ietf.org/html/rfc791 ... Every internet module must be able to forward a datagram of 68 octets without further fragmentation. This is because an internet header may be up to 60 octets, and the minimum fragment is 8 octets. ... Regards, Rami Rosen