diff options
author | yongari <yongari@FreeBSD.org> | 2014-03-31 01:54:59 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2014-03-31 01:54:59 +0000 |
commit | e1b5ce307a401cee03e8762e864442953d82c590 (patch) | |
tree | 74de747b83372a8f57da81c4b04485edfa799ecc /sys/dev/bce | |
parent | eebc91c3f07da2be029d067225ea5126070dce16 (diff) | |
download | FreeBSD-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.h | 4 |
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 |