Corrupted MAC on input
Recently a lot of backups with obnam to my Qnap NAS terminated with the error message Corrupted MAC on input
. Some web search revealed that this is caused by bug with hardware TCP offloading in the network interface controller driver in the Linux kernel. The web also shows how to suppress this error by disabling TCP offloading with the ethtool tool, but this setting is active only until the next reboot. The text describes how to permanently disable TCP offloading in Debian Linux.
The TCP offloading can be disabled (temporarily) with the ethtool tool:
ethtool -K eth0 tx off rx off
This command is effective until the next reboot.
Disabling TCP offloading permanently
For a permanent solution (other than to wait for a fix in the kernel) you can add the settings in the /etc/network/interfaces file.
auto eth0
iface eth0 inet dhcp
offload-rx off # disables TCP RX offloading
offload-tx off # disables TCP TX offloading
The settings for the MV-643xx ethernet port on the Qnap TS-420 now look like:
root@nas:~# ethtool -k eth0
Features for eth0:
rx-checksumming: off
tx-checksumming: off
tx-checksum-ipv4: off
tx-checksum-ip-generic: off [fixed]
tx-checksum-ipv6: off [fixed]
tx-checksum-fcoe-crc: off [fixed]
tx-checksum-sctp: off [fixed]
scatter-gather: on
tx-scatter-gather: on
tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
tx-tcp-segmentation: off [requested on]
tx-tcp-ecn-segmentation: off [fixed]
tx-tcp6-segmentation: off [fixed]
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: off [fixed]
tx-vlan-offload: off [fixed]
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: off [fixed]
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-ipip-segmentation: off [fixed]
tx-sit-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-mpls-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
busy-poll: off [fixed]