summaryrefslogtreecommitdiffstats
path: root/sys/dev/bce
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2014-03-31 01:54:59 +0000
committeryongari <yongari@FreeBSD.org>2014-03-31 01:54:59 +0000
commite1b5ce307a401cee03e8762e864442953d82c590 (patch)
tree74de747b83372a8f57da81c4b04485edfa799ecc /sys/dev/bce
parenteebc91c3f07da2be029d067225ea5126070dce16 (diff)
downloadFreeBSD-src-e1b5ce307a401cee03e8762e864442953d82c590.zip
FreeBSD-src-e1b5ce307a401cee03e8762e864442953d82c590.tar.gz
Increase the number of TX DMA segments from 32 to 35. It turned
out 32 is not enough to support a full sized TSO packet. While I'm here fix a long standing bug introduced in r169632 in bce(4) where it didn't include L2 header length of TSO packet in the maximum DMA segment size calculation. In collaboration with: rmacklem MFC after: 2 weeks
Diffstat (limited to 'sys/dev/bce')
-rw-r--r--sys/dev/bce/if_bcereg.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/bce/if_bcereg.h b/sys/dev/bce/if_bcereg.h
index 5b76f8c..88c40a5 100644
--- a/sys/dev/bce/if_bcereg.h
+++ b/sys/dev/bce/if_bcereg.h
@@ -6309,8 +6309,8 @@ struct fw_info {
#define BCE_TX_TIMEOUT 5
-#define BCE_MAX_SEGMENTS 32
-#define BCE_TSO_MAX_SIZE 65536
+#define BCE_MAX_SEGMENTS 35
+#define BCE_TSO_MAX_SIZE (65535 + sizeof(struct ether_vlan_header))
#define BCE_TSO_MAX_SEG_SIZE 4096
#define BCE_DMA_ALIGN 8
OpenPOWER on IntegriCloud