Page MenuHomePhabricator

Upgrade ethtool from 3.16 to 4.19
Closed, ResolvedPublicBUG

Description

Hi all!

In some of our VyOS devices we setup some packet offloading tunning through ethtool. This worked fine in 1.1.x but now in 1.2.0 there have appeared some warning messages with the text: "Cannot get device udp-fragmentation-offload settings: Operation not supported".
This is an example of what we configure in booutup script (/config/scripts/vyos-postconfig-bootup.script):

/sbin/ethtool -K eth0 gso off
/sbin/ethtool -K eth0 tso off
/sbin/ethtool -K eth0 gro off

After a quick reserch it seems that new kernels have removed udp-fragmentation-offload and ethtool should remove it as well. We don't setup ufo (udp-fragmentation-offload) but anyway the ethtool returns noisy warnings.
It can be reproduced by just typing any of the above commands in a 1.2.0 system:

vyos@test:~$ /sbin/ethtool -K eth0 gso off
Cannot get device udp-fragmentation-offload settings: Operation not supported
Cannot get device udp-fragmentation-offload settings: Operation not supported

This issue is resolved in ethtool 1:4.15-1 but it seems we in VyOS are using quite an old version:

vyos@test:~$ dpkg -l | grep ethtool
ii  ethtool                          1:3.16-1                         amd64        display or change Ethernet device settings

Let me attach some useful links where this bug is explained further (there is fixed debian bug) and about the patch itself:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898907
http://patchwork.ozlabs.org/patch/814796/
https://bugs.launchpad.net/ubuntu/+source/ethtool/+bug/1750989

Just as a final clarification, my commands seem to work, so it's only about udp-fragmentation-offload deprecation:

vyos@test:~$ sudo ethtool -k eth0 | grep tcp-segmentation-offload
Cannot get device udp-fragmentation-offload settings: Operation not supported
tcp-segmentation-offload: off
vyos@test:~$ sudo ethtool -k eth0 | grep generic-segmentation-offload
Cannot get device udp-fragmentation-offload settings: Operation not supported
generic-segmentation-offload: off
vyos@test:~$ sudo ethtool -k eth0 | grep generic-receive-offload
Cannot get device udp-fragmentation-offload settings: Operation not supported
generic-receive-offload: off

Could you take a look and let me know if you need further info/help?
Regards!

Details

Difficulty level
Unknown (require assessment)
Version
1.2.0
Why the issue appeared?
Will be filled on close

Event Timeline

csalcedo updated the task description. (Show Details)
syncer changed the task status from Open to Confirmed.Apr 17 2019, 7:33 PM
syncer assigned this task to c-po.
syncer triaged this task as Normal priority.
syncer edited projects, added VyOS 1.2 Crux (VyOS 1.2.2); removed VyOS 1.2 Crux.
c-po added a comment.Apr 21 2019, 8:14 AM

We use ethtool provided by Debian Jessie (3.16) which is bound to 3.16 Linux Kernel.

Our Kernel Version is 4.19 thus this will result in the above error as the ABI possibly changed from 3.16 -> 4.19.

c-po added a comment.Apr 21 2019, 8:21 AM

Using ethtool 4.19 results in:

vyos@vyos# sudo /sbin/ethtool -K eth0 gso off
c-po renamed this task from ethtool output noise messages to Upgrade ethtool from 3.16 to 4.19.Apr 21 2019, 8:21 AM
c-po added a comment.EditedApr 21 2019, 8:32 AM

How to build:

$ git clone https://salsa.debian.org/kernel-team/ethtool.git
$ cd ethtool
$ git checkout debian/1%4.19-1
$ dpkg-buildpackage -uc -us -tc -b
$ ls -al ../ethtool_4.19-1_amd64.*
-rw-r--r-- 1 vyos_bld vyos_bld    992 Apr 21 08:32 ../ethtool_4.19-1_amd64.changes
-rw-r--r-- 1 vyos_bld vyos_bld 113986 Apr 21 08:32 ../ethtool_4.19-1_amd64.deb
c-po added a comment.Apr 21 2019, 9:12 AM

Package now included in VyOS builds - please test

c-po changed the task status from Confirmed to Needs testing.Apr 21 2019, 9:12 AM
c-po closed this task as Resolved.Apr 21 2019, 10:39 AM
c-po moved this task from In Progress to Finished on the VyOS 1.3 Equuleus board.
csalcedo added a comment.EditedApr 25 2019, 8:37 AM

Tested in 1.2.0-rolling+201904250337, everything looks great now, no warnings arise and required config is in place, so I'll wait for 1.2.2 to get the fixed version of ethtool.
Thanks for your efforts, great work!