Hi,
this is interesting.
Thanks for the ping.

Note: this needs no PPC or any other special arch, a VM guest is enough
to test it.

Up until very recently we were still on kernel 4.13 where this did not
occur.

With 4.13 - starting both off:
$ sudo ethtool -k ens3 | egrep 
'udp-fragmentation-offload|generic-receive-offload'
  udp-fragmentation-offload: off
  generic-receive-offload: off
$ sudo ethtool -K ens3 gro on
$ sudo ethtool -k ens3 | egrep 
'udp-fragmentation-offload|generic-receive-offload'
  udp-fragmentation-offload: off
  generic-receive-offload: on
$ sudo ethtool -K ens3 ufo on
$ sudo ethtool -k ens3 | egrep 
'udp-fragmentation-offload|generic-receive-offload'
  udp-fragmentation-offload: on
  generic-receive-offload: on

So all was just fine.

ethtool release is rather tied to kernel version releases for just this reason.
But there was no update (yet) and we are on 4.11 for now.
Due to that the https://patchwork.ozlabs.org/patch/806563/ is missing still.

It is important that this is ONLY a warning and things work just fine.
Obviously setting UFO will fail, but setting GRO works (aside the annoying 
error messages).
So GRO is not functionally affected, it is just the older ethtool that tries to 
probe the related UFO and fails on that.

This is also the reason that upstream ONLY disabled the warning (but
kept all else).

Therefore on 4.15 it behaves like this:
$ sudo ethtool -k ens3 | egrep 
'udp-fragmentation-offload|generic-receive-offload'
  Cannot get device udp-fragmentation-offload settings: Operation not supported
  udp-fragmentation-offload: off
  generic-receive-offload: off
$ sudo ethtool -K ens3 gro on
  Cannot get device udp-fragmentation-offload settings: Operation not supported
  Cannot get device udp-fragmentation-offload settings: Operation not supported
$ echo $?
  0
$ sudo ethtool -k ens3 | egrep 
'udp-fragmentation-offload|generic-receive-offload'
  Cannot get device udp-fragmentation-offload settings: Operation not supported
  udp-fragmentation-offload: off
  generic-receive-offload: on

So other than the warning it worked.
UFO doesn't of course.

$ sudo ethtool -K ens3 ufo on
  Cannot get device udp-fragmentation-offload settings: Operation not supported
  Cannot change udp-fragmentation-offload
  Cannot get device udp-fragmentation-offload settings: Operation not supported
  Could not change any device features
$ echo $?
  1
$ sudo ethtool -k ens3 | egrep 
'udp-fragmentation-offload|generic-receive-offload'
  Cannot get device udp-fragmentation-offload settings: Operation not supported
  udp-fragmentation-offload: off
  generic-receive-offload: on

That said we have two options now:
1. we can pick the change from upstream and be good in regard to this bug.
   This can also be done post Feature Freeze as it is a bug fix.
2. We actually should - as we did with iproute2 recently - tie ethtool versions 
to kernel 
   uploads. It is so dependent on the actual kernel, and might even more 
special for kernel 
   backports, hwe kernels and so on.
   For example this will trigger on Xenial with a 4.15 HWE as well at some 
point.

I'll try to look into the doability of an ethtool 4.15 right now, but
would like to ask the kernel Team to (eventually) adopt ethtool to their
list of "kernelversion-related-uploads"

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1750989

Title:
  [Ubuntu 18.04][I2S][ethtool] -k options says 'Cannot get device udp-
  fragmentation-offload settings: Operation not supported'

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-power-systems/+bug/1750989/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to