On 02-06-2020 21:29, Jakub Kicinski wrote: > On Tue, 2 Jun 2020 21:22:11 +0200 Victor Julien wrote: >> - receiver uses nfp (netronome) driver: TP_STATUS_CSUM_VALID set for >> every packet, including the bad TCP ones >> - receiver uses ixgbe driver: TP_STATUS_CSUM_VALID not set for the bad >> packets. >> >> Again purely based on 'git grep' it seems nfp does not support >> UNNECESSARY, while ixgbe does. >> >> (my original testing was with the nfp only, so now I at least understand >> my original thinking) > > FWIW nfp defaults to CHECKSUM_COMPLETE if the device supports it (see > if you have RXCSUM_COMPLETE in the probe logs). It supports UNNECESSARY > as well, but IDK if there is a way to choose the preferred checksum > types in the stack :( You'd have to edit the driver and remove the > NFP_NET_CFG_CTRL_CSUM_COMPLETE from the NFP_NET_CFG_CTRL_RXCSUM_ANY > mask to switch to using UNNECESSARY. > I indeed have RXCSUM_COMPLETE, so that should mean it uses CHECKSUM_COMPLETE indeed. nfp 0000:43:00.0 eth0: CAP: 0x78140233 PROMISC RXCSUM TXCSUM GATHER TSO2 RSS2 AUTOMASK IRQMOD RXCSUM_COMPLETE -- --------------------------------------------- Victor Julien http://www.inliniac.net/ PGP: http://www.inliniac.net/victorjulien.asc ---------------------------------------------