summaryrefslogtreecommitdiffstats
path: root/sys/dev/sge
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/sge
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/sge')
-rw-r--r--sys/dev/sge/if_sgereg.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/sge/if_sgereg.h b/sys/dev/sge/if_sgereg.h
index 81b1568..a72d1a5 100644
--- a/sys/dev/sge/if_sgereg.h
+++ b/sys/dev/sge/if_sgereg.h
@@ -284,7 +284,7 @@ struct sge_desc {
#define SGE_RX_RING_CNT 256 /* [8, 1024] */
#define SGE_TX_RING_CNT 256 /* [8, 8192] */
#define SGE_DESC_ALIGN 16
-#define SGE_MAXTXSEGS 32
+#define SGE_MAXTXSEGS 35
#define SGE_TSO_MAXSIZE (65535 + sizeof(struct ether_vlan_header))
#define SGE_TSO_MAXSEGSIZE 4096
#define SGE_RX_BUF_ALIGN sizeof(uint64_t)
OpenPOWER on IntegriCloud