Subject: broken ipv6 tcp csum offload on thunderx

From: Florian Westphal <[email-masked]>
Date: Wed, 22 Nov 2017 09:54:22 +0100

Hi.

We are experiencing broken ipv6 connectivity with 4.14 kernel
on arm64 with thunderx.

ping6 still works, but it looks like tcp syn packets get sent
with a wrong checksum -- socket remains in SYN-SENT state.

after running

ethtool -K enP2p1s0f1 tx-checksum-ipv6 off

ipv6 tcp appears to works fine.

# ethtool -i enP2p1s0f1
driver: thunder-nicvf
version: 1.0
firmware-version: 
expansion-rom-version: 
bus-info: 0002:01:00.1
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

[0.000000] Boot CPU: AArch64 Processor [431f0a10]
[0.000000] Machine model: cavium,thunder-88xx
[0.000000] efi: Getting EFI parameters from FDT:
[0.000000] efi: EFI v2.40 by Cavium Thunder cn88xx EFI ThunderX-Firmware-Release-1.22.17 Sep 21 2017 14:26:28
[0.000000] efi:  ACPI=0xffff0000  ACPI 2.0=0xffff0014 SMBIOS=0xffef0000  SMBIOS 3.0=0x10ffaf30000  ESRT=0x10fff673e18

What other information do you need to debug this?

Thanks,
	Florian