diff options
author | Sean Bruno <sbruno@FreeBSD.org> | 2017-11-09 22:26:49 +0000 |
---|---|---|
committer | Sean Bruno <sbruno@FreeBSD.org> | 2017-11-09 22:26:49 +0000 |
commit | c28d08e50c7835ac7b3593c49c2ee397efb67d01 (patch) | |
tree | 29696771a099b536d21d81d8602762b15cfd8112 /sys/dev/bnxt | |
parent | 13ea077996f6e156ec0d0b0d7b7d4edca5f4a8f7 (diff) | |
download | src-c28d08e50c7835ac7b3593c49c2ee397efb67d01.tar.gz src-c28d08e50c7835ac7b3593c49c2ee397efb67d01.zip |
Fix issue with VXLAN-ecapsulated rx h/w checksumming.
Submitted by: grehan
Reviewed by: bhargava.marreddy@broadcom.com
Differential Revision: https://reviews.freebsd.org/D12976
Notes
Notes:
svn path=/head/; revision=325620
Diffstat (limited to 'sys/dev/bnxt')
-rw-r--r-- | sys/dev/bnxt/bnxt_txrx.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/bnxt/bnxt_txrx.c b/sys/dev/bnxt/bnxt_txrx.c index e3ba37548a21..165b893dc5af 100644 --- a/sys/dev/bnxt/bnxt_txrx.c +++ b/sys/dev/bnxt/bnxt_txrx.c @@ -501,9 +501,11 @@ bnxt_pkt_get_l2(struct bnxt_softc *softc, if_rxd_info_t ri, if (!(errors & RX_PKT_CMPL_ERRORS_IP_CS_ERROR)) ri->iri_csum_flags |= CSUM_IP_VALID; } - if (flags2 & RX_PKT_CMPL_FLAGS2_L4_CS_CALC) { + if (flags2 & (RX_PKT_CMPL_FLAGS2_L4_CS_CALC | + RX_PKT_CMPL_FLAGS2_T_L4_CS_CALC)) { ri->iri_csum_flags |= CSUM_L4_CALC; - if (!(errors & RX_PKT_CMPL_ERRORS_L4_CS_ERROR)) { + if (!(errors & (RX_PKT_CMPL_ERRORS_L4_CS_ERROR | + RX_PKT_CMPL_ERRORS_T_L4_CS_ERROR))) { ri->iri_csum_flags |= CSUM_L4_VALID; ri->iri_csum_data = 0xffff; } |