Bug#864073: TCP offloads disabled by default

Hans-Kristian Bakke hkbakke at gmail.com
Sun Jun 4 00:56:28 BST 2017


Package: systemd
Version: 232-23
​Severity: important​

With systemd 232 it got the ability to set the NIC offloads. These offloads
are not initialized correctly though, so the NIC ends up without fully
enabled TCP offloads.

Example from stretch defaults:
...
tcp-segmentation-offload: on
        tx-tcp-segmentation: off <---- ???
        tx-tcp-ecn-segmentation: off [fixed]
        tx-tcp-mangleid-segmentation: off
        tx-tcp6-segmentation: on
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: on
...

If I do the following (default in 231 and earlier):

  ethtool -K <if> tx-tcp-segmentation on

I get the correct version
...
tcp-segmentation-offload: on
        tx-tcp-segmentation: on
        tx-tcp-ecn-segmentation: off [fixed]
        tx-tcp-mangleid-segmentation: off
        tx-tcp6-segmentation: on
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: on
...

This causes major performance issues in high speed networks (1Gbit/s and
higher) or in weak embedded devices and it is going to be (by accident) the
default in Stretch!

Luckily the fix is already in 233 and it is only a simple one liner that I
really think should be patched into Stretch to avoid people getting hard to
diagnose distro specific performance issues when going from jessie to
stretch or coming from other distros.

Some links with info:
* https://github.com/systemd/systemd/issues/4650
* https://github.com/systemd/systemd/pull/4639
* https://sourceforge.net/p/e1000/mailman/message/35663858/

Regards,
Hans-Kristian Bakke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/attachments/20170604/0fd6f919/attachment-0001.html>


More information about the Pkg-systemd-maintainers mailing list