aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Bruno <sbruno@FreeBSD.org>2017-11-09 22:26:49 +0000
committerSean Bruno <sbruno@FreeBSD.org>2017-11-09 22:26:49 +0000
commitc28d08e50c7835ac7b3593c49c2ee397efb67d01 (patch)
tree29696771a099b536d21d81d8602762b15cfd8112
parent13ea077996f6e156ec0d0b0d7b7d4edca5f4a8f7 (diff)
downloadsrc-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
-rw-r--r--sys/dev/bnxt/bnxt_txrx.c6
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;
}