I'm upgrading my production servers from Ubuntu 14.04 => 18.04 and running into a lot of surprising changes. For example, I'm trying to permanently disable TSO & GSO using ethtool and can't find either /etc/rc.local, or /etc/network/interfaces which used to be there in 14.04 and is also mentioned in this link

How do I achieve this via netplan which seems to be the shiny new way of setting up network infra in Ubuntu 18.04?

Related: How to execute post-up scripts with netplan


It should be possible to do this directly in systemd.

Netplan (per its documentation, which you linked to) renders the yaml config you feed it into config files which it then feeds to whatever underlying engine, which may be NetworkManager or systemd-networkd. It puts these files into the appropriate /run directory.

The systemd-link man page has a directive for TCPSegmentationOffload, and one for GenericSegmentationOffload.

Systemd considers files in /etc/ to have the highest priority (higher than /run/) so what should work is placing a .link unit file in /etc/systemd/network/, perhaps called 01-tso-and-gso.link, with the following contents:

# Set a match condition appropriate for your use case


I haven't tested this; I don't have an easy way to test it; but I've been reading a lot of systemd documentation recently and I'm pretty sure this is what you need. Please let me know whether it works for you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.