Please note - you may want to validate whether the options used affect your setup.
Create a new service file.
nano /etc/systemd/system/disable-offloading.service
Paste the required information/command in the newly created service file - please change eth0 to your desired adapter.
[Unit]
Description=Disable NIC offloading
After=network.target
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -K eth0 gso off gro off tso off tx off rx off rxvlan off txvlan off sg off
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
Load the new service file and enable on reboot.
systemctl daemon-reexec && systemctl daemon-reload && systemctl enable disable-offloading.service
It seems like people are blindly firing these "disable offload".
Have anyone actually confirmed and traced WHICH offload setting(s) actually do affect this bug of hardware unit hang?
Because disabling offloading unnecessary is a VERY bad thing for performance.
You want to disable as few offloading options as possible.
What I have collected so far is that it seems that its one of these offloading options that needs to be disabled as workaround (the root cause is some malfunction in the Intel driver vs Linux kernel):
There also exists various ways to implement the "disable offloading".
I personally prefer to add it in the /etc/network/interfaces for every physical interface like so: