bad udp cksum


Recently I'm noticing an interesting issue.
My CentOS servers are trying to send logs to a logging server via 514/udp,
however I'm not receiving anything.

I did the following on CentOS
*tcpdump -vvv -nn udp -i esn160 port 514*

In another session on the same server:
*nc syslog-server -u 514*

tcpdump started to show me messages like:
*[bad udp cksum 0x3ce9 -> 0xb0f5!] SYSLOG, length: 172*

After some research I disabled TCO (ethtool -K ens160 tx off rx off), now
tcpdump shows:
*[udp sum ok] [|syslog]*
And I'm also receiving the logs. Yay!

I have the same issue on multiple servers with CentOS versions 7.3.1611,
7.4.1708 & 7.5.1804. I'm having the issue no matter if it is a physical or
virtual server (they also use different hardware and NIC's)

Of course I could run ethtool every time a server starts but I think there
should be a better solution. Also I enjoy having TCO giving some rest to
the CPUs.

Did anyone find a solution for this?



Re: bad udp cksum

By Simon Matter at 08/10/2018 - 03:34

You can configure the ETHTOOL_OPTS option in the ifcfg files to
automatically assign settings on startup.