diff options
author | Andrew Rybchenko <arybchik@FreeBSD.org> | 2018-11-30 07:05:23 +0000 |
---|---|---|
committer | Andrew Rybchenko <arybchik@FreeBSD.org> | 2018-11-30 07:05:23 +0000 |
commit | 5037810f7e46272812a8521397e47190dec308ee (patch) | |
tree | 5301f7bc51f32c265d473a3600286382bcff91c4 /sys/dev/sfxge/common/medford_nic.c | |
parent | 6b231fec923a354e6f75e8c924350cec3ddc46c3 (diff) |
sfxge(4): add information if TSO workaround is required
In SF bug 61297 it's been confirmed that the hardware does not always
calculate the TCP checksum correctly with TSO sends.
The value of the Total Length field (IPv4) or Payload Length field
(IPv6) is the critical factor. We're sufficiently confident that if
these fields are zero then the checksum will be calculated correctly.
The information may be used by the drivers to check if the workaround is
required when FATSOv2 is implemented.
Submitted by: Mark Spender <mspender at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18258
Notes
Notes:
svn path=/head/; revision=341296
Diffstat (limited to 'sys/dev/sfxge/common/medford_nic.c')
-rw-r--r-- | sys/dev/sfxge/common/medford_nic.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/sfxge/common/medford_nic.c b/sys/dev/sfxge/common/medford_nic.c index 7fe13958071f..6790704678ce 100644 --- a/sys/dev/sfxge/common/medford_nic.c +++ b/sys/dev/sfxge/common/medford_nic.c @@ -121,6 +121,9 @@ medford_board_cfg( else goto fail1; + /* Checksums for TSO sends can be incorrect on Medford. */ + encp->enc_bug61297_workaround = B_TRUE; + /* Get clock frequencies (in MHz). */ if ((rc = efx_mcdi_get_clock(enp, &sysclk, &dpcpu_clk)) != 0) goto fail2; |